使用Python/Chrome/Java进行分段错误(linux mint)

Oce*_*ean 7 python linux crash segmentation-fault linux-mint

当我python在命令行中运行(没有任何参数)时,会发生分段错误.

错误是:

$ python
[1]    11094 segmentation fault  python2.7
Run Code Online (Sandbox Code Playgroud)

并且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 ()
Run Code Online (Sandbox Code Playgroud)

选定部分 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)
Run Code Online (Sandbox Code Playgroud)

我的机器规格是:

  • Linux Mint 16(64位)
  • Ram:8GB(6 GB免费)
  • 昨晚在SSD(64 GB)安装了Mint ,1TB硬盘
  • CPU:Core I5 4670k
  • Linux内核:Linux薄荷3.11.0-12-通用#19-Ubuntu SMP Wed 10月9日16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我试图在我的机器上安装新的kubuntu 14.04(作为另一种解决方案,将分发升级到薄荷17)但不幸的是,分发已经崩溃.

有人可以说,为什么会发生错误?我该如何解决?

我想知道是否有人帮助我解决问题.(我知道什么是segsegv,但我不知道为什么在新安装的linux中会出现这个错误)

Google-Chrome,Java和其他程序存在同样的问题.

谢谢

Pat*_*ins 1

This is not an explanation as to why your python is currently crashing -- unless you have some strange configuration on your system that you haven't mentioned, it appears to be a python bug -- but here's a possible fix:

我只能猜测当你安装 python 时有些东西被损坏了。理想的解决方案是卸载并重新安装,但这很痛苦,因为有大量系统关键程序都依赖 python。因此,您可以按照此处的说明找到您删除的所有内容并重新安装。这是我的建议:

  1. sudo apt-get purge python2.7

    您将收到一长串要删除的软件包的列表,这没关系。让它们被删除。

  2. sudo apt-get install python2.7

    重新安装Python。现在,重新安装旧的已删除的软件包:

  3. grep Remove /var/log/apt/history.log | tail -n1 | cut -d: -f2- | sed "s/(.*)//g" | sed "s/:your_processor//g"

    这是您最近删除的软件包的列表,您现在可以将其apt-get重新安装。:your_processor是 apt 列出的架构,对我来说,是:amd64.

请注意,这是一个相当危险的操作。

另外,看到你的评论——看来你的内存不好。这是硬件问题。重新安装可能会修复它,但问题会再次出现 - 更换有问题的棒。如果这是一台新机器,它可能在保修范围内。假设您自己组装了机器,还要检查插槽中是否有灰尘等。这是一篇超级用户帖子,解释了为什么内存测试失败是一个大问题