Ubuntu 22.04.03下Python 3.10.12启动崩溃:double free错误求助
解决Python解释器启动时"double free or corruption (out)"崩溃问题
以下是针对Ubuntu 22.04.03 + Python 3.10.12场景的排查和修复步骤:
检查系统依赖库冲突
这类内存错误常和系统库版本不兼容有关,先验证关键依赖:- 执行
ldd $(which python3.10)查看Python链接的系统库,重点关注libc.so.6、libpthread.so.0等核心库的版本 - 运行
apt list --installed | grep libc6确认glibc版本,Ubuntu 22.04默认是2.35,若版本异常,执行sudo apt install --reinstall libc6修复
- 执行
重新编译/替换Python版本
如果是通过源码编译的Python,可能编译过程中存在问题:- 先卸载当前Python 3.10:
sudo apt remove --purge python3.10 python3.10-minimal - 使用ppa安装官方维护的版本:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.10 python3.10-dev - 验证安装:
python3.10 -c "print('Hello World')",若正常运行则问题解决
- 先卸载当前Python 3.10:
排查用户目录下的Python配置干扰
个人目录的配置文件可能引发冲突:- 临时切换到干净环境启动Python:
env -i HOME=/tmp python3.10 - 若此方式能正常启动,说明用户目录下的
.pythonrc、site-packages中的第三方包有问题,逐一排查删除可疑文件/包
- 临时切换到干净环境启动Python:
检查核心转储文件分析崩溃原因
利用core dump定位具体崩溃点:- 先开启core dump:
ulimit -c unlimited - 再次启动Python触发崩溃,生成core文件
- 使用gdb分析:
gdb python3.10 core,执行bt查看调用栈,找到引发崩溃的具体模块
- 先开启core dump:
注意:如果是系统自带的Python版本,尽量避免直接修改,优先用ppa安装独立版本隔离问题。
内容的提问来源于stack exchange,提问作者argentum_109
相关产品推荐
相关产品推荐

