NetBSD-Bugs archive

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

Re: kern/57171: altqd takes 100% of a CPU when daemon is stopped



Taylor R Campbell a écrit :
> The following reply was made to PR kern/57171; it has been noted by GNATS.
> 
> From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
> To: =?UTF-8?Q?BERTRAND_Jo=c3=abl?= <joel.bertrand%systella.fr@localhost>
> Cc: gnats-bugs%NetBSD.org@localhost
> Subject: Re: kern/57171: altqd takes 100% of a CPU when daemon is stopped
> Date: Fri, 6 Jan 2023 19:28:49 +0000
> 
>  Can you do the following:
>  
>  1. When altqd is hanging and taking 100% CPU, hit ^T at the terminal
>     and show what it prints?

netbsd-test1# /etc/rc.d/altqd onestart
Starting altqd.
netbsd-test1# /etc/rc.d/altqd onestop
Stopping altqd.
[ 1918.6360379] load: 0.08  cmd: sleep 2081 [nanoslp] 0.00u 0.00s 0% 1520k
sleep: Between -1 and 0 seconds left out of the original 0 and a bit

>  2. Install the debug.tgz set (or debug.tar.xz) in the VM, try
>     attaching gdb again, and do `bt' and `info locals'?

netbsd-test1# gdb -p 1779
GNU gdb (GDB) 11.0.50.20200914-git
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 1779
Reading symbols from /usr/sbin/altqd...
(No debugging symbols found in /usr/sbin/altqd)
Reading symbols from /usr/lib/libutil.so.7...
Reading symbols from /usr/libdata/debug//usr/lib/libutil.so.7.24.debug...
Reading symbols from /usr/lib/libm.so.0...
Reading symbols from /usr/libdata/debug//usr/lib/libm.so.0.12.debug...
Reading symbols from /usr/lib/libc.so.12...
Reading symbols from /usr/libdata/debug//usr/lib/libc.so.12.220.debug...
Reading symbols from /usr/libexec/ld.elf_so...
Reading symbols from /usr/libdata/debug//libexec/ld.elf_so.debug...
[Switching to LWP 1779 of process 1779]
0x00000000a9e0564b in qop_clear ()
(gdb) bt
#0  0x00000000a9e0564b in qop_clear ()
#1  0x00000000a9e05774 in qop_delete_if ()
#2  0x00000000a9e058c6 in qcmd_destroyall ()
#3  0x00000000a9e12c45 in main ()
(gdb) info locals
No symbol table info available.
(gdb)

	Please not that there is no altqd or altqd.debug in debug.tar.xz.

>  It might be stuck in logic in userland.  Possible there's some bug
>  with the data structure management in qop.c that sends it into an
>  infinite loop.
>  
> 



Home | Main Index | Thread Index | Old Index