Odpojení USB klávesnice od serveru … a jeho následky

Co se všechno může stát po odpojení obyčejné USB klávesnice od serveru.

Potřeboval jsem USB klávesnici pro instalaci jiného počítače, tak jsem si ji odpojil od serveru (proč ne, je to hot plug device). Pak se začaly dít věci, v dmesg jsou o tom záznamy:

irq 169: nobody cared (try booting with the "irqpoll" option)
Call Trace: <IRQ>
 [<ffffffff800bb902>] __report_bad_irq+0x30/0x7d
 [<ffffffff800bbb35>] note_interrupt+0x1e6/0x227
 [<ffffffff800bb031>] __do_IRQ+0xbd/0x103
 [<ffffffff8001241d>] __do_softirq+0x89/0x133
 [<ffffffff8006ca0d>] do_IRQ+0xe7/0xf5
 [<ffffffff8005d615>] ret_from_intr+0x0/0xa
 <EOI>
handlers:
[<ffffffff801f7652>] (usb_hcd_irq+0x0/0x55)
Disabling IRQ #169
usb 5-2: USB disconnect, address 2

Nejvíc se mi líbí hláška „nobody cared“ :-D. Kernel panic v nějakém IRQ/USB modulu by ještě nebyl takový problém, ale kernel se naštval a postaral se, aby se o to „někdo postaral".

Pokračujeme v dmesgu, zde spadl proces munina pro kontrolu času:

ntp_tak_cesnet_[21760]: segfault at 00000000669fcbb0
  rip 0000003fcc68a33b rsp 00007fffc8e06130 error 4

A potom pro jistotu celý monitorovací agent:

munin-node[3048]: segfault at 0000000020000000
  rip 0000003fcc684e18 rsp 00007fffb1df3ae0 error 4

Zde pak příkaz pro zjištění stavu samby (na desktopu mi vypadlo sdílení, to jsem ještě netušil, že příčinou je odpojená klávesnice, hledat jsem tedy důvody):

smbstatus[23406]: segfault at 00000000c1000348
  rip 00002b5ddc45aaf7 rsp 00007fff77b07b20 error 4

Tohle je už vážnější, prostě popadaly nějaké procesy. Kernelu to zřejmě pořád bylo málo, tak přidal:

mm/memory.c:120: bad pmd ffff810130a01440(0000000040000000).
swap_free: Bad swap file entry 00e00000

Pád v jádře a to ještě přímo v memory managementu je už pořádný důvod, se o to postarat. Připomínám, že žádný swap file nepoužívám. MM se prostě zbláznil :-(.

Na dálku se to bojím restartnout, stroj zatím běží a potřebné služby jedou. Ani FS nehlásí problém. Připojím k tomu monitor, rebootuju to lokálně a dám vám ještě vědět.

Každopádně, po tomto incidentu už se jádro nemusí obávat, že bych ještě někdy dopustil „nobody cares“.

Konec dobrý, všechno dobré. Po rebootu (nikoliv reset, jak psal Hodža), všechno naběhlo, data (alespoň ta, která se dosud zkontrolovala), jsou v pořádku. Jediná divná služba serveru před rebootem byla munin-node.

Update 12.3.2011

Tak vše je jinak. USB za to přímo nemůže, poté to padlo ještě několikrát na jiných místech. Za všechno může vadná paměť.

 

Příspěvek byl publikován v rubrice Linux, Počítače. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

4 komentáře: Odpojení USB klávesnice od serveru … a jeho následky

  1. To chce hodně odvahy nechat takový systém běžet. Já bych okamžitě natvrdo resetoval (žádný sync) a pak kontroloval data proti poslední záloze. Co to máš za server že to nemá IPMI nebo RSA?

    • Heron napsal:

      To je prosím domácí „server“ na desktopových komponentách Intel Core i3. Tam IPMI nemám. Ale on ten stroj teď reálně nic nedělá, zálohy jsou. Za chvíli jsem doma a podívám se na to lokálně.

  2. jezz napsal:

    to jsem s itedy oddechl. Spatne by se mi spalo s tim, ze vytazeni klavesnice muze zpusobit takovou katastrofu :-)

    • Heron napsal:

      Já na jednu stranu taky. Je to asi první paměť, která se mi pokazila v průběhu provozu (při stavbě stroje to bylo dobře otestováno), ale zase mám konečně příležitost tam dát původně zamýšlených 16GB.

Komentáře nejsou povoleny.