-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I am hoping someone can help me locate the cause of the problem I am
facing with NSD 3.0.7 and Solaris 9. There are certain warning
messages in syslog and nsd-patch coredumps due to SIGBUS. However if
the number of zones is around 4 it works fine. I tried increasing
resource limits in solaris but however prstat will always show 10M
Size for NSD
I have posted some debugging output below:
Thanks
# nsdc patch
reading database
reading updates to database
/usr/local/sbin/nsdc: line 307: 26885 Bus Error (core
dumped) ${sbindir}/nsd-patch -c ${configfile} -x ${difffile}.$$
nsdc: patch failed.
Apr 8 23:02:00 localhost nsd[26825]: [ID 702911 daemon.warning] signal
received, reloading...
Apr 8 23:02:00 localhost nsd[26825]: [ID 702911 daemon.warning] Reload
process 26925 failed with status 10, continuing with old database
Apr 8 23:02:00 localhost nsd[26826]: [ID 702911 daemon.error] xfrd: zon
e example.org: soa serial 2008031501 update failed restarting tra
nsfer (notified zone)
# uname -a
SunOS localhost.localdomain 5.9 Generic_112233-12 sun4u sparc
SUNW,Serverblade1
# gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/
specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/
ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++ :
(reconfigured) ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/
ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++
Thread model: posix
gcc version 3.3.2
./configure \
- --enable-root-server \
- --enable-bind8-stats \
- --enable-nsec3 \
- --with-configdir=/var/nsd \
- --with-zonesdir=/var/nsd \
- --with-user=nsd \
- --with-difffile=/var/nsd/cache/ixfr.db \
- --with-xfrdfile=/var/nsd/cache/xfrd.state \
- --with-ssl
mdb /usr/local/sbin/nsd-patch core
Loading modules: [ libc.so.1 ld.so.1 ]
> $?
no process
SIGBUS: Bus Error
%g0 = 0x00000000 %l0 = 0x00000000
%g1 = 0xffbfdb34 %l1 = 0xffffe09e
%g2 = 0x00000000 %l2 = 0x000106e6
%g3 = 0x00000000 %l3 = 0x00000000
%g4 = 0x00000000 %l4 = 0x00000000
%g5 = 0x00000000 %l5 = 0x00000000
%g6 = 0x00000000 %l6 = 0x00000000
%g7 = 0x00000000 %l7 = 0x00000000
%o0 = 0x0005307c %i0 = 0x00058df8
%o1 = 0xffbfdae8 %i1 = 0x0004d508
%o2 = 0x00000000 %i2 = 0x0005309c
%o3 = 0x00000001 %i3 = 0xffbfef50
%o4 = 0x00000000 %i4 = 0x77a1ef74
%o5 = 0x000f3d04 %i5 = 0x0004d918
%o6 = 0xffbfcdf0 %i6 = 0xffbfdaa0
%o7 = 0x000196e4 diff_read_find_part+0xc %i7 = 0x00019be4
read_sure_part+0x378
%psr = 0xfe000002 impl=0xf ver=0xe icc=nzvc
ec=0 ef=0 pil=0 s=0 ps=0 et=0 cwp=0x2
%y = 0x00000000
%pc = 0x00018b74 apply_ixfr+4
%npc = 0x00018b78 apply_ixfr+8
%sp = 0xffbfcdf0
%fp = 0xffbfdaa0
%wim = 0x00000000
%tbr = 0x00000000
> ::stack
apply_ixfr+4(58df8, 4d508, 5309c, ffbfef50, 77a1ef74, 4d918)
read_sure_part+0x378(58df8, 4d508, 4d918, ffffdfe8, 53050, 1)
read_process_part+0x68(0, 4d508, 53555245, 4d918, 52e10, ffbffcc4)
diff_read_file+0x8c(58df8, 4d918, ffbffcc4, 1, 1c670, 6be90)
main+0x198(58df8, 0, ffbffd54, 4d830, 0, 0)
_start+0x5c(0, 0, 0, 0, 0, 0)
> apply_ixfr+4::dis
delete_zone_rrs+0x60: call +0x95ac <rbtree_next>
delete_zone_rrs+0x64: mov %l0, %o0
delete_zone_rrs+0x68: cmp %o0, %l1
delete_zone_rrs+0x6c: be,a +8
<delete_zone_rrs+0x74>
delete_zone_rrs+0x70: clr %o0
delete_zone_rrs+0x74: ba -0x64
<delete_zone_rrs+0x10>
delete_zone_rrs+0x78: mov %o0, %l0
delete_zone_rrs+0x7c: ret
delete_zone_rrs+0x80: restore
apply_ixfr: save %sp, -0xcb0, %sp
apply_ixfr+4: ldd [%i2], %o4
apply_ixfr+8: ld [%fp + 0x5c], %l0
apply_ixfr+0xc: mov %o4, %o1
apply_ixfr+0x10: mov %o5, %o2
apply_ixfr+0x14: ld [%fp + 0x60], %l6
apply_ixfr+0x18: ld [%fp + 0x64], %l7
apply_ixfr+0x1c: ld [%fp + 0x68], %l4
apply_ixfr+0x20: ld [%fp + 0x6c], %l5
apply_ixfr+0x24: ld [%fp + 0x70], %i2
apply_ixfr+0x28: mov %i1, %o0
apply_ixfr+0x2c: call +0x21c58 <PLT=libc.so.
1`fseeko64>
26992: fork() (returning as child ...) = 26985
26992: close(11) = 0
26992: open64("/var/nsd/nsd.db", O_RDONLY) = 7
26992: llseek(7, 22, SEEK_SET) = 22
26992: fstat64(7, 0xFFBFF890) = 0
26992: brk(0x000CDB28) = 0
26992: brk(0x000CFB28) = 0
26992: fstat64(7, 0xFFBFF738) = 0
26992: ioctl(7, TCGETA, 0xFFBFF81C) Err#25 ENOTTY
26992: read(7, "\bAE85 1 N S D d b V 0 7", 8192) = 12
26992: llseek(7, 0, SEEK_CUR) = 34
26992: close(7) = 0
26992: open64("/var/nsd/cache/ixfr.db", O_RDONLY) = 7
26992: llseek(7, 0, SEEK_CUR) = 0
26992: fstat64(7, 0xFFBFF818) = 0
26992: fstat64(7, 0xFFBFF6C0) = 0
26992: ioctl(7, TCGETA, 0xFFBFF7A4) Err#25 ENOTTY
26992: read(7, " I X F R\0\001 S\0\0\019".., 8192) = 8192
26992: llseek(7, 0xFFFFFFFFFFFFE15B, SEEK_CUR) = 347
26992: read(7, "\0\001 S S U R E\0\0\0AA".., 8192) = 8192
26992: llseek(7, 0, SEEK_CUR) = 8539
26992: llseek(7, 0, SEEK_CUR) = 8539
26992: brk(0x000CFB28) = 0
26992: brk(0x000D1B28) = 0
26992: llseek(7, 0, SEEK_CUR) = 8539
26992: llseek(7, 0, SEEK_SET) = 0
26992: read(7, " I X F R\0\001 S\0\0\019".., 8192) = 8192
26992: brk(0x000D1B28) = 0
26992: brk(0x000F1B28) = 0
26992: llseek(7, 529, SEEK_SET) = 529
26992: read(7, "\0\0\0AA I X F R\0\001 =".., 8192) = 8192
26992: llseek(7, 0, SEEK_CUR) = 8721
26992: llseek(7, 0xFFFFFFFFFFFFE149, SEEK_CUR) = 858
26992: read(7, "\0\001 = S U R E\0\0\0B0".., 8192) = 8192
26992: llseek(7, 0, SEEK_CUR) = 9050
26992: llseek(7, 0, SEEK_CUR) = 9050
26992: llseek(7, 0, SEEK_CUR) = 9050
26992: Incurred fault #5, FLTACCESS %pc = 0x0001ADB4
26992: siginfo: SIGBUS BUS_ADRALN addr=0x000CC6E4
26992: Received signal #10, SIGBUS [default]
26992: siginfo: SIGBUS BUS_ADRALN addr=0x000CC6E4
26985: Received signal #18, SIGCLD [caught]
26985: siginfo: SIGCLD CLD_KILLED pid=26992 status=0x000A
26985: setcontext(0xFFBFF830)
26985: close(8) = 0
26985: getpgid(0) = 26984
26985: waitid(P_PGID, 26984, 0xFFBFFA68, WEXITED|WTRAPPED|WNOHANG) = 0
26985: fstat(6, 0xFFBFF540) = 0
26985: time() = 1207696505
26985: getpid() = 26985 [26984]
26985: putmsg(6, 0xFFBFEBF8, 0xFFBFEBEC, 0) = 0
26985: open("/var/run/syslog_door", O_RDONLY) = 7
26985: door_info(7, 0xFFBFEB30) = 0
26985: getpid() = 26985 [26984]
26985: door_call(7, 0xFFBFEB18) = 0
26985: close(7) = 0
26985: time() = 1207696505
26985: getpid() = 26985 [26984]
[26985: write(2, " [", 1) = 1
120769650526985: write(2, " 1 2 0 7 6 9 6 5 0 5",
10) = 10
] 26985: write(2, " ] ", 2) = 2
nsd26985: write(2, " n s d", 3) = 3
[26985: write(2, " [", 1) = 1
2698526985: write(2, " 2 6 9 8 5", 5) = 5
]: 26985: write(2, " ] : ", 3) = 3
warning26985: write(2, " w a r n i n g", 7) = 7
: 26985: write(2, " : ", 2) = 2
Reload process 26992 failed with status 10, continuing with old
database26985: write(2, " R e l o a d p r o c e".., 72) = 72
26985: write(2, "\n", 1) = 1
26985: close(11) = 0
Regards,
Vicky Shrestha
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iQEcBAEBAgAGBQJH/AK5AAoJEGi4SIJCvhMLA1cIAN8KWGdcLWEynW0sGKAvE2Fp
anWvwH9zQxkUW1gokINTFvPT8MzQafAtaho8KLlZmk7r7Ag2Ku81cXVmIA8BWJBH
zK1zHtMWInGtE8bjD9l47rugmTRTMpiy/1Y9SaeQs1S7BVyuUePqgForItCOzp3S
rXdmpp21e365o3OuKmCDY8zf7YubaJzPp0Hz8ng1klxyGhGvsmwDponohaVWoEyy
QPhGoOXWnfltSvE+Hdd9d+ftoiNoGo9vMmSizWPeEuvw8eB1gKlE1QHMbAO/3102
T/FxnE/gfkCzBr+fTVB1cTIx0Lzgv+2JZ8puQ5YUGk8OnZ8AAWG3jm3TnJfLuho=LQKY
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I was able to avoid the crash and fix the zone transfer problems by putting CC='gcc -m64'. However had to disable tsig and ssl due to presence of a 32 bit openssl library; which I assume with a 64 bit openssl library won't be a problem. Is there a way out for not having to install 64 bit openssl library, 32 bit NSD binary is good enough for me. Thanks. Regards, Vicky Shrestha On Apr 9, 2008, at 05:26 AM, Vicky Shrestha wrote:> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I am hoping someone can help me locate the cause of the problem I am > facing with NSD 3.0.7 and Solaris 9. There are certain warning > messages in syslog and nsd-patch coredumps due to SIGBUS. However if > the number of zones is around 4 it works fine. I tried increasing > resource limits in solaris but however prstat will always show 10M > Size for NSD > > I have posted some debugging output below: > > Thanks > > # nsdc patch > reading database > reading updates to database > /usr/local/sbin/nsdc: line 307: 26885 Bus Error (core > dumped) ${sbindir}/nsd-patch -c ${configfile} -x ${difffile}.$$ > nsdc: patch failed. > > Apr 8 23:02:00 localhost nsd[26825]: [ID 702911 daemon.warning] > signal > received, reloading... > Apr 8 23:02:00 localhost nsd[26825]: [ID 702911 daemon.warning] > Reload > process 26925 failed with status 10, continuing with old database > Apr 8 23:02:00 localhost nsd[26826]: [ID 702911 daemon.error] xfrd: > zon > e example.org: soa serial 2008031501 update failed restarting tra > nsfer (notified zone) > > # uname -a > SunOS localhost.localdomain 5.9 Generic_112233-12 sun4u sparc > SUNW,Serverblade1 > > # gcc -v > Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/ > specs > Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/ > usr/ > ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++ : > (reconfigured) ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ > ccs/bin/ld --disable-nls --disable-libgcj --enable-languages=c,c++ > Thread model: posix > gcc version 3.3.2 > > ./configure \ > - --enable-root-server \ > - --enable-bind8-stats \ > - --enable-nsec3 \ > - --with-configdir=/var/nsd \ > - --with-zonesdir=/var/nsd \ > - --with-user=nsd \ > - --with-difffile=/var/nsd/cache/ixfr.db \ > - --with-xfrdfile=/var/nsd/cache/xfrd.state \ > - --with-ssl > > mdb /usr/local/sbin/nsd-patch core > Loading modules: [ libc.so.1 ld.so.1 ] >> $? > no process > SIGBUS: Bus Error > %g0 = 0x00000000 %l0 = 0x00000000 > %g1 = 0xffbfdb34 %l1 = 0xffffe09e > %g2 = 0x00000000 %l2 = 0x000106e6 > %g3 = 0x00000000 %l3 = 0x00000000 > %g4 = 0x00000000 %l4 = 0x00000000 > %g5 = 0x00000000 %l5 = 0x00000000 > %g6 = 0x00000000 %l6 = 0x00000000 > %g7 = 0x00000000 %l7 = 0x00000000 > %o0 = 0x0005307c %i0 = 0x00058df8 > %o1 = 0xffbfdae8 %i1 = 0x0004d508 > %o2 = 0x00000000 %i2 = 0x0005309c > %o3 = 0x00000001 %i3 = 0xffbfef50 > %o4 = 0x00000000 %i4 = 0x77a1ef74 > %o5 = 0x000f3d04 %i5 = 0x0004d918 > %o6 = 0xffbfcdf0 %i6 = 0xffbfdaa0 > %o7 = 0x000196e4 diff_read_find_part+0xc %i7 = 0x00019be4 > read_sure_part+0x378 > > %psr = 0xfe000002 impl=0xf ver=0xe icc=nzvc > ec=0 ef=0 pil=0 s=0 ps=0 et=0 cwp=0x2 > %y = 0x00000000 > %pc = 0x00018b74 apply_ixfr+4 > %npc = 0x00018b78 apply_ixfr+8 > %sp = 0xffbfcdf0 > %fp = 0xffbfdaa0 > > %wim = 0x00000000 > %tbr = 0x00000000 >> ::stack > apply_ixfr+4(58df8, 4d508, 5309c, ffbfef50, 77a1ef74, 4d918) > read_sure_part+0x378(58df8, 4d508, 4d918, ffffdfe8, 53050, 1) > read_process_part+0x68(0, 4d508, 53555245, 4d918, 52e10, ffbffcc4) > diff_read_file+0x8c(58df8, 4d918, ffbffcc4, 1, 1c670, 6be90) > main+0x198(58df8, 0, ffbffd54, 4d830, 0, 0) > _start+0x5c(0, 0, 0, 0, 0, 0) >> apply_ixfr+4::dis > delete_zone_rrs+0x60: call +0x95ac <rbtree_next> > delete_zone_rrs+0x64: mov %l0, %o0 > delete_zone_rrs+0x68: cmp %o0, %l1 > delete_zone_rrs+0x6c: be,a +8 > <delete_zone_rrs+0x74> > delete_zone_rrs+0x70: clr %o0 > delete_zone_rrs+0x74: ba -0x64 > <delete_zone_rrs+0x10> > delete_zone_rrs+0x78: mov %o0, %l0 > delete_zone_rrs+0x7c: ret > delete_zone_rrs+0x80: restore > apply_ixfr: save %sp, -0xcb0, %sp > apply_ixfr+4: ldd [%i2], %o4 > apply_ixfr+8: ld [%fp + 0x5c], %l0 > apply_ixfr+0xc: mov %o4, %o1 > apply_ixfr+0x10: mov %o5, %o2 > apply_ixfr+0x14: ld [%fp + 0x60], %l6 > apply_ixfr+0x18: ld [%fp + 0x64], %l7 > apply_ixfr+0x1c: ld [%fp + 0x68], %l4 > apply_ixfr+0x20: ld [%fp + 0x6c], %l5 > apply_ixfr+0x24: ld [%fp + 0x70], %i2 > apply_ixfr+0x28: mov %i1, %o0 > apply_ixfr+0x2c: call +0x21c58 <PLT=libc.so. > 1`fseeko64> > > 26992: fork() (returning as child ...) = 26985 > 26992: close(11) = 0 > 26992: open64("/var/nsd/nsd.db", O_RDONLY) = 7 > 26992: llseek(7, 22, SEEK_SET) = 22 > 26992: fstat64(7, 0xFFBFF890) = 0 > 26992: brk(0x000CDB28) = 0 > 26992: brk(0x000CFB28) = 0 > 26992: fstat64(7, 0xFFBFF738) = 0 > 26992: ioctl(7, TCGETA, 0xFFBFF81C) Err#25 ENOTTY > 26992: read(7, "\bAE85 1 N S D d b V 0 7", 8192) = 12 > 26992: llseek(7, 0, SEEK_CUR) = 34 > 26992: close(7) = 0 > 26992: open64("/var/nsd/cache/ixfr.db", O_RDONLY) = 7 > 26992: llseek(7, 0, SEEK_CUR) = 0 > 26992: fstat64(7, 0xFFBFF818) = 0 > 26992: fstat64(7, 0xFFBFF6C0) = 0 > 26992: ioctl(7, TCGETA, 0xFFBFF7A4) Err#25 ENOTTY > 26992: read(7, " I X F R\0\001 S\0\0\019".., 8192) = 8192 > 26992: llseek(7, 0xFFFFFFFFFFFFE15B, SEEK_CUR) = 347 > 26992: read(7, "\0\001 S S U R E\0\0\0AA".., 8192) = 8192 > 26992: llseek(7, 0, SEEK_CUR) = 8539 > 26992: llseek(7, 0, SEEK_CUR) = 8539 > 26992: brk(0x000CFB28) = 0 > 26992: brk(0x000D1B28) = 0 > 26992: llseek(7, 0, SEEK_CUR) = 8539 > 26992: llseek(7, 0, SEEK_SET) = 0 > 26992: read(7, " I X F R\0\001 S\0\0\019".., 8192) = 8192 > 26992: brk(0x000D1B28) = 0 > 26992: brk(0x000F1B28) = 0 > 26992: llseek(7, 529, SEEK_SET) = 529 > 26992: read(7, "\0\0\0AA I X F R\0\001 =".., 8192) = 8192 > 26992: llseek(7, 0, SEEK_CUR) = 8721 > 26992: llseek(7, 0xFFFFFFFFFFFFE149, SEEK_CUR) = 858 > 26992: read(7, "\0\001 = S U R E\0\0\0B0".., 8192) = 8192 > 26992: llseek(7, 0, SEEK_CUR) = 9050 > 26992: llseek(7, 0, SEEK_CUR) = 9050 > 26992: llseek(7, 0, SEEK_CUR) = 9050 > 26992: Incurred fault #5, FLTACCESS %pc = 0x0001ADB4 > 26992: siginfo: SIGBUS BUS_ADRALN addr=0x000CC6E4 > 26992: Received signal #10, SIGBUS [default] > 26992: siginfo: SIGBUS BUS_ADRALN addr=0x000CC6E4 > 26985: Received signal #18, SIGCLD [caught] > 26985: siginfo: SIGCLD CLD_KILLED pid=26992 status=0x000A > 26985: setcontext(0xFFBFF830) > 26985: close(8) = 0 > 26985: getpgid(0) = 26984 > 26985: waitid(P_PGID, 26984, 0xFFBFFA68, WEXITED|WTRAPPED|WNOHANG) > = 0 > 26985: fstat(6, 0xFFBFF540) = 0 > 26985: time() = 1207696505 > 26985: getpid() = 26985 > [26984] > 26985: putmsg(6, 0xFFBFEBF8, 0xFFBFEBEC, 0) = 0 > 26985: open("/var/run/syslog_door", O_RDONLY) = 7 > 26985: door_info(7, 0xFFBFEB30) = 0 > 26985: getpid() = 26985 > [26984] > 26985: door_call(7, 0xFFBFEB18) = 0 > 26985: close(7) = 0 > 26985: time() = 1207696505 > 26985: getpid() = 26985 > [26984] > [26985: write(2, " [", 1) = 1 > 120769650526985: write(2, " 1 2 0 7 6 9 6 5 0 5", > 10) = 10 > ] 26985: write(2, " ] ", 2) = 2 > nsd26985: write(2, " n s d", 3) = 3 > [26985: write(2, " [", 1) = 1 > 2698526985: write(2, " 2 6 9 8 5", 5) = 5 > ]: 26985: write(2, " ] : ", 3) = 3 > warning26985: write(2, " w a r n i n g", 7) = 7 > : 26985: write(2, " : ", 2) = 2 > Reload process 26992 failed with status 10, continuing with old > database26985: write(2, " R e l o a d p r o c e".., 72) = 72 > > 26985: write(2, "\n", 1) = 1 > 26985: close(11) = 0 > > > Regards, > > > Vicky Shrestha > > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.8 (Darwin) > > iQEcBAEBAgAGBQJH/AK5AAoJEGi4SIJCvhMLA1cIAN8KWGdcLWEynW0sGKAvE2Fp > anWvwH9zQxkUW1gokINTFvPT8MzQafAtaho8KLlZmk7r7Ag2Ku81cXVmIA8BWJBH > zK1zHtMWInGtE8bjD9l47rugmTRTMpiy/1Y9SaeQs1S7BVyuUePqgForItCOzp3S > rXdmpp21e365o3OuKmCDY8zf7YubaJzPp0Hz8ng1klxyGhGvsmwDponohaVWoEyy > QPhGoOXWnfltSvE+Hdd9d+ftoiNoGo9vMmSizWPeEuvw8eB1gKlE1QHMbAO/3102 > T/FxnE/gfkCzBr+fTVB1cTIx0Lzgv+2JZ8puQ5YUGk8OnZ8AAWG3jm3TnJfLuho> =LQKY > -----END PGP SIGNATURE----- > _______________________________________________ > nsd-users mailing list > nsd-users at NLnetLabs.nl > http://open.nlnetlabs.nl/mailman/listinfo/nsd-users-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin) iQEcBAEBAgAGBQJH/SRMAAoJEGi4SIJCvhMLuK8H/1dnQy/mAHAns1DMHi9vcvDF Cg2x2eaXzmBU3vfWXuvGyJM/f3nJaztbhKqGQSEMS0+KPbLVWb7Re6RFNk8HrKyo 46XkarBCCXywz9uafbKRMzcTEdFkU7WJZ8r6IqA1ZKrBIGHeqKX/Hl/PSR4sQcR4 WRutCEjJkIZ7vSuk+Z6WEtLE9L/398GNlUSBrUP2YbLNeBw9VJIwHRMgQ+/nasjm umWv0+ccn1VyEEOS41atF5E5zxoqboEE2XxOCJ0ACYyUl4WRt1/hJ2cbja6N4EiP nLE+1Pl84hutI+M2Vzvq7X46f13XoPuSDfzqh6gdfUxtBonYk7GtYwPfOX1dkkc=fbmX -----END PGP SIGNATURE-----