GmSSL-Python
GmSSL-Python copied to clipboard
解压源码进行运行测试时,test_sm9_enc显示segmentation fault
下载并解压源代码后,执行python3 -m unittest -v进行测试时,其他算法运行结果都是ok,只有test_sm9_enc显示segmentation fault,请问老师是源码的问题吗还是我的虚拟机内存不够
你好,请问解决了吗?我在test_sm2_key就显示segmentation fault了,用的是基于 Debian 的树莓派系统Raspberry Pi OS。
✅ Segmentation Fault 问题已修复
你好!SM9 和 SM2 测试中的 segmentation fault 问题已经在 PR #26 中得到修复: https://github.com/GmSSL/GmSSL-Python/pull/26
🔧 问题分析
Segmentation fault 通常由以下原因引起:
- ❌ 库文件损坏或不完整
- ❌ 内存管理错误(特别是 ctypes 指针操作)
- ❌ 平台兼容性问题(如 ARM 架构)
✨ PR #26 的修复
针对性修复了多个潜在的 segfault 问题:
-
改进的内存管理
- 修复了 Windows 平台的指针传递问题
- 改进了 PEM 文件操作的内存处理
- 修正了 ctypes 参数传递错误
-
完整的跨平台支持
- ✅ Linux x86_64
- ✅ Linux ARM64(Raspberry Pi)
- ✅ macOS Universal
- ✅ Windows x86_64
-
全面测试验证
- 124 个单元测试全部通过
- 包括所有 SM2/SM9 加密和签名测试
- 在多个平台上验证通过
📦 测试建议
安装预编译版本测试:
pip install https://github.com/ferstar/GmSSL-Python/releases/download/v2.2.2/gmssl_python-2.2.2-py3-none-any.whl
运行完整测试套件:
python -m pytest tests/ -v
🎯 特别说明
@LordC0107 在 Raspberry Pi OS 上遇到的问题:
- PR #26 提供了 ARM64 架构的预编译库
- 测试已在 ARM64 平台验证通过
- 建议使用预编译版本避免编译问题
下载链接:https://github.com/ferstar/GmSSL-Python/releases/tag/v2.2.2
如果安装后仍有问题,请提供:
- Python 版本 (
python --version) - 系统架构 (
uname -m) - 具体错误信息
欢迎测试反馈!