Subject: pkg/10855: dig from bind 9.0.0rc2 + unproven-pthreads 0.17 never terminates
To: None <gnats-bugs@gnats.netbsd.org>
From: None <itojun@itojun.org>
List: netbsd-bugs
Date: 08/17/2000 19:21:15
>Number:         10855
>Category:       pkg
>Synopsis:       dig from bind 9.0.0rc2 + unproven-pthreads 0.17 never terminates
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 17 19:22:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Jun-ichiro itojun Hagino
>Release:        main trunc 20000816
>Organization:
	itojun.org
>Environment:
System: NetBSD starfruit.itojun.org 1.5E NetBSD 1.5E (STARFRUIT) #93: Wed Aug 16 07:07:49 JST 2000 itojun@starfruit.itojun.org:/usr/home/itojun/NetBSD/src/sys/arch/i386/compile/STARFRUIT i386


>Description:
	BIND9 dig never terminates.  the binary is compiled with
	unproven-pthreads 0.17. (pkgsrc/devel/unproven-pthreads)

	the last part of ktrace output look like follows.
	there seem to be something wrong in thread management code of
	unproven-pthreads 0.17, or there is some bad interaction between BIND9
	dig and unproven-pthreads.

  6092 dig      NAMI  "/usr/share/nls/C/libc.cat"
  6092 dig      RET   open 6
  6092 dig      CALL  __fstat13(0x6,0x80ddb4c)
  6092 dig      RET   __fstat13 0
  6092 dig      CALL  __fstat13(0x6,0x80ddbc8)
  6092 dig      RET   __fstat13 0
  6092 dig      CALL  mmap(0,0xf57,0x1,0x1,0x6,0,0,0)
  6092 dig      RET   mmap 1210781696/0x482b1000
  6092 dig      CALL  close(0x6)
  6092 dig      RET   close 0
  6092 dig      CALL  munmap(0x482b1000,0xf57)
  6092 dig      RET   munmap 0
  6092 dig      CALL  read(0x3,0x80de090,0x4)
  6092 dig      GIO   fd 3 read 4 bytes
       "\^E\0\0\0"
  6092 dig      RET   read 4
  6092 dig      CALL  close(0x5)
  6092 dig      RET   close 0
  6092 dig      CALL  read(0x3,0x80de090,0x4)
  6092 dig      GIO   fd 3 read 4 bytes
       "\^E\0\0\0"
  6092 dig      RET   read 4
  6092 dig      CALL  read(0x3,0x80de090,0x4)
  6092 dig      GIO   fd 3 read 4 bytes
       "\M^?\M^?\M^?\M^?"
  6092 dig      RET   read 4
  6092 dig      CALL  setitimer(0x1,0x8059360,0)
  6092 dig      RET   setitimer 0
  6092 dig      CALL  close(0x3)
  6092 dig      RET   close 0
  6092 dig      CALL  close(0x4)
  6092 dig      RET   close 0
  6092 dig      CALL  setitimer(0x1,0x8059560,0)
  6092 dig      RET   setitimer 0
  6092 dig      CALL  setitimer(0x1,0x8059360,0)
  6092 dig      RET   setitimer 0
  6092 dig      CALL  getpid
  6092 dig      RET   getpid 6092/0x17cc
  6092 dig      CALL  kill(0x17cc,0xf)
  6092 dig      PSIG  SIGTERM caught handler=0x481d15d0 mask=() code=0x0
  6092 dig      RET   kill 0
  6092 dig      CALL  __sigreturn14(0x80b9c08)
  6092 dig      RET   __sigreturn14 JUSTRETURN
  6092 dig      CALL  __sigprocmask14(0x3,0x80ba0bc,0x80ba0ac)
  6092 dig      RET   __sigprocmask14 0
  6092 dig      CALL  setitimer(0x1,0x8059160,0)
  6092 dig      RET   setitimer 0
  6092 dig      PSIG  SIGVTALRM caught handler=0x481d15d0 mask=() code=0x0
  6092 dig      CALL  __sigreturn14(0xbfbfd9e0)
  6092 dig      RET   __sigreturn14 JUSTRETURN
  6092 dig      CALL  setitimer(0x1,0x8059160,0)
  6092 dig      RET   setitimer 0
(last 5 lines repeat forever)
>How-To-Repeat:
	- install pkgsrc/net/bind9.
	- try "/usr/pkg/bin/dig bsdports.org. any".
	- the program never terminates.
>Fix:
	not sure, i'm a single-threaded guy...
>Release-Note:
>Audit-Trail:
>Unformatted: