alpha.7 ratop segmentation fault
Carter Bullard
carter at qosient.com
Wed Jul 11 12:14:31 EDT 2001
Hey Scott,
Yes it seems we've got a gcc optimizer problem.
I'll take -O2 out of all the Makefiles until
we can find what the issue is.
Your ratop is working fine. It will use a default
aggregation scheme that collapses everything into
one record, this is so when you attach to a local
argus that is pumping out 10,000 records per
second, it doesn't blow you away. This is temporary.
If you want to see all the records, start ratop with
the "-D 21" option. We have 21 built-in aggregation
strategies, so 21 is the finest (no aggregation).
Carter
Carter Bullard
QoSient, LLC
300 E. 56th Street, Suite 18K
New York, New York 10022
carter at qosient.com
Phone +1 212 588-9133
Fax +1 212 588-9134
http://qosient.com
> -----Original Message-----
> From: Scott A. McIntyre [mailto:scott at xs4all.nl]
> Sent: Wednesday, July 11, 2001 9:24 AM
> To: Carter Bullard
> Subject: Re: argus-clients-2.0.2.alpha.7.tar.gz available
>
>
> >
> > Break in the last line of ArgusClientInit(),
>
> This seems to make it precisely to RaTopLoop:
>
> 284 if (nflag > 1)
> 287 RaCumulativeMerge = 0;
> 289 RaTopLoop();
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xbfffce14 in ?? ()
>
>
> > which is the call to RaTopLoop(). If you get
> > this far, then break on the last working line
> > of RaTopLoop() which would be line 382, just
> > before the call to ArgusShutDown(). You should
> > die before you get here.
>
> Indeed:
>
> 312 if ((RaCurrentInput =
> ArgusRemoteHostList) != NULL) {
> 313 if ((RaCurrentInput->fd =
> ArgusGetServerSocket (RaCurrentInput)) >= 0) {
> 314 if ((ArgusReadConnection
> (RaCurrentInput, NULL)) >= 0) {
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xbfffce14 in ?? ()
>
>
> > If this is the case, then break in process_man()
> > at the start of RaPrintCursesStr(). If this is
>
> Breakpoint 1, process_man (argus=0xbfffcf08) at ./ratop.c:1240
> 1240 char *str = NULL;
> 1242 if (!(qflag || wfile)) {
> 1243 str = get_man_string (argus);
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xbfffce14 in ?? ()
>
>
> > cool then, goto RaPrintCursesStr() and break before
> > the return().
>
> RaPrintCursesStr segvs immediately on run.
>
> (gdb) break RaPrintCursesStr
> Breakpoint 1 at 0x804c57e: file ./ratop.c, line 1058.
> (gdb) run -S localhost -n
> Starting program:
> /usr/local/src/argus-clients-2.0.2.alpha.7/bin/ratop -S localhost -n
> warning: Unable to find dynamic linker breakpoint function.
> GDB will be unable to debug shared library initializers
> and track explicitly loaded dynamic code.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xbfffce14 in ?? ()
>
>
>
> Here's one. I removed Optimization from common/Makefile,
> noticing that the argus_parse.c was appearing when I broke at
> line 1069 and it works!
>
> But:
>
> Rank StartTime Flgs Trans Type SrcAddr
> Sport Dir DstAddr Dport SrcPkt Dstpkt
> SrcBytes DstBytes State
> 1 11 Jul 01 15:21:20 1 ip
> 0.0.0.0.* -> 0.0.0.0.* 6850 21306
> 4552208 18712577 CON
>
> Which seems to be a bit overly generalized for the flow.
>
> Perhaps this is a GCC bug?
>
> Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs
> gcc version 2.95.3 19991030 (prerelease)
>
>
> Scott
>
>
More information about the argus
mailing list