[nsd-users] nsd coredump on Solaris9

Vicky Shrestha vicky at geeks.net.np
Wed Apr 9 01:41:45 CEST 2008


-----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-----


More information about the nsd-users mailing list