NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-arm/60210: /usr/sbin/named doesn't work on NetBSD-11/earmv5, earmv6hf, earmv7hf



The following reply was made to PR port-arm/60210; it has been noted by GNATS.

From: mlelstv%serpens.de@localhost (Michael van Elst)
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: port-arm/60210: /usr/sbin/named doesn't work on NetBSD-11/earmv5, earmv6hf, earmv7hf
Date: Sun, 26 Apr 2026 05:54:54 -0000 (UTC)

 gnats-admin%NetBSD.org@localhost ("john%ziaspace.com@localhost via gnats") writes:
 
 >Launching /usr/sbin/named with any configuration gives a process that 
 >takes 100% CPU on one core.
 
 Same on -current.
 
 (gdb) bt
 #0  0x75a26218 in poll () from /usr/lib/libc.so.12
 #1  0x7619dce0 in poll (fds=fds@entry=0x0, nfds=nfds@entry=0, 
     timeout=timeout@entry=10)
     at /scratch/netbsd-current/src/lib/libpthread/pthread_cancelstub.c:482
 #2  0x00b8ef7c in compat_futex_async (uaddr=uaddr@entry=0x75876ba8, 
     op=op@entry=0, val=-1, timeout=timeout@entry=0x0, uaddr2=uaddr2@entry=0x0, 
     val3=val3@entry=0)
     at /scratch/netbsd-current/src/external/lgpl2/userspace-rcu/lib/liburcu-mb/../../dist/src/compat_futex.c:125
 #3  0x00b91d60 in futex_async (uaddr=0x75876ba8, op=0, val=-1, timeout=0x0, 
     uaddr2=0x0, val3=0)
     at /scratch/netbsd-current/src/external/lgpl2/userspace-rcu/lib/liburcu-cds/../../dist/include/urcu/futex.h:274
 #4  futex_wait (futex=futex@entry=0x75876ba8)
     at /scratch/netbsd-current/src/external/lgpl2/userspace-rcu/lib/liburcu-cds/../../dist/src/workqueue.c:121
 #5  0x00b923d4 in workqueue_thread (arg=0x75876b80)
     at /scratch/netbsd-current/src/external/lgpl2/userspace-rcu/lib/liburcu-cds/../../dist/src/workqueue.c:232
 #6  0x761a3748 in pthread__create_tramp (cookie=0x75604600)
     at /scratch/netbsd-current/src/lib/libpthread/pthread.c:607
 #7  0x75a26c18 in __mknod50 () from /usr/lib/libc.so.12
 Backtrace stopped: previous frame identical to this frame (corrupt stack?)
 
 __mknod50 is an artefact.
 
 (gdb) info threads
   Id   Target Id                                  Frame 
 * 1    LWP 3184 of process 3387 ""                0x75a26218 in poll ()
    from /usr/lib/libc.so.12
   2    LWP 2992 of process 3387 "isc-helper-0003" 0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   3    LWP 3257 of process 3387 "isc-helper-0002" 0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   4    LWP 2359 of process 3387 "isc-helper-0001" 0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   5    LWP 3253 of process 3387 "isc-helper-0000" 0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   6    LWP 3384 of process 3387 "isc-loop-0003"   0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   7    LWP 3539 of process 3387 "isc-loop-0002"   0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   8    LWP 2106 of process 3387 "isc-loop-0001"   0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
   9    LWP 3420 of process 3387 ""                0x75a26218 in poll ()
    from /usr/lib/libc.so.12
   10   LWP 3387 of process 3387 ""                0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
 
 The thread frame pointers are probably another artefact, threads shouldn't
 share stack frames. For the record, e.g.:
 
 Thread 7 (LWP 3539 of process 3387 "isc-loop-0002"):
 #0  0x75a262b4 in _sys___kevent100 () from /usr/lib/libc.so.12
 #1  0x7619d650 in __kevent100 (fd=12, ev=ev@entry=0x74805f48, nev=<optimized out>, rev=rev@entry=0x74805f48, nrev=nrev@entry=1024, ts=ts@entry=0x0) at /scratch/netbsd-current/src/lib/libpthread/pthread_cancelstub.c:314
 #2  0x7627392c in uv__io_poll (loop=0x75823c78, timeout=<optimized out>) at /scratch/netbsd-current/src/external/mit/libuv/lib/../dist/src/unix/kqueue.c:286
 #3  0x7627bd00 in uv_run (loop=<optimized out>, mode=UV_RUN_DEFAULT) at /scratch/netbsd-current/src/external/mit/libuv/lib/../dist/src/unix/core.c:460
 #4  0x7626503c in loop_thread (arg=arg@entry=0x75823c68) at /scratch/netbsd-current/src/external/mpl/bind/lib/libisc/../../dist/lib/isc/loop.c:330
 #5  0x7626ad70 in thread_body (wrap=0x75855830) at /scratch/netbsd-current/src/external/mpl/bind/lib/libisc/../../dist/lib/isc/thread.c:87
 #6  thread_run (wrap=0x75855830) at /scratch/netbsd-current/src/external/mpl/bind/lib/libisc/../../dist/lib/isc/thread.c:102
 #7  0x761a3748 in pthread__create_tramp (cookie=0x75601c00) at /scratch/netbsd-current/src/lib/libpthread/pthread.c:607
 #8  0x75a26c18 in __mknod50 () from /usr/lib/libc.so.12
 Backtrace stopped: previous frame identical to this frame (corrupt stack?)
 
 
 According to ps, the spinning thread is LID 3384:
 
 #  ps -sp 3387
 UID  PID PPID   CPU  LID NLWP PRI NI   VSZ   RSS WCHAN  STAT TTY   LTIME COMMAND
   0 3387    1 36864 3184   10  85  0 80376 11144 poll   S    ?   0:00.24 /usr/s
   0 3387    1 36864 2992   10  85  0 80376 11144 kqueue I    ?   0:00.00 /usr/s
   0 3387    1 36864 3257   10  85  0 80376 11144 kqueue I    ?   0:00.00 /usr/s
   0 3387    1 36864 2359   10  85  0 80376 11144 kqueue I    ?   0:00.00 /usr/s
   0 3387    1 36864 3253   10  85  0 80376 11144 kqueue I    ?   0:00.00 /usr/s
   0 3387    1 36864 3384   10  25  0 80376 11144 -      O    ?   5:45.56 /usr/s
   0 3387    1 36864 3539   10  85  0 80376 11144 kqueue I    ?   0:00.06 /usr/s
   0 3387    1 36864 2106   10  85  0 80376 11144 kqueue I    ?   0:00.07 /usr/s
   0 3387    1 36864 3420   10  85  0 80376 11144 poll   S    ?   0:00.21 /usr/s
   0 3387    1 36864 3387   10  85  0 80376 11144 kqueue I    ?   0:00.28 /usr/s
 
 
 Using gcore and loading the core with gdb reveals:
 
 (gdb) info threads
   Id   Target Id         Frame 
 * 1    process 3184      0x75a26218 in poll () from /usr/lib/libc.so.12
   2    process 2992      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
   3    process 3257      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
   4    process 2359      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
   5    process 3253      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
   6    process 3384      0x75a26f68 in __clock_gettime50 ()
    from /usr/lib/libc.so.12
   7    process 3539      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
   8    process 2106      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
   9    process 3420      0x75a26218 in poll () from /usr/lib/libc.so.12
   10   process 3387      0x75a262b4 in _sys___kevent100 ()
    from /usr/lib/libc.so.12
 
 (gdb) thread apply 6 bt 
 
 Thread 6 (process 3384):
 #0  0x75a26f68 in __clock_gettime50 () from /usr/lib/libc.so.12
 #1  0x7627f810 in uv__hrtime (type=<optimized out>) at /scratch/netbsd-current/src/external/mit/libuv/lib/../dist/src/unix/posix-hrtime.c:32
 #2  0x7627be40 in uv__update_time (loop=0x758240a8) at /scratch/netbsd-current/src/external/mit/libuv/lib/../dist/src/unix/internal.h:405
 #3  uv_run (loop=<optimized out>, mode=UV_RUN_DEFAULT) at /scratch/netbsd-current/src/external/mit/libuv/lib/../dist/src/unix/core.c:477
 #4  0x7626503c in loop_thread (arg=arg@entry=0x75824098) at /scratch/netbsd-current/src/external/mpl/bind/lib/libisc/../../dist/lib/isc/loop.c:330
 #5  0x7626ad70 in thread_body (wrap=0x75855850) at /scratch/netbsd-current/src/external/mpl/bind/lib/libisc/../../dist/lib/isc/thread.c:87
 #6  thread_run (wrap=0x75855850) at /scratch/netbsd-current/src/external/mpl/bind/lib/libisc/../../dist/lib/isc/thread.c:102
 #7  0x761a3748 in pthread__create_tramp (cookie=0x75602a00) at /scratch/netbsd-current/src/lib/libpthread/pthread.c:607
 #8  0x75a26c18 in __mknod50 () from /usr/lib/libc.so.12
 Backtrace stopped: previous frame identical to this frame (corrupt stack?)
 
 



Home | Main Index | Thread Index | Old Index