[Xymon] xymond_rrd - Program crashed Fatal signal caught!

J.C. Cleaver cleaver at terabithia.org
Fri Aug 29 01:50:40 CEST 2014


Looks to be insufficient error checking for a NULL msg being parsed. The
line in question is:

        l = strchr(msg, '\n'); if (l) l++;

Do you have a sample of the status messages that are being sent at

31485 2014-08-26 15:34:01 xymond_rrd: Got message 21566
> @@status#21566/server2|1409060041.082061|IP||server2|queued-requests|1409383096|blue||blue|1409037496|0||1409383096|Disabled
 (or the "memory" line?)


Regards,

-jc


On Wed, August 27, 2014 1:45 am, Lukas Kohl wrote:
> Hello there,
> I'm running under xymon Version 4.3.7.
> Since 4 Weeks I am experiencing these chrashes about 5 to 10 times a day.
>
> These are two example backtracked core dumps:
>
> #0  0x00007f96a06f2b55 in raise () from /lib64/libc.so.6
> (gdb) bt
> #0  0x00007f96a06f2b55 in raise () from /lib64/libc.so.6
> #1  0x00007f96a06f4131 in abort () from /lib64/libc.so.6
> #2  0x000000000042cde3 in sigsegv_handler (signum=<optimized out>) at
> sig.c:57
> #3  <signal handler called>
> #4  0x00007f96a07d3e18 in __strchr_sse42 () from /lib64/libc.so.6
> #5  0x00000000004092fa in do_ncv_rrd (hostname=0xserver1 "server1",
> testname=0x7f96a1240b20 "queued-requests", classname=0x4373cd "",
> pagepaths=0x4373cd "", msg=0x0, tstamp=<optimized out>) at rrd/do_ncv.c:54
> #6  0x0000000000412b7b in update_rrd (hostname=0xserver1 "server1",
> testname=0x7f96a1240b20 "queued-requests", msg=0x0, tstamp=1409060041,
> sender=<optimized out>, ldef=<optimized out>, classname=0x4373cd "",
>     pagepaths=0x4373cd "") at do_rrd.c:713
> #7  0x00000000004034e6 in main (argc=<optimized out>, argv=0x7fff97181608)
> at xymond_rrd.c:351
> (gdb)
>
> (gdb) bt
> #0  0x00007ffce86e0b55 in raise () from /lib64/libc.so.6
> #1  0x00007ffce86e2131 in abort () from /lib64/libc.so.6
> #2  0x000000000042cde3 in sigsegv_handler (signum=<optimized out>) at
> sig.c:57
> #3  <signal handler called>
> #4  0x00007ffce87c4270 in __strstr_sse42 () from /lib64/libc.so.6
> #5  0x0000000000410796 in do_memory_rrd (hostname=0xserver2 "server2",
> testname=0x7ffce92338ee "memory", classname=0x4373cd "",
>     pagepaths=0x4373cd "", msg=0x0, tstamp=1409115365) at
> rrd/do_memory.c:96
>
> #6  0x0000000000412a3b in update_rrd (hostname=0xserver2 "server2",
> testname=0x7ffce92338ee "memory", msg=0x0, tstamp=1409115365,
>     sender=<optimized out>, ldef=<optimized out>, classname=0x4373cd "",
> pagepaths=0x4373cd "") at do_rrd.c:697
> #7  0x00000000004034e6 in main (argc=<optimized out>, argv=0x7fff3d717518)
> at xymond_rrd.c:351
>
>
> And here is the rrd-status LogFile:
> 31485 2014-08-26 15:34:01 Want msg 21565, startpos 68046, fillpos 68046,
> endpos -1, usedbytes=0, bufleft=460337
> 31485 2014-08-26 15:34:01 Got 568 bytes
> 31485 2014-08-26 15:34:01 xymond_rrd: Got message 21565
> @@status#21565/server|1409060041.082009|IP||server|licensed-connections|1409061841|green||green|1408883326|0||0||1408883303||page|0|
>
> 31485 2014-08-26 15:34:01 startpos 68300, fillpos 68614, endpos 68610
> 31485 2014-08-26 15:34:01 xymond_rrd: Got message 21566
> @@status#21566/server2|1409060041.082061|IP||server2|queued-requests|1409383096|blue||blue|1409037496|0||1409383096|Disabled
> by
> 31485 2014-08-26 15:34:01 startpos 68614, fillpos 68614, endpos -1
> 2014-08-26 15:34:01 Peer at 0.0.0.0:0 failed: Broken pipe
> 2014-08-26 15:34:01 Peer not up, flushing message queue
> 6944 2014-08-26 15:34:01 Opening file
> /opt/xymon/server/etc/rrddefinitions.cfg
> 6944 2014-08-26 15:34:01 Want msg 1, startpos 0, fillpos 0, endpos -1,
> usedbytes=0, bufleft=528383
> 6944 2014-08-26 15:34:01 Got 245 bytes
> 6944 2014-08-26 15:34:01 xymond_rrd: Got message 21570
> @@status#21570/server3|1409060041.134654|IP||server3|queued-requests|1409061841|green||green|1408883326|0||0||1408883303||page|0|
>
> 6944 2014-08-26 15:34:01 startpos 245, fillpos 245, endpos -1
> 6944 2014-08-26 15:34:01 Transport setup is:
> 6944 2014-08-26 15:34:01 xymondportnumber = 1984
> 6944 2014-08-26 15:34:01 xymonproxyhost = NONE
> 6944 2014-08-26 15:34:01 xymonproxyport = 0
> 6944 2014-08-26 15:34:01 Recipient listed as 'IP'
> 6944 2014-08-26 15:34:01 Standard protocol on port 1984
> 6944 2014-08-26 15:34:01 Will connect to address IP port 1984
> 6944 2014-08-26 15:34:01 Connect status is 0
> 6944 2014-08-26 15:34:01 Sent 16 bytes
> 6944 2014-08-26 15:34:01 Read 32767 bytes
> 6944 2014-08-26 15:34:01 Read 32767 bytes
> 6944 2014-08-26 15:34:01 Read 4287 bytes
> 6944 2014-08-26 15:34:01 Closing connection
>
> At the Moment I am not able to debug this Problem any further, and I would
> be very glad, if you can give me a hint in the right direction.
>
> Kind regards,
> Lukas Kohl
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
>





More information about the Xymon mailing list