Hi,
Actually, I think I must have missed your final response on this at
http://lists.xymon.com/pipermail/xymon/2015-December/042787.html ; my
apologies.
On what's happening, I think this might be a side-effect of
https://sourceforge.net/p/xymon/code/7651/ , which added a dummy record
for the purposes of command-line --test functionality when the host
doesn't exist. For an incoming unknown host (from xymond_alert's
perspective), the same path is being executed.
The problem is that localhostinfo re-initializes the hostlist, which would
almost certainly cause problems somewhat similar to what you're describing
here. The attached patch should fix that (by only doing it if we're in
test mode). The only other place this is used is in xymond_client when
it's itself running in --local mode, in which case it doesn't have a
pre-existing tree to get corrupted and then exits immediately anyway.
This really calls for a re-factoring around host loading, but I'm leery of
too much direct modification in 4.3, this probably being caused by that
recent code.
Can you give it a test and let us know the result?
Regards,
-jc
On Mon, February 1, 2016 11:10 am, John Thurston wrote:
This defect is getting to be a serious problem in my production Xymon.
For specifics, see my notes of 20151201 and 20151214 :
http://lists.xymon.com/pipermail/xymon/2015-December/042712.html
http://lists.xymon.com/pipermail/xymon/2015-December/042787.html
In general, adding a host to hosts.cfg corrupts the in-memory list of
valid hosts. This causes other worker processes (specifically "alert")
to fail. It doesn't fail _completely_. Some alerts continue to be sent,
but there are footprints in the logs. I have a script watching for these
footprints. When seen, I kill the "xymond_channel --channel=page"
process, a new one is started, and business continues.
I need to squash this bug.
Is there a way to interactively run a worker process and have it hit the
in-memory table of hostnames?
If not, is there a way to spill the in-memory table of hostnames without
using a debugger?
Can anyone tell me which worker processes us the in-memory host list?
--
Do things because you should, not just because you can.
John Thurston XXX-XXX-XXXX
user-ce4d79d99bab@xymon.invalid
Enterprise Technology Services
Department of Administration
State of Alaska