Wiktor S.

Wiktor S. Informatyk

Temat: Unable to handle kernel paging request

Witam!

Od jakiegos czasu zawiesza nam sie serwer Dell PE 2900 na SLES (Linux x 2.6.5-7.308-smp #1 SMP Mon Dec 10 11:36:40 UTC 2007 x86_64 x86_64 x86_64 GNU/Linux).

Oto zrzut z /var/log/kernel/alert/log
May 24 07:46:03 x kernel: Unable to handle kernel paging request at 0000000000100108 RIP:
May 24 07:46:03 x kernel: <ffffffff801482d8>{free_uid+40}
May 24 07:46:03 x kernel: PML4 141500067 PGD 25354067 PMD 0
May 24 07:46:03 x kernel: Oops: 0002 [1] SMP
May 24 07:46:03 x kernel: CPU 1
May 24 07:46:03 x kernel: Pid: 19116, comm: smbd Tainted: G U (2.6.5-7.308-smp SLES9_SP4_BRANCH-20071210113640)
May 24 07:46:03 x smbd[9448]: [2013/05/24 07:46:03, 0] lib/util_sock.c:get_peer_addr(1232)
May 24 07:46:03 x smbd[9448]: getpeername failed. Error was Transport endpoint is not connected
May 24 07:46:03 x smbd[13246]: [2013/05/24 07:46:03, 0] lib/util_sock.c:get_peer_addr(1232)
May 24 07:46:03 x smbd[13246]: getpeername failed. Error was Transport endpoint is not connected
May 24 07:46:03 x smbd[13246]: [2013/05/24 07:46:03, 0] lib/util_sock.c:get_peer_addr(1232)
May 24 07:46:03 x smbd[13246]: getpeername failed. Error was Transport endpoint is not connected
May 24 07:46:03 x smbd[13246]: [2013/05/24 07:46:03, 0] lib/access.c:check_access(327)
May 24 07:46:03 x kernel: RIP: 0010:[<ffffffff801482d8>] <ffffffff801482d8>{free_uid+40}
May 24 07:46:03 x kernel: RSP: 0018:0000010137a1ddd8 EFLAGS: 00010002
May 24 07:46:03 x kernel: RAX: 0000000000100100 RBX: 000001022311ea40 RCX: 000001022311ea58
May 24 07:46:03 x kernel: RDX: 0000000000200200 RSI: 000001022311ea40 RDI: 000001022311ea40
May 24 07:46:03 x kernel: RBP: 000001019f30f5a0 R08: 0000000000000001 R09: 0000000000000000
May 24 07:46:03 x kernel: R10: 00000000000000ea R11: 0000000000000246 R12: 000000000000000a
May 24 07:46:03 x kernel: R13: 0000010137a1de98 R14: 0000000000000000 R15: ffffffff8011074d
May 24 07:46:03 x kernel: FS: 0000002a9558bbe0(0000) GS:ffffffff805e3a80(0000) knlGS:0000000000000000
May 24 07:46:03 x kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
May 24 07:46:03 x kernel: CR2: 0000000000100108 CR3: 00000000cfb1f000 CR4: 00000000000006e0
May 24 07:46:03 x kernel: Process smbd (pid: 19116, threadinfo 0000010137a1c000, task 0000010226a63380)
May 24 07:46:03 x kernel: Stack: 0000010228122490 ffffffff80149424 0000000000000000 0000010137a1de98
May 24 07:46:03 x kernel: 0000010226a63380 0000010226a63ad8 0000000000000064 ffffffff8014b46a
May 24 07:46:03 x kernel: 0000000000000000 0000010137a1df58
May 24 07:46:03 x kernel: Call Trace:<ffffffff80149424>{__dequeue_signal+388} <ffffffff8014b46a>{dequeue_signal+74}
May 24 07:46:03 x kernel: <ffffffff8014b8f4>{get_signal_to_deliver+308} <ffffffff8010fb75>{do_signal+149}
May 24 07:46:03 x kernel: <ffffffff8013da40>{autoremove_wake_function+0} <ffffffff8021d773>{cap_task_post_setuid+3}
May 24 07:46:03 x kernel: <ffffffff8011074d>{sysret_signal+28} <ffffffff801109ab>{ptregscall_common+103}
May 24 07:46:03 x kernel:
May 24 07:46:03 x kernel:
May 24 07:46:03 x kernel: Code: 48 89 50 08 48 89 02 48 c7 41 08 00 02 20 00 48 c7 43 18 00

Ktos ma jakis pomysl jaka jest tego przyczyna? Ram sprawdzony jest ok, procesor, plyta glowna?
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Unable to handle kernel paging request

Może to soft a nie sprzęt? Były jakieś zmiany "w ostatnim czasie"? np. dodanie modułów kernelowych o wątpliwej zgodności z wersją jądra?
Wiktor S.

Wiktor S. Informatyk

Temat: Unable to handle kernel paging request

Nie, nic nie bylo dodawane ani usuwane. Jedynie co to jak wczesniej byl reboot systemu codziennie w cron'ie o 6 rano to zmienilem to na raz w tygodniu. Dowiedzialem sie ze kiedys wlasnie te czeste rebooty systemu byly po to by sie on nie wieszal ale to nie jest rozwiazanie.. Czytalem ze to wina kernela ale czy na pewno tak jest w tym przypadku?
Przemek M.

Przemek M. Software Engineer,
TomTom

Temat: Unable to handle kernel paging request

To jajko będzie miało 9 lat...
Sprawdzałeś na jakimś świeższym?
Wiktor S.

Wiktor S. Informatyk

Temat: Unable to handle kernel paging request

Tak wiem ze z 07 roku jest ale pamietam jak w 2 lata temu probowalem go zaktualizowac to sypal bledami i musialem z backupu przywracac system..ale chyba bede musial zobaczyc jak z najnowszym moze nie bedzie takich hockow klockow

Temat: Unable to handle kernel paging request

A ja bym się przyjrzał procesowi o numerze 19116....

Temat: Unable to handle kernel paging request

Andy K.:
A ja bym się przyjrzał procesowi o numerze 19116....

Ten błąd generuje Winzgroza ponieważ stara się połączyć jednocześnie na dwa porty 139 i 445. Połączenie zostaje na pierwszym na którym się uda a drugie zostaje zamknięte (w przypadku gdy udało się połączyć na oba). Teoretycznie jest to harmless ale warto wyizolować przypadek.

Wiktor: O ile ta samba nie jest PDC możesz w konfigu wymusić aby odpowiadała tylko na jednym z wybranych portów. Błędy znikną. Jeśli serwer dalej będzie się zawieszać to będziemy kminić dalej ale obstawiam, że skoro na kernelu smbd generuje Ooops'a to z dużym prawdopodobieństwem przyczyną zawieszania się serwera może być wyciek pamięci. Dlaczego? Ponieważ nie ma gwarancji, że po procesie który zrobił Ooops' a wszystko zostanie ładnie posprzątane.Ten post został edytowany przez Autora dnia 24.05.13 o godzinie 19:13
Wiktor S.

Wiktor S. Informatyk

Temat: Unable to handle kernel paging request

Jest ustawione
Domain master: yes
Usunalem port 445 i juz nie pojawiaja mi sie bledy z
getpeername failed. Error was Transport endpoint is not connected
ale zauwazylem inne. Jutro wkleje co mi sie pojawia dodatkowo.

/var/log/samba/log.nmbd
[2013/05/27 07:09:03, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.22(138) ERRNO=Operation not permitted
[2013/05/27 07:23:59, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.77(138) ERRNO=Operation not permitted
[2013/05/27 07:36:04, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.76(138) ERRNO=Operation not permitted
[2013/05/27 08:09:12, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.77(138) ERRNO=Operation not permitted
[2013/05/27 08:23:13, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.47(138) ERRNO=Operation not permitted

/var/log/samba/log.smbd
[2013/05/27 07:03:01, 0] param/loadparm.c:set_boolean(2851)
ERROR: Badly formed boolean in configuration file: "nohJoH".
[2013/05/27 07:03:01, 0] param/loadparm.c:lp_bool(2269)
lp_bool(nohJoH): value is not boolean!
[2013/05/27 07:03:01, 0] param/loadparm.c:set_boolean(2851)
ERROR: Badly formed boolean in configuration file: "Yes`>".
[2013/05/27 07:03:01, 0] param/loadparm.c:lp_bool(2269)
lp_bool(Yes`>): value is not boolean!

/var/log/audit.log
May 27 07:04:56 geomag smbd_audit: [2013/05/27 07:04:56, 0] smbd/nttrans.c:call_nt_transact_ioctl(2459)
May 27 07:04:56 geomag smbd_audit: call_nt_transact_ioctl(0x9005c): Currently not implemented.
May 27 07:04:58 geomag smbd_audit: [2013/05/27 07:04:58, 0] smbd/service.c:set_current_service(184)
May 27 07:04:58 geomag smbd_audit: chdir (/data1/Serwis) failed

/var/log/messages
May 27 07:03:15 geomag login[9617]: pam_ldap: ldap_starttls_s: Can't contact LDAP server
May 27 07:03:15 geomag login[9617]: pam_ldap: ldap_simple_bind Can't contact LDAP server

Cos niepokojacego tu widac?:)Ten post został edytowany przez Autora dnia 27.05.13 o godzinie 08:44
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Unable to handle kernel paging request

Hej,

ja bym jednak spróbował pociągnąć temat niekompatybilnych modułów kernelowych :)

Z pierwszego loga:
"May 24 07:46:03 x kernel: Pid: 19116, comm: smbd Tainted: G U (2.6.5-7.308-smp SLES9_SP4_BRANCH-20071210113640)"

Flaga tainted ma 2 wartości raportowane przez kernel:
G - modułu na licencji GNU compatible
U - unsupported module loaded.

Więcej o fladze tainted, np. http://www.novell.com/support/kb/doc.php?id=3582750

Temat: Unable to handle kernel paging request

Paweł Grzegorz K.:
Hej,

ja bym jednak spróbował pociągnąć temat niekompatybilnych modułów kernelowych :)

Z pierwszego loga:
"May 24 07:46:03 x kernel: Pid: 19116, comm: smbd Tainted: G U (2.6.5-7.308-smp SLES9_SP4_BRANCH-20071210113640)"

Flaga tainted ma 2 wartości raportowane przez kernel:
G - modułu na licencji GNU compatible
U - unsupported module loaded.

Więcej o fladze tainted, np. http://www.novell.com/support/kb/doc.php?id=3582750

Uwaga cytuję za linkiem :)

U or N: An Unsupported module has been loaded, i.e. a module which is not supported by Novell and which is not known to be supported by a third party. For example, the module is a driver that is not yet mature enough to be supportable or is a driver for an obsolete type of hardware which can no longer be tested adequately.

Tell me where is written that flag points on unsupported module by kernel version? You clearly misunderstood supported in business meaning and supported by technical term. By the way errors about loading module compiled for other kernel version shows up in different way. English language hard language so You are totally forgiven ;)
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Unable to handle kernel paging request

Piotr R.:

<ciach>
...
</ciach>
English language hard language so You are totally forgiven ;)
Trudno nie zgodzić się z autorem wypowiedzi co do tego faktu ;)

Sam fakt flagi U interpretuję, tak że zostały załadowane jakieś moduły, które nie są wspierane, a które mogą być przyczyną takiego zachowania kernela. Wśród powodów nie wspierania jest "For example, the module is a driver that is not yet mature enough to be supportable.".

Nie wiem dlaczego kompatybilne od razu musi kojarzyć się z wersją? Za SJP: kompatybilny - odpowiadający czemuś lub przystosowany do czegoś pod każdym względem ;)

Nie wydaje mi się, żeby z userlandu można łatwo rozłożyć kernel i żeby linux był na tyle słaby, żeby sobie nie poradzić ze sprzątaniem po userlandowym procesie. Chyba, ze są przykłady takich programów z userlandu, które kernel rozkładają, to chętnie się dowiem ;)

Jak nie sprzęt, to źródła problemu szukałbym właśnie w obszarze kernela / modułów. (np. błąd kernelowy manifestujący się przy określonym workloadzie).

Temat: Unable to handle kernel paging request

Paweł Grzegorz K.:
Piotr R.:

<ciach>
...
</ciach>
English language hard language so You are totally forgiven ;)
Trudno nie zgodzić się z autorem wypowiedzi co do tego faktu ;)

Sam fakt flagi U interpretuję, tak że zostały załadowane jakieś moduły, które nie są wspierane, a które mogą być przyczyną takiego zachowania kernela. Wśród powodów nie wspierania jest "For example, the module is a driver that is not yet mature enough to be supportable.".

Nie wiem dlaczego kompatybilne od razu musi kojarzyć się z wersją? Za SJP: kompatybilny - odpowiadający czemuś lub przystosowany do czegoś pod każdym względem ;)

Może być coś unsupported i jednocześnie compatible i będzie działać.
Nie wydaje mi się, żeby z userlandu można łatwo rozłożyć kernel i żeby linux był na tyle słaby, żeby sobie nie poradzić ze sprzątaniem po userlandowym procesie. Chyba, ze są przykłady takich programów z userlandu, które kernel rozkładają, to chętnie się dowiem ;)

I właśnie dlatego jest tylko Oops a nie Panic ale dalej nikt nie daje gwarancji, że po Oops wszystko zostanie posprzątane. Nie jestem ekspertem ani twórcą kernela a moja wiedza z architektury jąder proceduralnych może być niewystarczająca więc nawet nie spróbuję wyjaśnić dlaczego tak jest. Pytanie zalecam skierować do twórców kernela.
Jak nie sprzęt, to źródła problemu szukałbym właśnie w obszarze kernela / modułów. (np. błąd kernelowy manifestujący się przy określonym workloadzie).

O tym, że Samba 2 (tą wersję Samby obstawiam po innym komunikacie z innego logu podanego później) jest zbugowana i nie zawsze współpracuje prawidłowo z dowolnym kernelem wiadomo nie od dziś. Podany przez ciebie fragment loga to środek początku całego memory i stack dump wstawionego przez Wiktora, Jak uważnie popatrzysz to nawet wyraźnie jest napisane, która funkcja z którego pliku .C spowodowała błąd i w jakiej kolejności były wywołane. Wszyscy wiemy, że można upgrade SLES zrobić do jakiejś nowoczesnej wersji i postawić nowszą Sambę ale nie o to w tym przypadku chodzi.

Temat: Unable to handle kernel paging request

Wiktor S.:
Jest ustawione
Domain master: yes
Usunalem port 445 i juz nie pojawiaja mi sie bledy z
getpeername failed. Error was Transport endpoint is not connected
ale zauwazylem inne. Jutro wkleje co mi sie pojawia dodatkowo.

/var/log/samba/log.nmbd
[2013/05/27 07:09:03, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.22(138) ERRNO=Operation not permitted
[2013/05/27 07:23:59, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.77(138) ERRNO=Operation not permitted
[2013/05/27 07:36:04, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.76(138) ERRNO=Operation not permitted
[2013/05/27 08:09:12, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.77(138) ERRNO=Operation not permitted
[2013/05/27 08:23:13, 0] libsmb/nmblib.c:send_udp(791)
Packet send failed to xxx.xxx.xxx.47(138) ERRNO=Operation not permitted

Te wpisy mówią dokładnie tyle, że nmbd (czyli usługa NetBIOS) nie mogła wysłać pakietu UDP do konkretnych hostów i nawet jest podana przyczyna :)
/var/log/samba/log.smbd
[2013/05/27 07:03:01, 0] param/loadparm.c:set_boolean(2851)
ERROR: Badly formed boolean in configuration file: "nohJoH".
[2013/05/27 07:03:01, 0] param/loadparm.c:lp_bool(2269)
lp_bool(nohJoH): value is not boolean!
[2013/05/27 07:03:01, 0] param/loadparm.c:set_boolean(2851)
ERROR: Badly formed boolean in configuration file: "Yes`>".
[2013/05/27 07:03:01, 0] param/loadparm.c:lp_bool(2269)
lp_bool(Yes`>): value is not boolean!

Te wpisy prawdopodobnie powstały z powodu błędów w pliku konfiguracyjnym Samby.

/var/log/audit.log
May 27 07:04:56 geomag smbd_audit: [2013/05/27 07:04:56, 0] smbd/nttrans.c:call_nt_transact_ioctl(2459)
May 27 07:04:56 geomag smbd_audit: call_nt_transact_ioctl(0x9005c): Currently not implemented.

Te wpisy pojawiły się dlatego, że funkcja call_nt_transact_ioctl nie była zaimplementowana. Jak sobie grepniesz nttrans.c za tą funkcją to zobaczysz, że nawet jest tam śmieszny komentarz o ile ktoś go nie usunął :)
May 27 07:04:58 geomag smbd_audit: [2013/05/27 07:04:58, 0] smbd/service.c:set_current_service(184)
May 27 07:04:58 geomag smbd_audit: chdir (/data1/Serwis) failed
/var/log/messages
May 27 07:03:15 geomag login[9617]: pam_ldap: ldap_starttls_s: Can't contact LDAP server
May 27 07:03:15 geomag login[9617]: pam_ldap: ldap_simple_bind Can't contact LDAP server

A te błędy są samo opisujące się.

Pytanie zasadnicze czy po zablokowaniu portu serwer przestał się zawieszać?
Wiktor S.

Wiktor S. Informatyk

Temat: Unable to handle kernel paging request

Jak na razie jest spokoj ale poczekam tydzien lub dwa i zobaczymy czy sytuacja sie powtorzy.

Temat: Unable to handle kernel paging request

Wiktor S.:
Jak na razie jest spokoj ale poczekam tydzien lub dwa i zobaczymy czy sytuacja sie powtorzy.

To czekamy :) A potem zjemiemy się wycinaniem tych dodatkowych wpisów abyś miał logi bielsze od białego ;)
Wiktor S.

Wiktor S. Informatyk

Temat: Unable to handle kernel paging request

Spokoj od tamtego czasu ze zmiana portu na jeden;) Ani razu zwiechy hehe. A serwer podobno sie zwieszal tak wlasnie z tego powodu dobrych kilka lat:D.
Ok teraz..co z tymi bledami ktore wyskakuja?:)Kolega wyzej cos wspomnial o niebieskim ekranie:P..tfu logach bielszych od bialego:)

Następna dyskusja:

Xen-kernel na serwerach Fuj...




Wyślij zaproszenie do