PDATE: J'ai mis à jour le titre du message, car j'ai récemment vu plus de ces problèmes avec cette durée exacte de 17163091968s
. Cela devrait aider les personnes qui enquêtent sur les symptômes à trouver cette page. Voir ma réponse (auto-) acceptée ci-dessous.
J'ai un tas de machines virtuelles Ubuntu 10.04 LTS 64 bits dans un centre de données VMware vSphere. Les outils VMware sont installés (vSphere Client dit "OK").
J'ai vu certaines machines virtuelles se bloquer plusieurs fois avec l'erreur suivante dans syslog. Lors de la vérification de la situation depuis vSphere, la console était noire et la commande "Redémarrer l'invité" n'a rien fait, j'ai donc dû redémarrer la machine virtuelle.
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:
(Il n'y a aucune trace - c'est la dernière ligne.)
Je ne semble plus avoir les autres erreurs, mais je suis sûr que le processus mentionné ci-dessus (jed
) était différent dans les autres vidages.
Qu'est-ce qui pourrait causer ce problème?
Comment éviter que cela se produise?
Quelques informations supplémentaires:
La valeur 17163091988
est un peu (jeu de mots voulu) suspect - c'est 1111111111000000000000000000010100
en binaire. Peut-être que l'erreur essayait de dire 2 secondes (10100
en binaire)?
Je ne sais pas si le problème persiste avec le dernier noyau 10.04 (2.6.32-35).
J'ai aussi vu task ... blocked for more than 120 seconds
problèmes - pourraient-ils être liés?
le client vSphere n'affiche aucune alerte ni tâche de migration pour la machine virtuelle.
Merci à tous les commentateurs. Je pense avoir trouvé la réponse. Il semble y avoir un bug de chronométrage dans au moins le serveur Ubuntu version 2.6.32-30-server. Le bug tue parfois (?) Les machines lorsqu'elles atteignent un temps de disponibilité d'environ 200..210 jours. En fait, l'arrêt ne se produit pas immédiatement après que la limite est atteinte, mais est déclenché par une opération (dans mon cas: apt-get install ...
).
NB: 200 jours, c'est environ 2 ^ 32 fois 1/250 seconde, et 250 est la valeur par défaut pour CONFIG_HZ.
Pour l'instant, je n'ai pas trouvé de données indiquant si le problème a été résolu dans des noyaux plus récents. Je sais que cela ne semble pas affecter un noyau plus ancien (serveur 2.6.32-26). D'après toutes ces informations, je suppose que si ce n'est pas encore résolu, il peut être évité en:
Voici n rapport de bogue pour Ubuntu.
Il s'agit en fait d'un bug du noyau qui a été corrigé par la validation du noyau suivante:
Vous pouvez rechercher dans LKML le titre suivant (ne peut pas publier plus de 2 liens): [stable] 2.6.32.21 - crash liés à la disponibilité?
Et voici le bogue LP # qui apporte la correction du noyau:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/902317
La mise à niveau vers le dernier noyau dans lucid-updates devrait résoudre définitivement ce problème.
HTH
Se pourrait-il que l'hôte de virtualisation ait certaines fonctionnalités d'économie d'énergie ("Green IT") activées qui pourraient envoyer des cœurs inutilisés en mode basse consommation/veille, provoquant des perturbations intéressantes dans les machines virtuelles utilisant ce cœur? J'ai entendu dire que c'était un problème principalement dans les environnements HyperV, mais cela peut être quelque chose à examiner.
Au cas où quelqu'un d'autre trouverait cela, une mise à niveau du noyau a résolu un problème similaire pour moi. J'avais un JBOD qui était attaché au système via un contrôleur SAS3 lançant ces erreurs CPU Softlock au démarrage.
J'avais la version 3.16.0-30 du noyau Ubuntu 14.04.2, et faire une "mise à niveau apt -y" m'a conduit au noyau 3.16.0-49, et cela a résolu le problème.