Kategoria: Linux
Czyzby NIS Host Resolve bug ???
2009 Marzec 2 – 21:00Juz ktorys raz spotkalem sie z taka sytuacja na moich komputerach. Zdarzyla sie ona po update/upgrade.
Czy to jest problem NISa z przekazywaniem hostow, albo ich resolvovaniem ? W dziwny sposob wszystko zalezy od libc6. Przy tym updacie i nis i libc6 zostaly zupgradowane. Tak czy owak, problem da sie ominac, bez potrzeby downgradowania (musialem miec wszystko aktualne dla KDE4 i OO3 :D).
Warunki
Co zrobilem zeby uzyskac takiego erora:
- Debian linux, naturalnie Sid ;D (ale w googlach widzialem tez takie cos na SuSe)
- swiezy update/upgrade okolo 20 lutego
- jedna siec, ze skonfigurowana domena i NIS
- hasla, hosty itp przekazywane przez NIS
Efekt
Przy wydaniu komendy ssh komputer2 (przy czym nazwa komputer2 jest nazwa z pliku hosts przekazanego przez NIS). Problem wystepuje rowniez w Thunderbird ktory odwoluje sie do adresu z pliku hosts przez NIS, albo np OpenOffice przy odwolywaniu sie do drukarki sieciowej… tak samo jak ssh, pozostale programy wykrzaczaja sie na starcie i nie daja sie uruchomic.
user@komputer:/home/userl# ssh komputer2 *** glibc detected *** ssh: free(): invalid pointer: 0x00007fb5b8deee9d *** ======= Backtrace: ========= /lib/libc.so.6[0x7fb5b652d1b8] /lib/libc.so.6(cfree+0x76)[0x7fb5b652ecf6] /lib/libnss_nis.so.2(_nss_nis_gethostbyname4_r+0x1b6)[0x7fb5b532f616] /lib/libc.so.6[0x7fb5b6574ad6] /lib/libc.so.6(getaddrinfo+0x1cd)[0x7fb5b6576d5d] ssh[0x7fb5b8150a69] ssh(main+0xef8)[0x7fb5b8146fd8] /lib/libc.so.6(__libc_start_main+0xe6)[0x7fb5b64d95a6] ssh[0x7fb5b8145a99] ======= Memory map: ======== 7fb5b0000000-7fb5b0021000 rw-p 7fb5b0000000 00:00 0 7fb5b0021000-7fb5b4000000 ---p 7fb5b0021000 00:00 0 7fb5b5115000-7fb5b512b000 r-xp 00000000 08:01 1537099 /lib/libgcc_s.so.1 7fb5b512b000-7fb5b532b000 ---p 00016000 08:01 1537099 /lib/libgcc_s.so.1 7fb5b532b000-7fb5b532c000 rw-p 00016000 08:01 1537099 /lib/libgcc_s.so.1 7fb5b532c000-7fb5b5336000 r-xp 00000000 08:01 1537377 /lib/libnss_nis-2.9.so 7fb5b5336000-7fb5b5535000 ---p 0000a000 08:01 1537377 /lib/libnss_nis-2.9.so 7fb5b5535000-7fb5b5537000 rw-p 00009000 08:01 1537377 /lib/libnss_nis-2.9.so 7fb5b5537000-7fb5b567c000 r-xp 00000000 08:01 981431 /usr/lib/libdb-4.6.so 7fb5b567c000-7fb5b587b000 ---p 00145000 08:01 981431 /usr/lib/libdb-4.6.so 7fb5b587b000-7fb5b5880000 rw-p 00144000 08:01 981431 /usr/lib/libdb-4.6.so 7fb5b5880000-7fb5b5881000 rw-p 7fb5b5880000 00:00 0 7fb5b5881000-7fb5b5886000 r-xp 00000000 08:01 982160 /usr/lib/libnss_db-2.2.3.so 7fb5b5886000-7fb5b5a85000 ---p 00005000 08:01 982160 /usr/lib/libnss_db-2.2.3.so 7fb5b5a85000-7fb5b5a86000 rw-p 00004000 08:01 982160 /usr/lib/libnss_db-2.2.3.so 7fb5b5a86000-7fb5b5a91000 r-xp 00000000 08:01 1537401 /lib/libnss_files-2.9.so 7fb5b5a91000-7fb5b5c90000 ---p 0000b000 08:01 1537401 /lib/libnss_files-2.9.so 7fb5b5c90000-7fb5b5c92000 rw-p 0000a000 08:01 1537401 /lib/libnss_files-2.9.so 7fb5b5c92000-7fb5b5ca8000 r-xp 00000000 08:01 1537357 /lib/libpthread-2.9.so 7fb5b5ca8000-7fb5b5ea7000 ---p 00016000 08:01 1537357 /lib/libpthread-2.9.so 7fb5b5ea7000-7fb5b5ea9000 rw-p 00015000 08:01 1537357 /lib/libpthread-2.9.so 7fb5b5ea9000-7fb5b5ead000 rw-p 7fb5b5ea9000 00:00 0 7fb5b5ead000-7fb5b5eaf000 r-xp 00000000 08:01 1537095 /lib/libkeyutils-1.2.so 7fb5b5eaf000-7fb5b60ae000 ---p 00002000 08:01 1537095 /lib/libkeyutils-1.2.so 7fb5b60ae000-7fb5b60af000 rw-p 00001000 08:01 1537095 /lib/libkeyutils-1.2.so 7fb5b60af000-7fb5b60b6000 r-xp 00000000 08:01 983873 /usr/lib/libkrb5support.so.0.1 7fb5b60b6000-7fb5b62b6000 ---p 00007000 08:01 983873 /usr/lib/libkrb5support.so.0.1 7fb5b62b6000-7fb5b62b7000 rw-p 00007000 08:01 983873 /usr/lib/libkrb5support.so.0.1 7fb5b62b7000-7fb5b62b9000 r-xp 00000000 08:01 1537393 /lib/libdl-2.9.so 7fb5b62b9000-7fb5b64b9000 ---p 00002000 08:01 1537393 /lib/libdl-2.9.so 7fb5b64b9000-7fb5b64bb000 rw-p 00002000 08:01 1537393 /lib/libdl-2.9.so 7fb5b64bb000-7fb5b6604000 r-xp 00000000 08:01 1537320 /lib/libc-2.9.so 7fb5b6604000-7fb5b6804000 ---p 00149000 08:01 1537320 /lib/libc-2.9.so 7fb5b6804000-7fb5b6807000 r--p 00149000 08:01 1537320 /lib/libc-2.9.so 7fb5b6807000-7fb5b6809000 rw-p 0014c000 08:01 1537320 /lib/libc-2.9.so 7fb5b6809000-7fb5b680e000 rw-p 7fb5b6809000 00:00 0 7fb5b680e000-7fb5b6811000 r-xp 00000000 08:01 1537446 /lib/libcom_err.so.2.1 7fb5b6811000-7fb5b6a10000 ---p 00003000 08:01 1537446 /lib/libcom_err.so.2.1 7fb5b6a10000-7fb5b6a11000 rw-p 00002000 08:01 1537446 /lib/libcom_err.so.2.1 7fb5b6a11000-7fb5b6a35000 r-xp 00000000 08:01 983860 /usr/lib/libk5crypto.so.3.1 7fb5b6a350Przerwane
Naturalnie numery pointerow i adresy w pamieci sa za kazdym razem inne.
Rozwiazanie
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: files nis group: files nis shadow: files nis hosts: nis files dns [NOTFOUND=return] mdns4_minimal mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Widzimy ze plik hosts jest priorytetowo przegladany przez NIS. Zmieniamy ta linijke na:
hosts: files dns [NOTFOUND=return] nis mdns4_minimal mdns4
Naturalnie na kazdy z kilkunastu komputerow nie kopiowalem pliku hosts, wiec aby resolvowac nazwy lokalne uzywam lokalnego dnsa (dnsmasq) na serwerze. Ustawiam zeby komputer kliencki nie korzystal z NISa tylko ze zwyklego DNSa.
Klopot rozwiazany ! Dziwny eror juz nie wystepuje i mozna dalej cieszyc sie spokojem 😀
Inne info na ten temat
http://forums.opensuse.org/network-internet/406690-nis-host-resolution-bug.html
Sorry, comments for this entry are closed at this time.