size of long array can't be represented with OCaml int
ID0000522: This issue was created automatically from Mantis Issue 522. Further discussion may take place here.
|Product Version||Frama-C Boron-20100401||Target Version||-||Fixed in Version||Frama-C Nitrogen-20111001|
When running the attached program, Jessie asked me to report a 'crash':
liveness_test.c:57:[jessie] failure: Unexpected exception. Please submit bug report (Ref. "Cil.SizeOfError("Array is so long that its size can't be represented with an OCaml int.", _)"). [kernel] The full backtrace is: Raised at file "src/kernel/log.ml", line 506, characters 30-31 Called from file "src/kernel/log.ml", line 500, characters 2-9 Re-raised at file "src/kernel/log.ml", line 503, characters 8-9 Called from file "src/lib/type.ml", line 746, characters 40-45 Called from file "queue.ml", line 134, characters 6-20 Called from file "src/kernel/boot.ml", line 50, characters 4-20 Called from file "src/kernel/cmdline.ml", line 170, characters 4-8
Plug-in jessie aborted because of an internal error. Please report as 'crash' at http://bts.frama-c.com
In fact, the array "hist" in line 52 has a size of (4+4+4)*16777215=201326580, which is beyond the max value of a signed int. I'll just decrease the upper bound of that array as a workaround. (By the way: gcc has similar problems with large arrays.)