argus-clients-3.0.2.beta.10 segfault when reading argus 2 data

Robert Kerr r.kerr at cranfield.ac.uk
Thu Jul 30 07:28:53 EDT 2009


Hi,

I'm in the progress of migrating various argus 2 sensors and clients
over to 3 and have ran into a few problems. I've got an argus 2 sensor
which is both logging to a local file and listening on a socket to which
an argus 3 client connects. An argus 3 client on a remote system is then
in turn writing the collected data to a local file.

I find that the files written by argus 3 result in a seg fault when read
by the same version of argus. I will see a small number of initial
records read fine before the seg fault, and for any given file the fault
always occurs after the same number of correct records being output. The
last line output before the seg fault is:

,T        ,,(null),,<->,(null),,,,

gdb output:

Program received signal SIGSEGV, Segmentation fault.
0x0807d6b5 in ArgusCheckTime (parser=0xb7f23008, ns=0xb7ec1538) at ./argus_util.c:18115
18115            start.tv_sec  = rec->argus_mar.startime.tv_sec;
(gdb) backt
#0  0x0807d6b5 in ArgusCheckTime (parser=0xb7f23008, ns=0xb7ec1538) at ./argus_util.c:18115
#1  0x0805869c in ArgusHandleDatum (parser=0xb7f23008, input=0xb7ec1008, ptr=0xb7ddfef8, filter=0xb7f4367c) at ./argus_util.c:2040
#2  0x080932c2 in ArgusReadStreamSocket (parser=0xb7f23008, input=0xb7ec1008) at ./argus_client.c:1710
#3  0x0809346d in ArgusReadFileStream (parser=0xb7f23008, input=0xb7ec1008) at ./argus_client.c:1761
#4  0x0804c323 in main (argc=5, argv=0xbfae7434) at ./argus_main.c:231
(gdb) print rec
$1 = (struct ArgusRecord *) 0x2932fa8a

Looking at the value of rec it appears to contain an IP address?

The files written by argus 2 can be read fine by both versions of
argus-clients so I guess the problem must lie in the code that handles
remote reads in the argus 3 clients?

Any ideas?

-- 
 Robert Kerr




More information about the argus mailing list