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/