Open
Description
From @mjambon on May 27, 2018 1:36
From @josch on March 20, 2015 11:11
Hi,
when running my code on 32bit architectures, then for big output I'm getting the following traceback:
Fatal error: exception Failure("oops")
Raised at file "pervasives.ml", line 20, characters 22-33
Called from file "write.ml", line 52, characters 2-24
Called from file "datatypes_j.ml", line 52, characters 4-47
Called from file "ag_oj_run.ml", line 19, characters 1-6
Called from file "ag_oj_run.ml", line 43, characters 2-39
Called from file "ag_oj_run.ml", line 19, characters 1-6
Called from file "ag_oj_run.ml", line 43, characters 2-39
Called from file "ag_oj_run.ml", line 19, characters 1-6
Called from file "ag_oj_run.ml", line 43, characters 2-39
Called from file "ag_oj_run.ml", line 25, characters 1-6
Called from file "ag_oj_run.ml", line 43, characters 2-39
Called from file "datatypes_j.ml", line 2324, characters 4-62
Called from file "datatypes_j.ml", line 2332, characters 2-18
I am running Debian unstable and have the following versions installed:
- libatdgen-ocaml-dev 1.3.1-1+b1
- libyojson-ocaml-dev 1.1.8-1
- libbiniou-ocaml-dev 1.0.9-1
I was told in the #debian-ocaml IRC channel that this problem might be caused by 32bit architectures not supporting very large strings (>= 8MB) and I observe the problem for instances that would create a 53MB json file on a 64bit platform.
I'm also unsure where exactly the problem should be fixed. Maybe this is actually a biniou problem as that library uses a mutable string as a buffer internally?
Copied from original issue: mjambon/atdgen#29
Copied from original issue: ahrefs/atd#103