[Pdns-users] PDNS-crashes on Solaris8/gcc3.4/mysql4.1.14

Juergen Ilse powerdns at usenet-verwaltung.de
Thu Mar 29 09:11:43 UTC 2007


I see (since a long time) crashes of the authoritative Nameserver with
powerdns-2.6.21-svn (on all svn-snapshots). After a crash with signal 10
(SIGBUS) a new instance of the authoritative server starts and all seems
to be ok again. I have not found the reason for this behaviour until now.
The powerdns server runs herse only with gmysql-backend (without bind-
backend) in my test-configuration. On Linux, there is no problem and no
crashes with SIGBUS (i think, there is no Buserror on x86-Linux-Systems,
or am i wrong about that?). In notice the crashes on Solaris8 on Sparcv9,
compiled as 32-Bit-Software.

I have thought long time ago, that the reason could be the use of
libmysqlclient.so instead of the reentrent Version libmysqlclient_r.so,
so i patched configure.in (and some other files) to use the reentrent 
library-Version, but no success in that case. 
I also installed some patches to get around some quirks with "stdint.h" 
and the "RDTSC" (which does not run on Solaris/Sparc), also to get around 
double definition of "ns_t_*" constants (in dns.hh, on Solaris8/Sparc, 
these values are already defined ...). Also the epollmplexer.cc makes 
problems on Solaris8/Sparc, so i deleted it from pdns/Makefile.am ... 
There is also a small patch necessary, because there is no <net/ethernet.h> 
on Solaris8/Sparc (it is <sys/ethernet.h> on that platform).

I think, there is something in the code, which leads in some rare cases
to some "unaligned memory-access", which makes no problem on x86, but which
leads to SIGBUS on Sparc-CPU. Do you have an idea about the part of code,
which could lead to unaligned memory-access?

Tell me, if you are interested in my list of patches (which i installed
once, to compile powerdns on my systems, and which will be preserved with
everey "svn update" until now), i will send them via e-mail, if you are
interested. Without some patches, it is IMHO impossible to compile powerdns
successfully on Solaris8/Sparc (at least when using gcc3.4.x). I compiled
powerdns with the Option"--with-modules="gmysql pdns pipe geo" and
--with-dynmodules="gmysql pdns pipe geo", but i only have launched the
gmysql backend in my default configuration ...

The crashes of pdns authoritative Server on Solaris8/Sparc are now only
about every 12-16 hours, since i have updated to rev1001, with older
version, i sometimes noticed them several time per hour ...

If you are interested to get a binary-Distribution of powerdns for
Solaris Sparc, i can give you my compiled version.

Thanks for the good work on powerdns until now, but i would be glad, if
you can give me some information about the possible places in the code,
which can lead to the buserrors on Sparc machines ...

	Juergen Ilse			(juergen at usenet-verwaltung.de)
Ein Domainname (auch wenn er Teil einer Mailadresse ist) ist nur ein Name,
nicht mehr und nicht weniger ...

More information about the Pdns-users mailing list