On Thu, Mar 26, 2009 at 07:44:41PM +0100, Ronald Klop wrote: > On Thu, 26 Mar 2009 19:23:42 +0100, Kostik Belousov <kostik...@gmail.com> > wrote: > > >On Thu, Mar 26, 2009 at 05:26:13PM +0100, Ronald Klop wrote: > >>Hi, > >> > >>My brand new amd64 has a hanging process. > >># uname -a > >>FreeBSD sjakie.klop.ws 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #0: Wed Mar > >>25 00:07:31 UTC 2009 r...@dhcppc0:/usr/obj/usr/src/sys/GENERIC > >>amd64 > >> > >>I'm compiling a port of kde4. > >>top says this since a while: > >>43404 root 1 116 20 21304K 4148K umtxn 1 0:00 0.00% > >>automoc4 > >> > >># procstat -kk 43404 > >> PID TID COMM TDNAME KSTACK > >>43404 100279 automoc4 - tdq_cpu+0x1218 > >> > >>Dmesg in the attachment. > >> > >>Can I provide more information to debug this? > > > >Did you rebuild both world and kernel ? (old world with new kernel shall > >work, I am just gathering information by this question). > > > >The most useful data would be usermode backtrace of all threads. > >For this to be useful, you probably need to build at least libc > >and libthr with debugging symbols. > > > Yes, world and kernel are in sync. > Ok, I've rebuild libc and libthr with doing: > export DEBUG_FLAGS=-g > cd /usr/src/lib/libc > make clean && make depend && make && make install > > And the same for /usr/src/lib/libthr. libthr debug symbols seems to be damaged.
> > Now I did 'gdb /usr/local/bin/automoc4 <pid>' for both programs (see my > other mail). The output is in the attachment. One of the processes (43403) > is threaded, but I don't know how to debug that. Hints are welcome. you should list the threads with gdb command 'threads', then switch consequently to each thread by 'thread <tid>', and get a backtrace. Unfortunately, this is not useful without proper debugging information in system shared libraries. Also, looking at the mangled backtrace for pid 43403, it looks like ld.so also participates in the problem. It may be useful to install ld.so with debug symbols too.
pgpzoyM0wqpbr.pgp
Description: PGP signature