Wie behebt man “BUG: Soft Lockup - CPU # 0 für 17163091968s”?


14

UPDATE: Ich habe den Titel der Nachricht aktualisiert, da ich kürzlich mehr dieser Probleme mit genau dieser Zeit gesehen habe 17163091968s. Dies sollte Personen helfen, die die Symptome untersuchen, um diese Seite zu finden. Siehe meine (selbst-) akzeptierte Antwort unten.


Ich habe eine Reihe von 64-Bit-Ubuntu 10.04-LTS-VMs in einem VMware vSphere-Datencenter. VMware-Tools sind installiert (vSphere-Client meldet "OK").

Ich habe einige der VMs ein paar Mal mit dem folgenden Fehler im Syslog hängen gesehen. Bei der Überprüfung der Situation in vSphere war die Konsole schwarz, und der Befehl "Gast neu starten" hat nichts bewirkt, sodass ich die VM aus- und wieder einschalten musste.

Dec  1 11:44:15 s0 kernel: [18446744060.007150] BUG: soft lockup - CPU#0 stuck for 17163091988s! [jed:26674]
Dec  1 11:44:15 s0 kernel: [18446744060.026854] Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs xt_tcpudp iptable_filter ip_tables x_tables acpiphp fbcon tileblit font bitblit softcursor ppdev vga16fb psmouse parport_pc shpchp vgastate i2c_piix4 lp parport serio_raw intel_agp floppy mptspi mptscsih vmw_pvscsi e1000 mptbase
Dec  1 11:44:15 s0 kernel: [18446744060.026899] CPU 0:
Dec  1 11:44:15 s0 kernel: [18446744060.026900] Modules linked in: btrfs zlib_deflate crc32c libcrc32c ufs qnx4 hfsplus hfs minix ntfs vfat msdos fat jfs xfs exportfs reiserfs xt_tcpudp iptable_filter ip_tables x_tables acpiphp fbcon tileblit font bitblit softcursor ppdev vga16fb psmouse parport_pc shpchp vgastate i2c_piix4 lp parport serio_raw intel_agp floppy mptspi mptscsih vmw_pvscsi e1000 mptbase
Dec  1 11:44:15 s0 kernel: [18446744060.026920] Pid: 26674, comm: jed Not tainted 2.6.32-30-server #59-Ubuntu VMware Virtual Platform
Dec  1 11:44:15 s0 kernel: [18446744060.026922] RIP: 0033:[<00007f92e03d2ce6>]  [<00007f92e03d2ce6>] 0x7f92e03d2ce6
Dec  1 11:44:15 s0 kernel: [18446744060.026930] RSP: 002b:00007fff6069b770  EFLAGS: 00000202
Dec  1 11:44:15 s0 kernel: [18446744060.026932] RAX: 00007f92e27e7e10 RBX: 00007f92e06d5e40 RCX: 0000000000020000
Dec  1 11:44:15 s0 kernel: [18446744060.026933] RDX: 00007f92e27e7e10 RSI: 0000000000020209 RDI: 0000000000000002
Dec  1 11:44:15 s0 kernel: [18446744060.026934] RBP: ffffffff81013cae R08: 0000000000000001 R09: 0000000000000000
Dec  1 11:44:15 s0 kernel: [18446744060.026935] R10: 00007f92e06d6398 R11: 0000000000000870 R12: 00000000000000c0
Dec  1 11:44:15 s0 kernel: [18446744060.026937] R13: 00007f92e299dca0 R14: 0000000000000020 R15: 00007f92e06d5e40
Dec  1 11:44:15 s0 kernel: [18446744060.026939] FS:  00007f92e105b700(0000) GS:ffff880009c00000(0000) knlGS:0000000000000000
Dec  1 11:44:15 s0 kernel: [18446744060.026940] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Dec  1 11:44:15 s0 kernel: [18446744060.026941] CR2: 00007ff12ea15000 CR3: 0000000267067000 CR4: 00000000000006f0
Dec  1 11:44:15 s0 kernel: [18446744060.026968] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Dec  1 11:44:15 s0 kernel: [18446744060.026989] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Dec  1 11:44:15 s0 kernel: [18446744060.026991] Call Trace:

(Es gibt keine Spur - das ist die letzte Zeile.)

Ich habe anscheinend keine weiteren Fehler mehr, aber ich bin mir ziemlich sicher, dass der oben erwähnte Prozess ( jed) in den anderen Dumps anders war.

  • Was könnte dieses Problem verursachen?

  • Wie kann dies verhindert werden?

Einige zusätzliche Informationen:

  • Der Wert 17163091988ist ein bisschen (Wortspiel beabsichtigt) verdächtig - er ist 1111111111000000000000000000010100binär. Vielleicht hat der Fehler versucht, 20 Sekunden ( 10100binär) zu sagen ?

  • Ich bin nicht sicher, ob das Problem mit dem neuesten Kernel 10.04 (2.6.32-35) weiterhin besteht.

  • Ich habe auch task ... blocked for more than 120 secondsProbleme gesehen - vielleicht könnten sie verwandt sein?

  • Der vSphere-Client zeigt keine Warnungen oder Migrationsaufgaben für die VM an.


Vielleicht stimmt etwas mit der Zeitmessung nicht? Sie können mit spielen clocksource. Auch die C-Zustände der CPUs sind eine gute Vermutung.
SaveTheRbtz

Antworten:


12

Vielen Dank an alle Kommentatoren. Ich glaube, ich habe die Antwort gefunden. In mindestens Ubuntus Kernel-Server Version 2.6.32-30 scheint es einen Zeitmessungsfehler zu geben. Der Fehler tötet manchmal (?) Maschinen, wenn sie eine Betriebszeit von ungefähr 200..210 Tagen erreichen. Tatsächlich geschieht das Anhalten nicht unmittelbar nach Erreichen des Grenzwerts, sondern wird durch eine Operation ausgelöst (in meinem Fall:) apt-get install ....

NB: 200 Tage sind ungefähr 2 ^ 32 mal 1/250 Sekunden und 250 ist der Standardwert für CONFIG_HZ.

Im Moment habe ich keine Daten darüber gefunden, ob das Problem in neueren Kerneln behoben wurde. Ich weiß, dass es keinen älteren Kernel (2.6.32-26-Server) betrifft. Nach all diesen Informationen gehe ich davon aus, dass, wenn es noch nicht behoben ist, dies vermieden werden kann durch:

  • Booten Sie die Maschinen alle 190 Tage (eine gute Idee für Kernel-Upgrades)
  • Stellen Sie CONFIG_HZ auf 100 ein und machen Sie es somit alle 497 Tage. Dies kann jedoch zu unerwarteten Nebenwirkungen führen, insbesondere in virtuellen Umgebungen. Und es löst das Problem nicht.

Hier ist ein Fehlerbericht für Ubuntu.


Gute Entdeckung - Wunder , wenn es rieselt auf debian
thinice

Aus Neugier: Verwenden Sie NTP oder Zeitsynchronisation über VMware? Es klingt wie eine ständige Zeitverschiebung oder so etwas. Es sollten Einträge für die Zeitverschiebung in Syslog protokolliert werden.
Pause

Ich habe gerade etwas gesehen, das in Debian verwandt aussieht, 2.6.32-5-amd64-Kernel, der zwei Soft-Lock-Ups zeigt, die "seltsam" ablaufen
James,

5

Dies ist tatsächlich ein Kernel-Fehler, der durch das folgende Kernel-Commit behoben wurde:

http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commit;h=4cecf6d401a01d054afc1e5f605bcbfe553cb9b9

Sie können LKML nach folgendem Titel durchsuchen (es können nicht mehr als 2 Links gepostet werden): [stable] 2.6.32.21 - Abstürze aufgrund der Betriebszeit?

Und dies ist der LP # Fehler, der den Kernel behebt:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/902317

Ein Upgrade auf den neuesten Kernel in lucid-updates sollte dieses Problem endgültig beheben.

HTH


2

Könnte es sein, dass auf dem Virtualisierungshost einige Energiesparfunktionen ("Green IT") aktiviert sind, mit denen nicht verwendete Kerne in einen Energiesparmodus / Ruhezustand versetzt werden können, was zu interessanten Unterbrechungen bei den VMs führt, die diesen Kern verwenden? Ich habe gehört, dass dies vor allem in HyperV-Umgebungen ein Problem war, aber es könnte etwas sein, das untersucht werden muss.


1

Falls jemand anderes dies findet, hat ein Kernel-Upgrade ein ähnliches Problem für mich behoben. Ich hatte einen JBOD, der über einen SAS3-Controller mit dem System verbunden war und diese CPU-Softlock-Fehler beim Booten verursachte.

Ich hatte die Kernel-Version 3.16.0-30 von Ubuntu 14.04.2, und als ich ein "passendes Upgrade" durchführte, landete ich bei Kernel 3.16.0-49, und das löste das Problem.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.