Uncaught exception: Uncaught exception: File "jc/jc_interp.ml", line 897, characters 11-17: Assertion failed
ID0000306: This issue was created automatically from Mantis Issue 306. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0000306 | Frama-C | Plug-in > jessie | public | 2009-10-27 | 2014-02-12 |
Reporter | murat | Assigned To | cmarche | Resolution | fixed |
Priority | normal | Severity | crash | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Beryllium-20090902 | Target Version | - | Fixed in Version | - |
Description :
Following line causes this error:
return (*(unsigned char *)s1 - *(unsigned char *)--s2);
in following function (specs removed for clarity - and because they don't affect the issue):
int strcmp(const char *s1, const char *s2)
{
while (*s1 == *s2++)
if (*s1++ == 0)
return (0);
return (*(unsigned char *)s1 - *(unsigned char *)--s2);
}
Replacing this line with this works but I cannot touch the code: return ((unsigned char)s1 - (unsigned char)(--s2));
Full error: [kernel] preprocessing with "gcc -C -E -I. -include e:/frama-c/share/frama-c/je ssie/jessie_prolog.h -dD strcmp.c" [jessie] Starting Jessie translation [jessie] Producing Jessie files in subdir strcmp.jessie [jessie] File strcmp.jessie/strcmp.jc written. [jessie] File strcmp.jessie/strcmp.cloc written. [jessie] Calling Jessie tool in subdir strcmp.jessie File "jc/jc_interp.ml", line 897, characters 11-11: Uncaught exception: File "jc/jc_interp.ml", line 897, characters 11-17: Assertio n failed [jessie] user error: Jessie subprocess failed: jessie -why-opt -split-user-c onj -v -locs strcmp.cloc strcmp.jc
Additional Information :
I'm using the bundle: Frama-C Beryllium 2 Source distribution including Why-2.21 and Jessie.
This is a blocker to use the tool as changing the code is not an option.
command line: frama-c -jessie -pp-annot -cpp-extra-args " -include e:/fama-c/share/frama-c/jessie/jessie_prolog.h" strcmp.c