Subject: lib/36011: pthread library causes a crash with puffs/dtfs
To: None <lib-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <jenkink4@cc.wwu.edu>
List: netbsd-bugs
Date: 03/14/2007 19:50:01
>Number:         36011
>Category:       lib
>Synopsis:       pthread library causes a crash with puffs/dtfs
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Wed Mar 14 19:50:00 +0000 2007
>Originator:     Karl Jenkinson
>Release:        NetBSD 4.99.13
>Organization:
Western Washington University
>Environment:
	
	
System: NetBSD pm67 4.99.13 NetBSD 4.99.13 (PEERFS) #0: Fri Mar 9 08:04:03 PST 2007 root@pm67:/wd0f/src-cur/sys/arch/i386/compile/obj/PEERFS i386
Architecture: i386
Machine: i386
>Description:
Including -lpthread in the Makefile for a dtfs clone causes dtfs to crash.
Dtfs is a user-space file system running under puffs.
/usr/src/sys/fs/puffs/
/usr/src/lib/libpuffs/
/usr/src/share/examples/puffs/dtfs/

Changing the LDADD line in the Makefile in the last directory to:
LDADD+= -lpuffs -lutil -lpthread

causes a crash when you try to create anything, such as:
# mkdir /testdtfs/one
mkdir: /testdtfs/one: Device not configured
[1]+  Segmentation fault      (core dumped) ./dtfs -s /testdtfs/

"ls" (on an empty directory) works properly.

NOTE: in NetBSD 4.99.5 this was not a problem.  pthreads, and the pthread library
worked fine with puffs/dtfs.

>How-To-Repeat:
mkdir /testdtfs
# in directory /usr/src/share/examples/puffs/dtfs/:
# Edit the Makefile as described.
make  # compiles dtfs executable
./dtfs -s /testdtfs &
mkdir /testdtfs/one

>Fix:
unknown

>Unformatted: