Subject: lib/30414: reproducable pthread failure on -current
To: None <lib-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <rtr@omicron-persei-8.net>
List: netbsd-bugs
Date: 06/03/2005 15:05:01
>Number:         30414
>Category:       lib
>Synopsis:       reproducable pthread failure on -current
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 03 15:05:00 +0000 2005
>Originator:     Tyler Retzlaff
>Release:        NetBSD 2.99.16
>Organization:
none!
>Environment:
System: NetBSD elysium.omicron-persei-8.net 2.99.16 NetBSD 2.99.16 (_elysium_) #0: Sun Feb 20 00:27:47 EST 2005 rtr@elysium.omicron-persei-8.net:/var/obj/_elysium_ i386
Architecture: i386
Machine: i386
>Description:
I've been observing the following pthread assertion from various things lately.

assertion "next != 0" failed: file "/usr/src/lib/libpthread/pthread_run.c", line 130, function "pthread__next"

the gdb backtrace would always look like

(gdb) run
Starting program: /home/rtr/pthtest
thread_resume_suspend_cb: td_thr_suspend(0x840b520): generic error.
[Switching to LWP 1]
Stopped due to shared library event
(gdb) bt
#0  0xbdbf743c in _rtld_debug_state () from /usr/libexec/ld.elf_so
#1  0xbdbf6c1f in _rtld () from /usr/libexec/ld.elf_so


>How-To-Repeat:
Simplest way to reproduce is with named -f -d -c, but I have other methods as well.

elysium# /usr/sbin/named -f -d 2 -c /usr/pkg/etc/named.conf  
assertion "next != 0" failed: file "/usr/src/lib/libpthread/pthread_run.c", line 130, function "pthread__next"
Abort 

>Fix:
for 3.0 I would hope