[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