[Xymon] [Possible Spam] Parenthesis failure in combo.cfg
Andy Smith
abs at shadymint.com
Sun Oct 11 14:22:14 CEST 2015
John Thurston wrote:
> I'm pulling what little hair I have over the behavior of combostatus
> with parenthesis in combo.cfg
>
> The man file specifically says, "All operators have EQUAL PRECEDENCE. If
> you need something evaluated in a specific order, use parentheses to
> group the expressions..." I need to implement an exclusive-or, so
> certainly need to ensure the order of operations. But I couldn't make it
> work, so I started simplifying my expression to find where it broke. The
> failure conditions are pretty depressing :(
>
> This simple expression works as expected
> foo.x = bar.a && zab.a
> as does
> foo.x = bar.a && (zab.a==0)
>
> but it fails with a core dump if I simply reverse the terms
> foo.x = (zab.a==0) && bar.a
> it also dumps core if I wrap the earlier expression in parens
> foo.x = (bar.a && (zab.a==0))
>
> it works with extra parens for a simple term
> foo.x = ((bar.a))
> but dumps core there if a more complex expression in the parens
> foo.x = ((bar.a==0))
>
> I am unable to come up with a way to implement anything useful with
> these limitations. I do understand that combostatus is kind of a fringe
> feature, but there are so many business functions it enables that I
> really want it to work!
>
> I'm running 4.3.21 on Solaris 10. Is combostatus working for anyone else?
>
John,
The Revision ID of combostatus.c at 4.3.17 was 7092, there have been two
changes since then, and I am about to submit a third to solve another
problem that I have, but whilst I was researching my change, I didn't
see anything particular that would apply to Solaris. Could you test my
patch please because I am nervous about extending something already
labeled as 'ugly'.
--
Andy
More information about the Xymon
mailing list