[Xymon] Parenthesis failure in combo.cfg

John Thurston john.thurston at alaska.gov
Wed Oct 7 02:28:39 CEST 2015


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?

-- 
    Do things because you should, not just because you can.

John Thurston    907-465-8591
John.Thurston at alaska.gov
Enterprise Technology Services
Department of Administration
State of Alaska



More information about the Xymon mailing list