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