Crashe procesu named
Jan Palus
atler at pld-linux.org
Thu Mar 19 12:26:57 CET 2026
On 19.03.2026 10:27, Maciej Kędzierski wrote:
> Człowiek uczy się całe życie.
> Nigdy nie debugowałem programów, a tu takie ułatwienie, jak się już wie jak
> to zrobić.
> Przetestowałem na podatnej wersji libuv-1.52.0 i w wyniku dostałem po
> chwili:
>
> # gdb -batch -ex run -ex bt --args named -g -d 3 -u named -t /var/lib/named
> -c /etc/named.conf -4
> :
> :
> :
> Thread 4 "named" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb503ab00 (LWP 21915)]
> 0x00000000 in ?? ()
> #0 0x00000000 in ?? ()
> #1 0xb769b9bf in ?? () from /usr/lib/libuv.so.1
> #2 0xb769beeb in ?? () from /usr/lib/libuv.so.1
> #3 0xb768bf2c in ?? () from /usr/lib/libuv.so.1
> #4 0xb769ef73 in ?? () from /usr/lib/libuv.so.1
> #5 0xb768c104 in uv_run () from /usr/lib/libuv.so.1
> #6 0xb7f652cf in loop_thread (arg=arg at entry=0xb66d6870) at loop.c:328
> #7 0xb7f79c0e in thread_body (wrap=0x80d3830) at thread.c:85
> #8 thread_run (wrap=0x80d3830) at thread.c:100
> #9 0xb7366a27 in ?? () from /lib/libc.so.6
> #10 0xb73fb348 in ?? () from /lib/libc.so.6
>
> a za drugim razem
>
> Thread 1 "named" received signal SIGSEGV, Segmentation fault.
> 0x00000000 in ?? ()
> #0 0x00000000 in ?? ()
> #1 0xb769b9bf in ?? () from /usr/lib/libuv.so.1
> #2 0xb769beeb in ?? () from /usr/lib/libuv.so.1
> #3 0xb768bf2c in ?? () from /usr/lib/libuv.so.1
> #4 0xb769ef73 in ?? () from /usr/lib/libuv.so.1
> #5 0xb768c104 in uv_run () from /usr/lib/libuv.so.1
> #6 0xb7f652cf in loop_thread (arg=0xb66d6000) at loop.c:328
> #7 0xb7f665ab in isc_loopmgr_run (loopmgr=0xb7fba460) at loop.c:514
> #8 0x0805aba2 in main (argc=11, argv=0xbffff364) at main.c:1595
>
> i wszystko jasne, widać podejrzanego :)
>
> Rozumiem, że każdy debugowany program wymaga pakietów -debuginfo.
Nie są niezbędne ale znacznie więcej wtedy widać co ułatwia
zidentyfikowanie problemu. Mając -debuginfo dla binda widzisz nazwy
funkcji i lokalizacje w kodzie:
> #6 0xb7f652cf in loop_thread (arg=0xb66d6000) at loop.c:328
> #7 0xb7f665ab in isc_loopmgr_run (loopmgr=0xb7fba460) at loop.c:514
> #8 0x0805aba2 in main (argc=11, argv=0xbffff364) at main.c:1595
Natomiast w libuv widać tylko jedną funkcję wyeksportowaną przez
bibliotekę i nazwę samej biblioteki:
> #1 0xb769b9bf in ?? () from /usr/lib/libuv.so.1
> #2 0xb769beeb in ?? () from /usr/lib/libuv.so.1
> #3 0xb768bf2c in ?? () from /usr/lib/libuv.so.1
> #4 0xb769ef73 in ?? () from /usr/lib/libuv.so.1
> #5 0xb768c104 in uv_run () from /usr/lib/libuv.so.1
Gdybyś doinstalował libuv-debuginfo pojawiłoby się tam więcej informacji
co jeszcze bardziej ułatwiłoby identyfikację problemu.
More information about the pld-devel-pl
mailing list