web-dev-qa-db-ja.com

「BUG:soft lockup-CPU#0 stuck for 17163091968s」の修正方法

PDATE:メッセージのタイトルを更新しました。これは、この正確な時間量17163091968s。これは、症状を調査してこのページを見つける人々を助けるでしょう。以下の(自己)が認めた回答を参照してください。


VMware vSphereデータセンターに64ビットUbuntu 10.04 LTS VMがたくさんあります。 VMwareツールがインストールされている(vSphere Clientで「OK」と表示されている)。

VMの一部が数回ハングし、syslogに次のエラーが表示されるのを見ました。 vSphereから状況を確認すると、コンソールが黒く、「ゲストの再起動」コマンドは何もしなかったため、VMの電源を再投入する必要がありました。

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:

(トレースはありません-それが最後の行です。)

他のエラーはもう発生していないようですが、上記のプロセス(jed)が他のダンプと異なっていたと確信しています。

  • この問題の原因は何ですか?

  • これが起こらないようにするには?

いくつかの追加情報:

  • 17163091988は少し疑わしい(しゃれたもの)-1111111111000000000000000000010100バイナリ。多分エラーは発言しようとした2秒(10100バイナリ))?

  • 最新の10.04カーネル(2.6.32-35)でも問題が解決するかどうかはわかりません。

  • 私も見ましたtask ... blocked for more than 120 seconds問題-関連している可能性がありますか?

  • vSphereクライアントは、VMのアラートまたは移行タスクを表示しません。

14
tuomassalo

すべてのコメント者に感謝します。私は答えを見つけたと思います。少なくともUbuntuのカーネルバージョン2.6.32-30-serverに計時バグがあるようです。バグは時々(?)マシンが約200..210日間の稼働時間に達すると殺されます。実際には、停止は制限に達した直後には発生しませんが、何らかの操作(私の場合:apt-get install ...)。

注意:200日は約1/250秒の2 ^ 32倍であり、CONFIG_HZのデフォルト値は250です。

現時点では、問題が最近のカーネルで修正されているかどうかについてのデータは見つかりません。古いカーネル(2.6.32-26-server)には影響しないようです。このすべての情報から、まだ修正されていない場合は、次の方法で回避できると思います。

  • 190日ごとにマシンを起動します(とにかくカーネルのアップグレードには良い考えです)
  • cONFIG_HZを100に調整し、497日ごとにします。ただし、これは、特に仮想環境では、かなり予期しない副作用をもたらす可能性があります。そして、それは問題を解決しません

これが バグレポート です。

12
tuomassalo

これは実際には、次のカーネルコミットによって修正されたカーネルバグです。

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

LKMLで次のタイトルを検索できます(2つを超えるリンクを投稿することはできません):[安定版] 2.6.32.21-稼働時間に関連するクラッシュ?

そして、これはカーネル修正をもたらすLP#バグです:

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

Lucid-updatesで最新のカーネルにアップグレードすると、この問題は完全に修正されます。

HTH

5
Louis

仮想化ホストでいくつかの省電力機能(「グリーンIT」)が有効になっていて、未使用のコアを低電力/スリープモードにして、そのコアを使用するVMに興味深い中断を引き起こす可能性がありますか?これは主にHyperV環境で問題になると聞いていましたが、調査する必要があるかもしれません。

2
daff

他の誰かがこれを見つけた場合に備えて、カーネルのアップグレードで同様の問題が修正されました。起動時にこれらのCPU SoftlockエラーをスローするSAS3コントローラを介してシステムに接続されているJBODがありました。

Ubuntu 14.04.2カーネルバージョン3.16.0-30を使用していて、「apt -yアップグレード」を実行するとカーネル3.16.0-49になり、問題が解決しました。

1
Locane