<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 11 March 2015 at 11:37, Vernon Everett <span dir="ltr"><<a href="mailto:everett.vernon@gmail.com" target="_blank">everett.vernon@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>And even with --no-cache, I am still getting these corrupted rrd files.<br></div></div></div></div></div></div></div></blockquote><div><br></div><div>:-(</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div></div></div>I tried again with --debug (and --no-cache) and it core dumps.<br><br></div>Here's the backtrace.<br></div></div></div></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>libc.so.1`vfprintf+0xec(6c3d0, 514c0, ffbfb3e8, 0, a0ba4, 33e1c)<br>dbgprintf+0xa4(514c0, 0, 51400, 6c3f0, bf, 2ab388)<br>dump_tcp_services+0x74(a0, 1c00, fef37940, 0, 51400, 51400)<br></div></div></div></div></blockquote><div><br></div><div>So dump_tcp_services() calls dbgprintf() (both on lib/netservices.c) which in turn calls vprintf() from libc, but with bad parameters.  I've had a look through the code in dump_tcp_services() and I don't know enough C to recognize any problems.  But it might be useful to know which call to dbgprintf() is causing the problem.</div><div><br></div><div>Does the log file for xymond_rrd show any debug output at all?  If so, what's the last line that is shown.</div><div><br></div><div>It might be helpful if you can recompile xymond_rrd with dump_tcp_services() modified.  Initially, I would simply try it with "return" added after the first call to dbgprintf().  That is, dump_tcp_services() will output "Service list dump" and return.  This might stop the core dumps so that we can get debug output for other parts of the xymond_rrd processing.</div><div><br></div><div>If adding "return" at that point fixes this core dump, more diagnostic lines would be useful to determine what the problem is.  For example, there's a global array called svcinfo that is iterated over, but if the array is empty, it might cause the core dump.  So adding a line that checks whether the array is empty and displays the result would help to pin this down.</div><div><br></div><div>Note that "svcinfo" appears to be populated from the protocols.cfg file and/or XYMONNETSVCS.  Is it possible that your protocols.cfg file is empty, or has some syntax error that causes it to be unparseable?  The same for XYMONNETSVCS (in xymonserver.cfg)?</div><div><br></div><div>J</div><div><br></div></div></div></div>