Python/Chrome/Java(linux mint)的分段错误
当我在命令行中运行Python/Chrome/Java(linux mint)的分段错误,python,linux,crash,segmentation-fault,linux-mint,Python,Linux,Crash,Segmentation Fault,Linux Mint,当我在命令行中运行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
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)
4db5f7:0f 84 a6 02 00 00 je 4db8a3
4db5fd:4d 8b 48 08 mov 0x8(%r8),%r9
4db601:41 83 00 01添加$0x1,(%r8)
4db605:4D8B11 mov(%r9),%r10
4db608:4d 89 cc mov%r9%r12
4db60b:4d 85 d2测试%r10,%r10
4db60e:4d 89 50 08 mov%r10,0x8(%r8)
我的机器规格是:
- Linux Mint 16(64位)
- 内存:8GB(6GB是免费的)
- 昨晚我在SSD上安装了Mint(64 GB),1TB硬盘
- CPU:核心I5 4670k
- Linux内核:Linux mint 3.11.0-12-generic 19 Ubuntu SMP周三10月9日16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
感谢这并不是对python当前崩溃原因的解释——除非您的系统上有一些您没有提到的奇怪配置,这似乎是python错误——但这里有一个可能的修复方法: 我只能猜测,当您安装python时,某些内容已损坏。理想的解决方案是卸载并重新安装,但这是一个难题,因为有大量系统关键型程序依赖python。因此,您可以按照查找您删除的所有内容并重新安装。以下是我的建议:
sudo apt get purge python2.7
您将得到一个很长的要删除的包列表,这没关系。让他们被删除sudo apt get安装python2.7
重新安装python。现在,重新安装已删除的旧软件包:grep Remove/var/log/apt/history.log | tail-n1 | cut-d:-f2-| sed“s/(*)//g“| sed”s/:您的处理器//g”
这是您最近删除的软件包列表,您现在可以将其交给apt get
重新安装<代码>:您的处理器是apt列出的体系结构,对我来说,它是:amd64
另外,看到你的评论——看起来你的内存不好。这是一个硬件问题。重新安装可能会修复它,但问题会再次出现——请更换有问题的棍子。如果这是一台新机器,它可能会在您的保修范围内。同时检查插槽中是否没有灰尘等,假设机器是您自己制造的 很容易,这是我见过的信息量最大的非编程Python问题,c/c++语言标记无法抵挡(它们实际上并不适用)你抓住牛角的道具。我也对源代码和解决方案感兴趣(没有特别的原因)。很有趣。当您运行脚本而不是shell时,它是否仍然会出错?伊皮顿·塞格有过错吗?您是否使用任何特殊标志构建了可执行文件?假设您做了一些C编程——您的系统中是否有任何东西会干扰
malloc
——例如替代实现?我知道至少在Ubuntu上,python是由操作系统使用的——你对随机可执行文件的分段错误或来自Mint的频繁错误消息有问题吗?你所说的“样本问题”是什么意思?@PatrickCollins当我发送这篇文章时,我的浏览器(Google Chrome)因同一条消息崩溃了8次。当我试图保存Android的虚拟设备时,SEGV也在上升。我试图安装ipython,但由于pycompile崩溃,安装停止。这个问题每次都会发生。@Ocean您能安装python3
并看看是否有效吗?除非您做了一些奇怪的事情,否则听起来这可能是Python错误——您可能需要提交错误报告。@PatrickCollins Python3已安装,但没有问题。我使用Mercurial HG作为我的版本控制,HG基于python2.7。我尝试了您的指令,但删除操作被停止,因为dpkg返回了一个错误。我尝试通过GRUB_BADRAM=“0xc0f00000,0xfff00000”选项跳过坏内存,但它不起作用。@如果您有硬件问题,您需要更换坏内存,因为没有其他解决方案。(同时——欢迎来到SO!您的问题写得很好,并且显示出了极大的努力。请确保投票并接受您认为有用的答案。)