Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 2000 20:53:29 -0700 (PDT)
From:      hwc@openfind.com.tw
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/18510: pthread hang and Fatal error '_waitq_insert: Already in queue' at line'
Message-ID:  <20000512035329.C14CB37BC88@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         18510
>Category:       misc
>Synopsis:       pthread hang and Fatal error '_waitq_insert: Already in queue' at line'
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 11 21:00:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Wei-Chen Huang
>Release:        FreeBSD 4.0 and 3.4
>Organization:
openfind (http://www.openfind.com)
>Environment:
FreeBSD sable1.iis.sinica.edu.tw 4.0-STABLE FreeBSD 4.0-STABLE #1: Fri May 12 11:19:20 CST 2000     root@sable1.iis.
sinica.edu.tw:/usr/src/sys/compile/SABLE1_MP  i386
>Description:
I'm programing a http proxy using pthread ..
Sometimes program will hang and cpu is 9x%....

I rebuild libc_r with -D_PTHREADS_INVARIANTS -g
then, got 
Fatal error '_pq_remove: Not in priority queue' at line ? in file /usr/src/lib/libc_r/uthread/uthread_priority_queue.c (errno = ?)
program terminated....

I'v modified some code, to log thread_id, capture signal and let the program continue...

Then
*26 ERR-'_waitq_insert: Already in queue',thread id='134639616'
        thread id=134639616    capture SIGPIPE
*26 ERR-'_pq_remove: Not in priority queue',thread id='134642688'
*26 ERR-'_waitq_insert: Already in queue',thread id='134642688'
*26 ERR-'_pq_remove: Not in priority queue',thread id='134642688'
*26 ERR-'_waitq_insert: Already in queue',thread id='134642688'
*26 ERR-'_pq_remove: Not in priority queue',thread id='134642688'
*26 ERR-'_waitq_insert: Already in queue',thread id='134642688'
*26 ERR-'_pq_remove: Not in priority queue',thread id='134642688'
*26 ERR-'_waitq_insert: Already in queue',thread id='134642688'
infinite loop


This condition happened in FreeBSD 3.4, and FreeBSD 4.0,
I'v updated source code (cvsup) and make world..
>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000512035329.C14CB37BC88>