[ARGUS] Peculiar cross platform argus/ra non-interoperability
Joe Christy
joe at eshu.net
Mon Aug 9 17:17:37 EDT 2004
Vis-a-vis Carter's note of 08/09/2004 01:24 PM:
> Very interesting indeed. I suspect a compiler error.
>
> One thing that might confirm this is to put a statement
> in front of the read, like a ArgusDebug() statement, to see
> if the formating somehow fixes the problem. Copy any
> ARGUS_DEBUG enclosed statement and set the first parameter
> to say 1, and they try it with and without -D1, to see if
> it gets through and/or not. If this works, then definitely
> a compiler problem (not definitive, but a good test).
Same mis-behavior (except for the appearance or not of the new debug
statement's output) regardless of whether the -D option is set or not.
Works under gdb if there is a breakpoint before line 1750 in
argus_parse.c, otherwise not gdb or no.
> If it's a compiler error, then switching to a prior version
> of gcc may make a difference?
> ...
Same behavior (except for the unitialized values for cnt and size) with
gcc-2.96 and gcc-3.4, so neither down- nor up-grading gcc changes it.
*BUT* here's why I don't think that it's _simply_ a compiler error. The
ra binary hadn't changed for some time when the problem manifested
itself. The only thing that changed was the FreeBSD OS upgrade, not even
the argus binary on the gateway (though I have subsequently recompiled
several times to turn on debugging on that side as well). The setup had
been working for many months, through several previous versions of
FreeBSD and Fedora/RedHat, gcc, and argus/argus-clients.
Could it be that the FreeBSD upgrade changed the size or latency of the
packets argus posts to port 561, thereby uncovering a buffer
over/underflow in ra under linux?
Joe
More information about the argus
mailing list