Segfault读取延迟字节串超过2 ^ 18个字节

kva*_*nck 11 haskell mmap lazy-evaluation ghc bytestring

请考虑以下代码:http://hpaste.org/90394

我将内存映射到一个大的460mb文件到一个懒惰的ByteString.ByteString报告的长度471053056.

何时nxNodeFromID file 110000更改为较低的节点ID,即:10000,它完美地工作.然而; 一旦我尝试序列化任何过去正好2 ^ 18字节(262144)的ByteString,我得到Segmentation fault/access violation in generated code并终止.

我正在运行Windows并使用GHC 7.4.2.

请告知这是我的错,还是懒惰的问题,或Haskell的一些问题.

Gra*_*lak 1

请注意,我已更新 mmap 以在代码中的战略点正确包含 NOINLINE pragma。mmap-0.5.9 可供获取。如果问题仍然存在,请告诉我。编辑:是的,我是 mmap 的作者。