Linux(Debian unstable)系统:一些应用程序无缘无故开始了分割

我有一个运行在Xen 3.4.2主机上的Debian Unstable的Xen domU。

今天早上我注意到,各种应用程序已经开始分段。

尤其是运行“aptitude safe-upgrade”会导致aptitude-curses出现segfault错误:

aptitude[1035]: segfault at 7f1006ed13f8 ip 0000000000544293 sp 00007fff94b37140 error 4 in aptitude-curses[400000+331000] 

这段错误是完全可重复的。

其他应用程序(如reportbug,并尝试login到KDE)也导致可重现的段错误。

我有另一个Xen domU运行相同的Xen主机上的Debian不稳定,运行相同的内核(2.6.32.2),但运行“aptitude安全升级”不会导致段错误。 这两个domUs似乎都是相同的,但只有其中一个segfaults。 这里有一些要注意的地方:

  • 两个domU使用完全相同的内核(64位)
  • 两者对于/ usr / bin / aptitude-curses和依赖的所有共享库都有相同的二进制文件(我使用md5sum比较两个系统上的文件,ldd查看aptitude依赖哪个共享库)
  • 我在有问题的domU根卷上做了e2fsck -f,没有报告错误
  • 两个domU都有相同数量的RAM和VCPU分配给它们
  • 我知道segfaults可能指向硬件故障,但考虑到这些segfaults是可重复的,并且一个等效的domU没有问题(即使我改变domU的创build顺序,希望强制每个占用物理的不同部分RAM),它强烈build议硬件不是问题
  • 我也想知道是否一些文件是腐败的,但正如我所说的能力和所有依赖库(由LDD报告)似乎确定
  • 我已经多次重启问题domU,并重新启动主机Xen操作系统一次
  • 我已经尝试在单用户模式下启动segfaulting domU(通过在/ etc / inittab中设置默认级别为1)和“aptitude safe-upgrade”仍然是段错误。

我不认为这是一个Xen问题,但不知道是什么原因导致我不能确定。

我完全不明白为什么一个虚拟机应该保持段落,而另一个类似的虚拟机不。

任何帮助将不胜感激。

谢谢。

在gdb中运行segfaulting程序,并安装所有相关库的debugging符号,并从那里诊断问题的原因。

这可能是一个内存模块故障,破坏运行应用程序的记忆。 试试memtest86 +来确保你的RAM模块没问题。

如果是的话,那么你可能应该开始分析libs:/ lib,/ usr / lib等。一个简单的方法是在不同的工作Linux机器上使用md5sum + diff :或许其中一些真的被损坏了?