【发布时间】:2014-07-25 10:07:36
【问题描述】:
当我在命令行中运行python(不带任何参数)时,会发生分段错误。
错误是:
$ python
[1] 11094 segmentation fault python2.7
还有 linux 内核陷阱:
$ dmesg
traps: python2[10923] general protection ip:4db605 sp:7fffe4b29e70 error:0 in python2.7[400000+2ba000
$gdb python
Program received signal SIGSEGV, Segmentation fault.
0x00000000004db605 in PyDict_SetItemString ()
(gdb) backtrace
#0 0x00000000004db605 in PyDict_SetItemString ()
#1 0x000000000044719b in _PyExc_Init ()
#2 0x000000000046928e in Py_InitializeEx ()
#3 0x0000000000469db3 in Py_Main ()
#4 0x00007ffff7816de5 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00000000005735fe in _start ()
objdump -d /usr/bin/python2.7 | less的选定部分
4db5f7: 0f 84 a6 02 00 00 je 4db8a3 <PyDict_SetItemString+0x323>
4db5fd: 4d 8b 48 08 mov 0x8(%r8),%r9
4db601: 41 83 00 01 addl $0x1,(%r8)
4db605: 4d 8b 11 mov (%r9),%r10
4db608: 4d 89 cc mov %r9,%r12
4db60b: 4d 85 d2 test %r10,%r10
4db60e: 4d 89 50 08 mov %r10,0x8(%r8)
我的机器规格是:
- Linux Mint 16(64 位)
- 内存:8GB(6GB 是免费的)
- 我在 SSD (64 GB) 昨晚上安装了 Mint,1TB HDD
- CPU:酷睿 I5 4670k
- Linux 内核:Linux mint 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
我尝试在我的机器上安装新的 kubuntu 14.04(作为另一种解决方案,将发行版升级到 mint 17),但不幸的是发行版崩溃了。
有人可以说,为什么会发生错误?我该如何解决?
我想知道是否有人帮助我解决问题。 (我知道什么是 segsegv,但我不知道 知道为什么在全新安装 linux 时会出现此错误)
Google-Chrome、Java 等程序也存在同样的问题。
谢谢
【问题讨论】:
-
很容易成为我见过的信息量最大的非编程 Python 问题 C/c++ 语言标签无法承受(它们不真正适用)支持你抓取公牛的角。我也对源代码和解决方案感兴趣(没有特别的原因)。
-
有趣。当您运行脚本而不是外壳时,它是否仍然存在段错误? iPython 有段错误吗?您是否使用任何特殊标志构建了可执行文件?假设你做了一些 C 编程——你的系统上是否有任何会与
malloc混淆的东西——例如替代实施?我至少在 Ubuntu 上知道操作系统使用了 python——你有随机可执行文件段错误的问题,或者 Mint 的频繁错误消息吗? “示例问题”是什么意思? -
@PatrickCollins 当我发送这篇文章时,我的浏览器(Google-Chrome)崩溃了 8 次,并显示相同的陷阱消息。当我尝试保存 Android 的虚拟设备时,segsegv 也在上升。我尝试安装 ipython 但安装停止,因为 pycompile 崩溃了。每次都会出现这个问题。
-
@Ocean 你能
apt-get install python3看看是否有效吗?除非您做了一些奇怪的事情,否则听起来这可能是一个 Python 错误——您可能需要提交错误报告。 -
@PatrickCollins Python3 安装好了,但是没有问题。我使用Mercurial-HG作为我的版本控制,hg基于python2.7。
标签: python linux crash segmentation-fault linux-mint