[hobbit] logfetch bug

David Gore David.Gore at VerizonBusiness.com
Sat Aug 5 07:25:29 CEST 2006


Latest snapshot logfetch core dumps with the following error in 
hobbitclient.log

2006-08-05 04:59:29 xmalloc: Out of memory!
Abort - core dumped

truss logfetch...


read(3, " / v a r / a d m / m e s".., 8192)     = 74
read(3, 0x00034FF4, 8192)                       = 0
llseek(3, 0, SEEK_CUR)                          = 74
close(3)                                        = 0
open("/var/adm/messages", O_RDONLY)             = 3
fstat(3, 0xFFBFFB78)                            = 0
lseek(3, 328208, SEEK_SET)                      = 328208
llseek(3, 0, SEEK_CUR)                          = 328208
brk(0x00038FE8)                                 = 0
brk(0x80038FE0)                                 = 0
brk(0xFFFEAFE8)                                 Err#12 ENOMEM
brk(0x80038FE0)                                 = 0
brk(0x00038FE8)                                 = 0
time()                                          = 1154753484
brk(0x00038FE8)                                 = 0
brk(0x0003AFE8)                                 = 0
open("/usr/share/lib/zoneinfo/GMT", O_RDONLY)   = 4
fstat64(4, 0xFFBFE838)                          = 0
read(4, " T Z i f\0\0\0\0\0\0\0\0".., 56)       = 56
close(4)                                        = 0
fstat64(2, 0xFFBFDAC8)                          = 0
2006-08-05 04:51:24write(2, " 2 0 0 6 - 0 8 - 0 5   0".., 19)   = 19
 write(2, "  ", 1)                              = 1
xmalloc: Out of memory!
write(2, " x m a l l o c :   O u t".., 24)      = 24
sigaction(SIGABRT, 0x00000000, 0xFFBFFA20)      = 0
llseek(3, 0, SEEK_CUR)                          = 328208
sigaction(SIGABRT, 0xFFBFF8D0, 0xFFBFF970)      = 0
sigfillset(0xFF36FB20)                          = 0
schedctl()                                      = 0xFF382000
lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF]
lwp_kill(1, SIGABRT)                            = 0
    Received signal #6, SIGABRT [default]
      siginfo: SIGABRT pid=18172 uid=22020 code=-1


I recompiled an older snapshot from August 1, 2006 and logfetch works 
fine.  Perhaps the truss above matches the diff between the August 5 
logfetch and August 1?

root@:/var/tmp/080106/snapshot/client> diff logfetch.c 
../../../snapshot/client/logfetch.c
15c15
< static char rcsid[] = "$Id: logfetch.c,v 1.35 2006/07/19 05:42:46 
henrik Exp $";
---
 > static char rcsid[] = "$Id: logfetch.c,v 1.36 2006/08/04 15:57:47 
henrik Exp $";
30a31,36
 > /* Some systems do not have the S_ISSOCK macro for stat() */
 > #ifdef SCO_SV
 > #include <cpio.h>
 > #define S_ISSOCK(m)   (((m) & S_IFMT) == C_ISSOCK)
 > #endif
 >

logfetch is running on Solaris 10 where it cores with the August 4 and 
August 5 snapshots.  Truss with older logfetch:

read(3, " / v a r / a d m / m e s".., 8192)     = 38
read(3, 0x000350E4, 8192)                       = 0
llseek(3, 0, SEEK_CUR)                          = 38
close(3)                                        = 0
open64("/var/adm/messages", O_RDONLY)           = 3
fstat64(3, 0xFFBFFB68)                          = 0
llseek(3, 0, SEEK_SET)                          = 0
llseek(3, 0, SEEK_CUR)                          = 0
fstat64(3, 0xFFBFF9A8)                          = 0
brk(0x000390D8)                                 = 0
brk(0x0003B0D8)                                 = 0
fstat64(3, 0xFFBFF850)                          = 0
ioctl(3, TCGETA, 0xFFBFF934)                    Err#25 ENOTTY
read(3, " A u g     3   0 6 : 4 0".., 8192)     = 1426
read(3, 0x000379BC, 8192)                       = 0
llseek(3, 0, SEEK_CUR)                          = 1426
close(3)                                        = 0
ioctl(1, TCGETA, 0xFFBFEE14)                    = 0
fstat64(1, 0xFFBFED30)                          = 0
[msgs:/var/adm/messages]
write(1, " [ m s g s : / v a r / a".., 25)      = 25

Which looks better. 

~David




More information about the Xymon mailing list