跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

文本IO输入全部读取980M文件时出现segfaults #283

已关闭
12项任务中的2项
蛇7776已打开此问题2023年9月24日·3条评论
已关闭
12项任务中的2项

文本IO输入全部读取980M文件时出现segforms #283

蛇7776已打开此问题2023年9月24日·3条评论
受让人
标签
基本库 标准ML Basis库的问题 缺陷 有些东西不起作用了 固定在110.99.5中 将在110.99.5版本中修复的问题 气相色谱法 垃圾收集器出现问题

评论

@蛇7776
复制链接

版本

110.99.4(最新)

操作系统

  • 任何
  • Linux操作系统
  • macOS系统
  • 窗户
  • 其他Unix

操作系统版本

Linux弧5.10.194-1-MANJARO#1SMP PREEMPT 9月2日星期六20:55:57 UTC 2023 x86_64 GNU/Linux

处理器

  • 任何
  • 手臂(使用罗塞塔)
  • PowerPC公司
  • 斯巴达克
  • x86(32位)
  • x86-64(64位)
  • 其他

系统组件

基础库

严重程度

专业

描述

使用TextIo.inputAll读取980M文件时出现inputAll段错误。

成绩单

$truncate-s 9.8亿输入$smlnj美元fgrep:警告:fgrep已过时;使用grep-F新泽西州标准ML(64位)v110.99.4[建造日期:2023年8月8日星期二11:25:21]-val f=TextIO.openIn“输入”;[自动加载][库$SMLNJ-BASIS/BASIS.cm稳定][库$SMLNJ-BASIS/(BASIS.cm):BASIS-common.cm稳定][自动加载完成]val f=-:TextIO.instream-val s=TextIO.inputAll f;/usr/lib/smlnj/bin/sml:致命错误--ML中没有伪错误:pc=0x55723ef19685,sig=11

预期行为

文件被正确读取,没有segfault。

复制步骤

$truncate-s 9.8亿输入百万美元-val f=文本IO.openIn"输入";-val s=文本IO.inputAll f;/usr/lib/smlnj/bin/sml:致命错误--没有伪错误在里面ML:pc=0x55723ef19685,信号=11

其他信息

可以在FreeBSD DaemONX 12.4-RELEASE-p3 FreeBSD12.4-RELEASE-p3 GENERIC amd64上复制此版本,版本为新泽西州标准ML(64位)v110.98[制造日期:2022年8月21日星期日21:39:28]

电子邮件地址

serpent7776\at gmail\dot com

@蛇7776 蛇7776补充这个缺陷 有些东西不起作用了标签2023年9月24日
@JohnReppy公司 JohnReppy公司补充这个基本库 标准ML Basis库的问题标签2023年9月24日
@JohnReppy公司
复制链接
贡献者

我想虫子在里面运行时/gc/flip。c(c); 新的字符串竞技场要求的大小似乎太小了。

@JohnReppy公司 JohnReppy公司补充这个气相色谱法 垃圾收集器出现问题标签2023年9月26日
@JohnReppy公司
复制链接
贡献者

实际的故障阈值实际上略低于384M=(0x18000000)。如果我们尝试402653176(即更小8个字节),则会得到不同的错误:

/usr/local/smlnj/bin/sml:致命错误--错误的字符串标记1,obj=0x121240000,desc=0x86

一个显示错误的简单测试是使用不安全的。CharVector.create字符矢量创建以创建一个大型字符串对象。例如:

新泽西州标准ML(64位)v110.99.4[建造日期:2023年8月1日星期二16:07:38]-不安全。CharVector.create 402653176;[自动加载][库$SMLNJ-BASIS/BASIS.cm稳定][库$SMLNJ-BASIS/(BASIS.cm):BASIS-common.cm稳定][自动加载完成]验证一下="\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@\^@#"存储器故障

@JohnReppy公司 JohnReply公司补充这个固定在110.99.5中 将在110.99.5版本中修复的问题标签2024年3月1日
@JohnReppy公司
复制链接
贡献者

实际上,问题是我们仍然使用32位整数来表示一些大小信息。切换到使用文字(_t)运行时系统中数组/向量长度的类型似乎解决了这个问题。该修复将包含在110.99.5中。

@JohnReppy公司 JohnReppy公司更改了标题读取980M文件时TextIO.input所有段错误 文本IO输入全部读取980M文件时出现segfaults 2024年3月1日
免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
标签
基本库 标准ML Basis库的问题 缺陷 有些东西不起作用了 固定在110.99.5中 将在110.99.5版本中修复的问题 气相色谱法 垃圾收集器出现问题
项目
还没有
开发

没有分支或拉请求

2名参与者