Go编译版本导致执行程序Segmentation fault
- 最近开发 G 语言嵌入式程序,总是提示“Segmentation fault”;
- 使用 strace 跟踪排查发现 ENOMEM,内存不足;
![]()
- 使用 readelf -l XXXX | grep -E "LOAD|GNU_STACK"分析文件内存占用,发现有一项占用很大,大概 33MB;
- 后续进行一般排查,发现式 Go 版本导致
原因分析
这是 Go 1.26 新增的 FIPS 140 加密模块的 DRBG(确定性随机位生成器)内存池。这个模块在 Go 1.26 中被引入,用于提供符合 FIPS 140 标准的加密随机数生成。

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

