victor
发布于

Go编译版本导致执行程序Segmentation fault

  1. 最近开发 G 语言嵌入式程序,总是提示“Segmentation fault”;
  2. 使用 strace 跟踪排查发现 ENOMEM,内存不足;
  3. 使用 readelf -l XXXX | grep -E "LOAD|GNU_STACK"分析文件内存占用,发现有一项占用很大,大概 33MB;
  4. 后续进行一般排查,发现式 Go 版本导致

原因分析
这是 Go 1.26 新增的 FIPS 140 加密模块的 DRBG(确定性随机位生成器)内存池。这个模块在 Go 1.26 中被引入,用于提供符合 FIPS 140 标准的加密随机数生成。

问题对策
使用 Go 1.25.7 版本后,问题解决

浏览 (4) 点赞 收藏 分享
评论