Skip to content

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.


Id Project Category View Due Date Updated
ID0000522 Frama-C Kernel public 2010-06-28 2011-10-10
Reporter Jochen Assigned To virgile Resolution fixed
Priority normal Severity crash Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C Boron-20100401 Target Version - Fixed in Version Frama-C Nitrogen-20111001

Description :

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.)

Attachments

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information