[Xymon] xymond_rrd - Program crashed Fatal signal caught!

Richard Hamilton rlhamil2 at gmail.com
Fri Aug 29 02:00:20 CEST 2014


In both of those, the msg argument to do_ncv_rrd() or do_memory_rrd() is
0x0 (NULL pointer).  Those routines don't check for that before passing it
to strchr() or strstr(), so they crash on an invalid memory access.

In both cases, going one call further back, the msg argument to
update_rrd() is also 0x0.  I don't see how that's happening - the only
calls to update_rrd() that I found seem to be within "if" tests that
include a check that it's NOT null.


On Wed, Aug 27, 2014 at 4:45 AM, Lukas Kohl <lukkohl at gmail.com> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20140828/c9e62632/attachment.html>


More information about the Xymon mailing list