No clue - for some reason the call stack is corrupted, so you can't see
where traceEvent() is being called from (nor, for that matter the text of
the fields).

All I can think of is ugly.  Put a gdb trap on 1996 (i.e. the line it's
dying on), and then for each one do a "info stack; cont" -- that way when it
dies, you should have the info before it was corrupted.  Note that you may
have to put the trap earlier (maybe 1945, i.e. the 1st line in traceEvent(),
if it's say the memset that's corrupting things.

-----Burton



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of
Steven Rudolph
Sent: Friday, November 14, 2003 12:18 PM
To: [EMAIL PROTECTED]
Subject: [Ntop] Solaris 8 Segmentation Fault


1.  Got the latest from CVS this morning 2.2.96.
2.  Did this 2 times one without these changes and once with:
________________________________________________________________________
_
2) I had to modify pbuf.c for the "unaligned move" thingy (see the back
traffic)
[EMAIL PROTECTED] ~/ntop_2.2.96/ntop [18] cvs diff pbuf.c
Index: pbuf.c
===================================================================
RCS file: /export/home/ntop/ntop/pbuf.c,v
retrieving revision 2.153
diff -r2.153 pbuf.c
990c990
< u_char *tcp_data = (u_char *)((int)tcp + tcp->th_off * 4);
---
> u_char *tcp_data = (u_char *)((int)tcp + tp.th_off * 4);

3) I had to modify webInterface.c with the patch for sock < 0 or else it
would not run in "daemon mode"

Index: webInterface.c
===================================================================
RCS file: /export/home/ntop/ntop/webInterface.c,v
retrieving revision 2.246
diff -r2.246 webInterface.c
4785c4785
< if((*sock <= 0) || (errno != 0) ) {
---
> if((*sock < 0) || (errno != 0) ) {
______________________________________________________________________

3.  It seemed to configure just fine.
4.  During the make process it threw a few warnings:

/bin/bash ./libtool --mode=link gcc -g -O2 -I/usr/local/include -Wshadow
-Wpointer-arith -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs  -fPIC -g -O2 -I/usr/local/include -Wshadow
-Wpointer-arith -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs  -fPIC -L/usr/local/lib -lnsl -lsocket
-L/usr/local/lib -L/usr/src/libpcap-2003.11.11
-L/usr/src/ntop/ntop/myrrd -L/usr/local/lib -lnsl -lsocket
-L/usr/local/lib -L/usr/src/libpcap-2003.11.11
-L/usr/src/ntop/ntop/myrrd -o libntopreport.la -rpath /usr/local/lib
-L/usr/local/lib -lnsl -lsocket  -L/usr/local/lib
-L/usr/src/libpcap-2003.11.11 -L/usr/src/ntop/ntop/myrrd -release 2.2.96
-export-dynamic  emitter.lo globals-report.lo graph.lo http.lo
netflow.lo report.lo reportUtils.lo ssl.lo webInterface.lo xmldump.lo
-lposix4 -lpthread -lresolv -lsocket -lxnet -lnsl -lm -ldl -lc -lpcap
-lgdbm -lgd -lpng -lz  -lmyrrd
rm -fr .libs/libntopreport.la .libs/libntopreport.*
.libs/libntopreport-2.2.96.*
*** Warning: This library needs some functionality provided by -lpcap.
*** I have the capability to make that library automatically link in
when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This library needs some functionality provided by -lmyrrd.
*** I have the capability to make that library automatically link in
when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
/usr/ccs/bin/ld -G -h libntopreport-2.2.96.so -o
.libs/libntopreport-2.2.96.so  emitter.lo globals-report.lo graph.lo
http.lo netflow.lo report.lo reportUtils.lo ssl.lo webInterface.lo
xmldump.lo  -L/usr/local/lib -L/usr/src/libpcap-2003.11.11
-L/usr/src/ntop/ntop/myrrd -lposix4 -lpthread -lresolv -lsocket -lxnet
-lnsl -lm -ldl -lc /usr/local/lib/libgdbm.so /usr/local/lib/libgd.so
-lpng -lz

5.  When I attempted to run:
# /usr/local/bin/ntop -P /usr/local/share/ntop -A
14/Nov/2003 09:59:59  Initializing gdbm databases
Segmentation Fault

# /usr/local/bin/ntop -P /usr/local/share/ntop -A
14/Nov/2003 13:10:41  Initializing gdbm databases
Segmentation Fault

Run under GDB (same errors both times):
# gdb /usr/local/bin/ntop
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "sparc-sun-solaris2.8"...
(gdb) set args -P /usr/local/share/ntop -A -K
(gdb) run
Starting program: /usr/local/bin/ntop -P /usr/local/share/ntop -A -K
[New LWP 1]
[New LWP 2]
[New LWP 3]
14/Nov/2003 13:11:11  Initializing gdbm databases
Program received signal SIGSEGV, Segmentation fault.
0xfee33200 in strlen () from /lib/libc.so.1
(gdb) list
890     int ntop_main(int argc, char *argv[]) {
891     #else
892     int main(int argc, char *argv[]) {
893     #endif
894       int i, rc, userSpecified;
895     #ifndef WIN32
896       int effective_argc;
897       char **effective_argv;
898     #endif
899       char ifStr[196] = {0};
(gdb) info stack
#0  0xfee33200 in strlen () from /lib/libc.so.1
#1  0xfee86210 in _doprnt () from /lib/libc.so.1
#2  0xfee88384 in vsnprintf () from /lib/libc.so.1
#3  0xff0aa698 in traceEvent (eventTraceLevel=-4263880, file=0xfffffff8
<Address 0xfffffff8 out of bounds>,
    line=-15993360, format=0xffbef8f4 "") at util.c:1996
(gdb) bt full
#0  0xfee33200 in strlen () from /lib/libc.so.1
No symbol table info available.
#1  0xfee86210 in _doprnt () from /lib/libc.so.1
No symbol table info available.
#2  0xfee88384 in vsnprintf () from /lib/libc.so.1
No symbol table info available.
#3  0xff0aa698 in traceEvent (eventTraceLevel=-4263880, file=0xfffffff8
<Address 0xfffffff8 out of bounds>,
    line=-15993360, format=0xffbef8f4 "") at util.c:1996
        theTime = 0
        t = {tm_sec = 13, tm_min = 14, tm_hour = 10, tm_mday = 103,
tm_mon = 5, tm_year = 0, tm_wday = -4263849,
  tm_yday = -4261644, tm_isdst = -4261640}
        bufTime = '\0' <repeats 14 times>, "�o\000\000\000\0000���",
'\0' <repeats 19 times>, "\v\000\000\000\v"
        buf = '\0' <repeats 40 times>,
"/usr/share/lib/zoneinfo/US/Eastern", '\0' <repeats 373 times>,
"\t\000\000\000\000����", '\0' <repeats 12 times>, "��\027�", '\0'
<repeats 159 times>, "\t\000\000\000\000���q", '\0' <repeats 12 times>,
"��\027�\000\000\000\000���\213\000\000\000\000����\000\000\000\000�2\02
5\020", '\0' <repeats 88 times>, "libc.so.1", '\0' <repeats 23 times>,
"�2\a\224��\004H��\004H���H\000\000\000\004\000\000\000\000\000\000\000\
000�>\201T\000\000\000\000\000"...
        bufMsg = '\0' <repeats 620 times>,
"�\v��\000\000\000\000\000\000\000\000��\026\f��\026$��\026\030��\026\02
4��\026\020��\035��\v��\000\000\000\000����\000\000\000\000���\004����",
'\0' <repeats 11 times>,
"\001\000\000\000\001\000\000\000\000\000\000\0000���x��9�\000\000\000\0
00\000\000\000\00011\0003", '\0' <repeats 16 times>,
"�\v��\000\000\000\000\000\000\000\000��\026\f��\026$/usr/share/lib/zone
info/US/Eastern", '\0' <repeats 46 times>, "11\0003", '\0' <repeats 20
times>...
        bufMsgID = '\0' <repeats 63 times>
        beginFileIdx = -8
        mFile = 0x0

Any suggestions?

Steve Rudolph, CCSA, CCSE
Network Security Engineer
Internet Operations Center

_______________________________________________
Ntop mailing list
[EMAIL PROTECTED]
http://listgateway.unipi.it/mailman/listinfo/ntop

Reply via email to