Date: Thu, 4 Nov 2004 16:28:31 -0600 From: Dan Nelson <dnelson@allantgroup.com> To: Marc Ramirez <marc.ramirez@bluecirclesoft.com> Cc: Mike Makonnen <mtm@identd.net> Subject: Re: [FreeBSD 5.3-RC2] Processes STILL hanging in unkillable state Message-ID: <20041104222831.GD10428@dan.emsphone.com> In-Reply-To: <200411041634.39570.marc.ramirez@bluecirclesoft.com> References: <200411032312.50664.marc.ramirez@bluecirclesoft.com> <20041104143644.GA36101@rogue.acs.lan> <200411041634.39570.marc.ramirez@bluecirclesoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Nov 04), Marc Ramirez said: > On Thursday 04 November 2004 09:36 am, Mike Makonnen wrote: > > Hmm, looks like the application is using libthr and not libpthread. > > I'll take a look at it, but in the mean time you might want to map > > libthr and libc_r to libpthread in libmap.conf(5). > > > > Can all other users with this problem verify which threading > > library they're running? You can use the following command on the > > binary. For example: # ldd /path/to/binary > > Not me. Thanks! I just noticed this on my machine as well (SMP, 5.3-stable as of yesterday), running a testsuite program linked to libpthreads. It creates 10 threads whose only job is to fork(), exec /bin/sleep, kill -9 the child, and wait for the status. Each thread does this 1000 times in a tight loop. Occasionally the whole thing will end up STOPped, but resumes within 60 seconds. If I ktrace the process during this, I see a long delay followed by: 39117 pike RET fork 0 32592 pike RET fork 39117/0x98cd Could there be a race or deadlock within the kernel's fork() routines? What happens if two threads on different CPUs decide to fork at the same time? -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041104222831.GD10428>