Subject: Re: bin/34269: named crash
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: Julian Coleman <jdc@coris.org.uk>
List: netbsd-bugs
Date: 08/29/2006 21:40:02
The following reply was made to PR bin/34269; it has been noted by GNATS.

From: Julian Coleman <jdc@coris.org.uk>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: bin/34269: named crash
Date: Tue, 29 Aug 2006 22:37:53 +0100

 >  Maybe I'm just doing something stupidly wrong, but I fail to build now.
 >  I put Makefile.inc 1.19.2.1.2.1 into usr.sbin/bind and did nbmake-sparc cle=
 >  an
 >  and nbmake-sparc. I got:
 >  
 >  #   compile  libisc/condition.o
 >  /Volumes/User/ef-cliff/local/build/NetBSD/usr/src/tooldir.Darwin-7.9.0-powe=
 >  rpc/bin/sparc--netbsdelf-gcc -O2 -Wall -Wstrict-prototypes -Wmissing-protot=
 >  ypes -Wpointer-arith -Wno-sign-compare -Wno-traditional -Wno-uninitialized =
 >   -Werror    -I/Volumes/User/ef-cliff/local/build/NetBSD/usr/src/usr.sbin/bi=
 >  nd/include  -I/Volumes/User/ef-cliff/local/build/NetBSD/usr/src/dist/bind/l=
 >  ib/dns/include -I/Volumes/User/ef-cliff/local/build/NetBSD/usr/src/dist/bin=
 >  d/lib/dns/unix/include  -I/Volumes/User/ef-cliff/local/build/NetBSD/usr/src=
 >  /dist/bind/lib/isc/include -I/Volumes/User/ef-cliff/local/build/NetBSD/usr/=
 >  src/dist/bind/lib/isc/unix/include  -I/Volumes/User/ef-cliff/local/build/Ne=
 >  tBSD/usr/src/dist/bind/lib/bind9/include  -I/Volumes/User/ef-cliff/local/bu=
 >  ild/NetBSD/usr/src/dist/bind/lib/isccfg/include  -I/Volumes/User/ef-cliff/l=
 >  ocal/build/NetBSD/usr/src/dist/bind/lib/isccc/include  -I/Volumes/User/ef-c=
 >  liff/local/build/NetBSD/usr/src/dist/bind/lib/lwres/include -I/Volumes/User=
 >  /ef-cliff/local/build/NetBSD/usr/src/dist/bind/lib/lwres/unix/include  -I/V=
 >  olumes/User/ef-cliff/local/build/NetBSD/usr/src/dist/bind/lib/dns/sec/dst/i=
 >  nclude  -DNS_LOCALSTATEDIR=3D\"/var\"  -DNS_SYSCONFDIR=3D\"/etc\"  -DVERSIO=
 >  N=3D\"9.3.0\" -DWANT_IPV6 -DLIBINTERFACE=3D10  -DLIBREVISION=3D4 -DLIBAGE=
 >  =3D1 -I/Volumes/User/ef-cliff/local/build/NetBSD/usr/src/dist/bind/lib/isc/=
 >  nothreads/include   -nostdinc -isystem /Volumes/User/ef-cliff/local/build/N=
 >  etBSD/usr/src/obj/destdir.sparc/usr/include -c    /Volumes/User/ef-cliff/lo=
 >  cal/build/NetBSD/usr/src/dist/bind/lib/isc/pthreads/condition.c -o conditio=
 >  n.o.tmp
 >  /Volumes/User/ef-cliff/local/build/NetBSD/usr/src/dist/bind/lib/isc/pthread=
 >  s/condition.c:34: error: parse error before "void"
 >  
 >  Note that it tries to compile lib/isc/PTHREADS/condition.c.
 >  As this was a cross-compile on a PowerBook running Max OS X, I retried on
 >  a NetBSD/amd64 mahine, but with the same result.
 
 Can you try a `make cleandir` instead of a `make clean`?  It could be that
 there were some files left over from make depend.  When I run a build, it
 compiles src/dist/bind/lib/isc/nothreads/condition.c at this point, not the
 one from the pthreads directory.
 
 >  Anything I can help chasing the real problem?
 
 There is a description of the problem at the top of the "NetBSD/sparc64
 Projects" page at:
 
   http://www.netbsd.org/Ports/sparc64/projects.html
 
    * Threaded  programs  crash:  there  is  an  annoying  bug, probably
      somewhere  related  to trap handling or register saving/restoring,
      that  causes register on return from syscall() to be restored from
      the  wrong  storage - resulting in all local registers being zero.
      This  can  be  observed for example by running firefox: it crashes
      inside  libpthread,  when  dereferencing a pointer stored in (say)
      %l6,  supposed  to  point  to  the  current  thread, but after the
      syscall being NULL.
 
 However, the problem isn't obvious.  If you fancy looking at it, a post to
 the port-sparc or port-sparc64 lists should get you some more pointers on
 how to go about debugging it.
 
 J
 
 -- 
   My other computer also runs NetBSD    /        Sailing at Newbiggin
         http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/