Steve
this is not the bug, but the memory was corrupted previously IMHO

the code is

  if (jso->_user_delete)
                                jso->_user_delete(jso, jso->_userdata);
   
but as jso->_user_delete = 0

you should not execute such line.

I encourage you to run valgrind and send me the problems reported

valgrind ./nprobe …..

so I can look at them. I warn you there will be a lot of junk messages, so such 
file might be long

Luca


On Aug 28, 2013, at 12:45 PM, Steve Clark <[email protected]> wrote:

> Hi Luca,
> 
> I got this crash after running for:
> 90.14 Mbps [15,657 pps][2,279 hosts][3,793 flows][uptime 6 hours, 41 min, 4 
> sec]
> 
> 
> 27/Aug/2013 12:58:25 [NetworkInterface.cpp:506] Started packet polling on 
> interface eth3...
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xae5fab70 (LWP 15224)]
> 0x00000001 in ?? ()
> Missing separate debuginfos, use: debuginfo-install 
> GeoIP-1.4.8-1.1.el6.art.i686 glibc-2.12-1.47.el6_2.12.i686 
> libgcc-4.4.7-3.el6.i686 libpcap-1.0.0-6.20091201git117cb5.el6.i686 
> libstdc++-4.4.7-3.el6.i686 libxml2-2.7.6-12.el6_4.1.i686 
> zlib-1.2.3-27.el6.i686
> (gdb) bt
> #0  0x00000001 in ?? ()
> #1  0x0813f1ce in json_object_put (jso=0xad18bf20) at json_object.c:160
> #2  0x081429a4 in lh_table_free (t=0xad5804e0) at linkhash.c:116
> #3  0x08140385 in json_object_object_delete (jso=0xadad6f90) at 
> json_object.c:356
> #4  0x0813f1d4 in json_object_put (jso=0xadad6f90) at json_object.c:161
> #5  0x0805c5e5 in Host::serialize (this=0xac21cdf0) at Host.cpp:456
> #6  0x0805a712 in Host::~Host (this=0xac21cdf0, __in_chrg=<value optimized 
> out>) at Host.cpp:72
> #7  0x0805aa65 in Host::~Host (this=0xac21cdf0, __in_chrg=<value optimized 
> out>) at Host.cpp:85
> #8  0x0805872a in GenericHash::purgeIdle (this=0x81767e8) at 
> GenericHash.cpp:168
> #9  0x0807213b in NetworkInterface::purgeIdleHosts (this=0x8176960) at 
> NetworkInterface.cpp:815
> #10 0x08070ee6 in NetworkInterface::purgeIdle (this=0x8176960, 
> when=1377646768) at NetworkInterface.cpp:358
> #11 0x08071689 in NetworkInterface::packet_dissector (this=0x8176960, 
> h=0xae5fa2a0, packet=0xb67e3ca0 "\374\231G\214d")
>     at NetworkInterface.cpp:499
> #12 0x08077598 in packetPollLoop (ptr=0x8176960) at PF_RINGInterface.cpp:80
> #13 0x007cda09 in start_thread () from /lib/libpthread.so.0
> #14 0x006df43e in clone () from /lib/libc.so.6
> (gdb) f 1
> #1  0x0813f1ce in json_object_put (jso=0xad18bf20) at json_object.c:160
> 160                                     jso->_user_delete(jso, 
> jso->_userdata);
> (gdb) info locals
> No locals.
> (gdb) l
> 155             {
> 156                     jso->_ref_count--;
> 157                     if(!jso->_ref_count)
> 158                     {
> 159                             if (jso->_user_delete)
> 160                                     jso->_user_delete(jso, 
> jso->_userdata);
> 161                             jso->_delete(jso);
> 162                             return 1;
> 163                     }
> 164             }
> (gdb) p *jso
> $1 = {o_type = 2882903424, _delete = 0, _to_json_string = 0, _ref_count = 0, 
> _pb = 0x0, o = {c_boolean = 0, c_double = 0, 
>     c_int64 = 0, c_object = 0x0, c_array = 0x0, c_string = {str = 0x0, len = 
> 0}}, _user_delete = 0, _userdata = 0x0}
> (gdb) 
> 
> -- 
> Stephen Clark
> NetWolves
> Director of Technology
> Phone: 813-579-3200
> Fax: 813-882-0209
> Email: [email protected]
> http://www.netwolves.com
> _______________________________________________
> Ntop-dev mailing list
> [email protected]
> http://listgateway.unipi.it/mailman/listinfo/ntop-dev

_______________________________________________
Ntop-dev mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to