Рассмотрим следующий код: http://hpaste.org/90394Segfault чтения ленивый байтовой строки мимо 2^18 байт
Я памяти отображение большого 460mb файл ленивой байтовой строки. Длина отчетов ByteString 471053056
.
Когда изменен на идентификатор нижнего узла, то есть: 10000
, он отлично работает. Однако; как только я попробую и сериализую что-нибудь прошлое ровно 2^18 байт (262144
) ByteString, я получаю Segmentation fault/access violation in generated code
и завершение.
Я запускаю Windows и используя GHC 7.4.2.
Просьба сообщить, является ли это моей ошибкой или какой-либо проблемой с лени или какой-либо проблемой с Haskell.
Ваш 'getNXNode' не соответствует определению данных' NXNode'. Если это преднамеренно, то стоит отметить комментарий. Но я не вижу, как это может вызвать segfault здесь. –
@DanielFischer 'NXNode 0 <$> ...' :) – kvanberendonck
Да, но вы пропустите 20 байтов и читаете только 12 на узел. –