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