threads/91779: threaded perl-5.8's io/pipe test and IPC::Run::start() stalls in umtx with libthr

Joseph Lee joseph.lee at dig.com
Fri Jan 13 18:10:04 PST 2006


>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 at npubby.online.disney.com:/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:


More information about the freebsd-threads mailing list