rasort unhappiness
Carter Bullard
carter at qosient.com
Wed May 30 22:23:52 EDT 2001
Hey Peter,
Yes, this points directly to the problem. Basically,
if the array gets completely full, we'll search the queue
for a very very very long time looking for an empty slot.
This isn't right, so I'll fix it in the new client release.
I'll try to have a fix for tomorrow.
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: owner-argus-info at lists.andrew.cmu.edu
[mailto:owner-argus-info at lists.andrew.cmu.edu] On Behalf Of Peter Van
Epp
Sent: Wednesday, May 30, 2001 8:26 PM
To: argus
Subject: rasort unhappiness
Although its not obvious to me why its unhappy (and its time to
go
home) it appears to be looping around here. The queue seems to have a
value (if rather far apart) so its not immediately clear why it doesn't
get past here (although it always stops in this same file a couple of
hundred megs in to the files). Perhaps this snippet will tell Carter
something ...
Starting program: /usr/local/bin/rasort -r * -s dstaddr -s dport -s
srcaddr -n ^C Program received signal SIGINT, Interrupt. 0x804a479 in
RaAddToQueue (queue=0x815c540, obj=0x1955f720) at ./rasort.c:728
728 if (queue->tail == queue->size)
(gdb) step
730 }
(gdb)
727 queue->tail++;
(gdb)
728 if (queue->tail == queue->size)
(gdb)
730 }
(gdb)
727 queue->tail++;
(gdb)
728 if (queue->tail == queue->size)
(gdb)
730 }
(gdb)
727 queue->tail++;
(gdb)
728 if (queue->tail == queue->size)
(gdb)
730 }
(gdb)
727 queue->tail++;
(gdb)
728 if (queue->tail == queue->size)
(gdb) print queue->tail
$1 = 496328
(gdb) print queue->size
$2 = 1048576
(gdb) l 730
725
726 while (queue->array[queue->tail] != NULL) {
727 queue->tail++;
728 if (queue->tail == queue->size)
729 queue->tail = 0;
730 }
731 }
732
733 #ifdef ARGUSDEBUG
734 ArgusDebug (6, "RaAddToQueue (0x%x, 0x%x) returning\n",
queue, obj);
(gdb) where
#0 RaAddToQueue (queue=0x815c540, obj=0x1955f720) at ./rasort.c:728 #1
0x8049c10 in RaProcessRecord (argus=0xbfbfd2ec) at ./rasort.c:265 #2
0x8049c91 in process_tcp (argus=0xbfbfd2ec) at ./rasort.c:294 #3
0x804d329 in ArgusProcessRecord (ptr=0xbfbfd2ec) at ./argus_parse.c:1756
#4 0x804b7a3 in ArgusHandleDatum (ptr=0x8169000, filter=0x806c3b0)
at ./argus_parse.c:668
#5 0x804cc18 in ArgusReadStreamSocket (input=0x8151e00)
at ./argus_parse.c:1475
#6 0x804d0e7 in ArgusReadStream () at ./argus_parse.c:1677
#7 0x804b46a in main (argc=153, argv=0xbfbfe90c) at ./argus_parse.c:531
#8 0x80496f9 in _start ()
Peter Van Epp / Operations and Technical Support
Simon Fraser University, Burnaby, B.C. Canada
More information about the argus
mailing list