[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
threads/91779: threaded perl-5.8's io/pipe test and IPC::Run::start() stalls in umtx with libthr
>Number: 91779
>Category: threads
>Synopsis: threaded perl-5.8's io/pipe test and IPC::Run::start() stalls in umtx with libthr
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-threads
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Jan 14 02:10:02 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Joseph Lee
>Release: FreeBSD 6-STABLE
>Organization:
Walt Disney Internet Group
>Environment:
FreeBSD npubby.online.disney.com 6.0-STABLE FreeBSD 6.0-STABLE #6: Fri Jan 13 12:29:15 PST 2006 root@xxxxxxxxxxxxxxxxxxxxxxxx:/usr/obj/usr/src/sys/PUBBY i386
>Description:
Threaded perl5.8 libmapped to libthr will hang indefinitely in umtx when performing any external pipe operations such as the t/io/pipe test. It works fine if mappings stay with the default libpthread.
Kernel is running the 4BSD scheduler.
>How-To-Repeat:
Build /usr/ports/lang/perl5.8 with /etc/make.conf as:
WITH_THREADS=yes
and set /etc/libmap.conf as:
libpthread.so.2 libthr.so.2
libpthread.so libthr.so
In /usr/ports/lang/perl5.8/work/perl-5.8.7 do 'make test' and the t/io/pipe will stall in umtx:
49375 root 1 102 0 3360K 2880K umtx 0:00 0.00% perl
48899 root 1 -8 0 3688K 3172K piperd 0:00 0.00% perl
Using cvsweb3 where any code calls start_proc() such as "download" or "annotate", perl will hang in umtx condition indefinitely as well.
>Fix:
Restore /etc/libmap.conf to NOT remap libpthread to libthr, or build perl5.8 unthreaded.
>Release-Note:
>Audit-Trail:
>Unformatted: