Hi Ludovico,

On 18.02.2013, at 14:18, Ludovico Cavedon <cave...@debian.org> wrote:
> Are you able to send me a network capture that would make it crash?

I cannot send you a capture, because that could compromise the
confidentiality of the data send by users. I am currently trying to
reproduce the issue in a more controlled manner.

> Alternatively, can you run it under valgrind until it crashes, please?

Unfortunately the valgrind output looks mostly harmless. (Look at the
end of this mail) It does not show the segfault. What it shows
is #647275 though, so I am CCing that bug now. ntop has been running
under valgrind for more than half an hour.

Please keep in mind that I am feeding 50MB/s at 50kpps to ntop. Even
tcpdump is unable to keep up with this rate (even in SCHED_FIFO) and
drops about 0.1% of the packets when being asked to write them to
/dev/shm. Running ntop on this system consumes a full cpu. It will
likely drop more packets. When adding valgrind it will likely drop
most of the packets. So this might be a reason for why I am unable
to observe the issue using valgrind.

When using tcpreplay to replay recorded traffic to a different
system I am also unable to reproduce this precise segfault. Instead I
see the glibc double free issue #647275 again. I suspect that some
of the gdbm databases might be corrupt.

I will try the following:
 * Determine a small set of packets that reliably trigger some kind
   of crash.
 * Trying to reproduce the issue with fresh gdbm databases.

Is there anything else I can do?

Helmut

# valgrind --error-limit=no --leak-check=full /usr/sbin/ntop -L -u ntop -P 
/var/lib/ntop --access-log-file=/var/log/ntop/access.log -i eth2 -p 
/etc/ntop/protocol.list -O /var/log/ntop -n 0
==11364== Memcheck, a memory error detector
==11364== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11364== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11364== Command: /usr/sbin/ntop -L -u ntop -P /var/lib/ntop 
--access-log-file=/var/log/ntop/access.log -i eth2 -p /etc/ntop/protocol.list 
-O /var/log/ntop -n 0
==11364== 
Tue Feb 19 11:32:17 2013  Initializing gdbm databases
==11364== Warning: noted but unhandled ioctl 0x8946 with no size/direction hints
==11364==    This could cause spurious value errors to appear.
==11364==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
==11364== Conditional jump or move depends on uninitialised value(s)
==11364==    at 0x40344B7: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4039015: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403923E: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40378B6: pcap_findalldevs (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D56F1: initDevices (initialize.c:1081)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Conditional jump or move depends on uninitialised value(s)
==11364==    at 0x40344BF: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4039015: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403923E: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40378B6: pcap_findalldevs (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D56F1: initDevices (initialize.c:1081)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Warning: noted but unhandled ioctl 0x8946 with no size/direction hints
==11364==    This could cause spurious value errors to appear.
==11364==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
==11364== Warning: noted but unhandled ioctl 0x8946 with no size/direction hints
==11364==    This could cause spurious value errors to appear.
==11364==    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a 
proper wrapper.
==11364== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==11364==    at 0x5854AF3: __sendto_nocancel (syscall-template.S:82)
==11364==    by 0x4036F3A: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403726B: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4039015: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403953B: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403766C: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40350C2: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40378E2: pcap_findalldevs (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D56F1: initDevices (initialize.c:1081)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==  Address 0x7feffa4e9 is on thread 1's stack
==11364== 
==11364== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==11364==    at 0x5854AF3: __sendto_nocancel (syscall-template.S:82)
==11364==    by 0x4036F3A: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403729F: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4039015: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403953B: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403766C: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40350C2: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40378E2: pcap_findalldevs (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D56F1: initDevices (initialize.c:1081)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==  Address 0x7feffa4e9 is on thread 1's stack
==11364== 
==11364== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==11364==    at 0x5854AF3: __sendto_nocancel (syscall-template.S:82)
==11364==    by 0x4036F3A: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40372DF: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4039015: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403953B: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403766C: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40350C2: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40378E2: pcap_findalldevs (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D56F1: initDevices (initialize.c:1081)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==  Address 0x7feffa4e9 is on thread 1's stack
==11364== 
==11364== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==11364==    at 0x5854AF3: __sendto_nocancel (syscall-template.S:82)
==11364==    by 0x4036F3A: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403731A: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4039015: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403953B: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x403766C: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40350C2: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40378E2: pcap_findalldevs (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D56F1: initDevices (initialize.c:1081)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==  Address 0x7feffa4ed is on thread 1's stack
==11364== 
==11364== Conditional jump or move depends on uninitialised value(s)
==11364==    at 0x40344B7: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D5131: addDevice (initialize.c:797)
==11364==    by 0x50D590A: initDevices (initialize.c:1223)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Conditional jump or move depends on uninitialised value(s)
==11364==    at 0x40344BF: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x40384E7: pcap_activate (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x4038D2C: pcap_open_live (in 
/usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D5131: addDevice (initialize.c:797)
==11364==    by 0x50D590A: initDevices (initialize.c:1223)
==11364==    by 0x50C837C: initNtop (globals-core.c:577)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847AF0: __write_nocancel (syscall-template.S:82)
==11364==    by 0x638462A: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA02D: dumpHostSerial (hash.c:537)
==11364==    by 0x50C83CE: initNtop (globals-core.c:591)
==11364==    by 0x10B224: main (main.c:610)
==11364==  Address 0x7fefff00c is on thread 1's stack
==11364== 
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847AF0: __write_nocancel (syscall-template.S:82)
==11364==    by 0x638462A: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA0A7: dumpHostSerial (hash.c:545)
==11364==    by 0x50C83CE: initNtop (globals-core.c:591)
==11364==    by 0x10B224: main (main.c:610)
==11364==  Address 0x7fefff054 is on thread 1's stack
==11364== 
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847AF0: __write_nocancel (syscall-template.S:82)
==11364==    by 0x6385091: _gdbm_write_bucket (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x638646A: _gdbm_end_update (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x6384652: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA0A7: dumpHostSerial (hash.c:545)
==11364==    by 0x50C83CE: initNtop (globals-core.c:591)
==11364==    by 0x10B224: main (main.c:610)
==11364==  Address 0xb92fccc is 12 bytes inside a block of size 4,096 alloc'd
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x6384196: _gdbm_init_cache (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63857FD: _gdbm_get_bucket (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63861C2: _gdbm_findkey (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x6384511: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA02D: dumpHostSerial (hash.c:537)
==11364==    by 0x50C83CE: initNtop (globals-core.c:591)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Thread 6:
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847B0D: ??? (syscall-template.S:82)
==11364==    by 0x638462A: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA02D: dumpHostSerial (hash.c:537)
==11364==    by 0x50CA40D: setHostSerial (hash.c:630)
==11364==    by 0x50CACE6: _lookupHost (hash.c:1001)
==11364==    by 0x50DC63E: processPacket (pbuf.c:1428)
==11364==    by 0x50DE4DD: queuePacket (pbuf.c:548)
==11364==    by 0x4030FBD: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D6C12: pcapDispatch (ntop.c:91)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x1080478c is on thread 6's stack
==11364== 
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847B0D: ??? (syscall-template.S:82)
==11364==    by 0x6385091: _gdbm_write_bucket (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x638646A: _gdbm_end_update (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x6384652: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA02D: dumpHostSerial (hash.c:537)
==11364==    by 0x50CA40D: setHostSerial (hash.c:630)
==11364==    by 0x50CACE6: _lookupHost (hash.c:1001)
==11364==    by 0x50DC63E: processPacket (pbuf.c:1428)
==11364==    by 0x50DE4DD: queuePacket (pbuf.c:548)
==11364==    by 0x4030FBD: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D6C12: pcapDispatch (ntop.c:91)
==11364==  Address 0xb92fccc is 12 bytes inside a block of size 4,096 alloc'd
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x6384196: _gdbm_init_cache (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63857FD: _gdbm_get_bucket (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63861C2: _gdbm_findkey (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x6384511: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA02D: dumpHostSerial (hash.c:537)
==11364==    by 0x50C83CE: initNtop (globals-core.c:591)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847B0D: ??? (syscall-template.S:82)
==11364==    by 0x638462A: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA0A7: dumpHostSerial (hash.c:545)
==11364==    by 0x50CA40D: setHostSerial (hash.c:630)
==11364==    by 0x50CACE6: _lookupHost (hash.c:1001)
==11364==    by 0x50DC63E: processPacket (pbuf.c:1428)
==11364==    by 0x50DE4DD: queuePacket (pbuf.c:548)
==11364==    by 0x4030FBD: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D6C12: pcapDispatch (ntop.c:91)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x108047d4 is on thread 6's stack
==11364== 
==11364== Syscall param write(buf) points to uninitialised byte(s)
==11364==    at 0x5847B0D: ??? (syscall-template.S:82)
==11364==    by 0x6385091: _gdbm_write_bucket (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63864B7: _gdbm_end_update (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x6384652: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA0A7: dumpHostSerial (hash.c:545)
==11364==    by 0x50CA40D: setHostSerial (hash.c:630)
==11364==    by 0x50CACE6: _lookupHost (hash.c:1001)
==11364==    by 0x50CBF83: processIpPkt (ip.c:515)
==11364==    by 0x50DCAD3: processPacket (pbuf.c:1447)
==11364==    by 0x50DE4DD: queuePacket (pbuf.c:548)
==11364==    by 0x4030FBD: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==  Address 0xb931d4c is 12 bytes inside a block of size 4,096 alloc'd
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x6384196: _gdbm_init_cache (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63857FD: _gdbm_get_bucket (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x63861C2: _gdbm_findkey (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x6384511: gdbm_store (in 
/usr/lib/x86_64-linux-gnu/libgdbm.so.3.0.0)
==11364==    by 0x50D6586: ntop_gdbm_store (leaks.c:832)
==11364==    by 0x50CA02D: dumpHostSerial (hash.c:537)
==11364==    by 0x50C83CE: initNtop (globals-core.c:591)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== Thread 3:
==11364== Invalid read of size 8
==11364==    at 0x50CBB60: purgeOldFragmentEntries (ip.c:256)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc10 is 48 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid read of size 8
==11364==    at 0x50CBB64: purgeOldFragmentEntries (ip.c:255)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc20 is 64 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid read of size 8
==11364==    at 0x50CBB75: purgeOldFragmentEntries (ip.c:262)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc18 is 56 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid write of size 8
==11364==    at 0x50CBB7C: purgeOldFragmentEntries (ip.c:262)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc18 is 56 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid read of size 8
==11364==    at 0x50CBB85: purgeOldFragmentEntries (ip.c:263)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc18 is 56 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid write of size 8
==11364==    at 0x50CBB89: purgeOldFragmentEntries (ip.c:263)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc18 is 56 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid read of size 8
==11364==    at 0x50CB7B5: deleteFragment (ip.c:108)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc18 is 56 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid read of size 8
==11364==    at 0x50CB7BE: deleteFragment (ip.c:111)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc20 is 64 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid write of size 8
==11364==    at 0x50CB7C9: deleteFragment (ip.c:111)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdc20 is 64 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== Invalid free() / delete / delete[] / realloc()
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364==  Address 0x149cdbe0 is 0 bytes inside a block of size 72 free'd
==11364==    at 0x4C27D4E: free (vg_replace_malloc.c:427)
==11364==    by 0x50D6115: ntop_safefree (leaks.c:182)
==11364==    by 0x50CB7E7: deleteFragment (ip.c:113)
==11364==    by 0x50CBB94: purgeOldFragmentEntries (ip.c:265)
==11364==    by 0x50C9B96: purgeIdleHosts (hash.c:401)
==11364==    by 0x50D7ABE: scanIdleLoop (ntop.c:683)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
At this point I terminate the process by sending SIGTERM.
==11364==
==11364== HEAP SUMMARY:
==11364==     in use at exit: 92,705,950 bytes in 142,223 blocks
==11364==   total heap usage: 167,264 allocs, 110,632,691 frees, 102,316,533 
bytes allocated
==11364== 
==11364== Thread 1:
==11364== 5 bytes in 1 blocks are definitely lost in loss record 13 of 304
==11364==    at 0x4C28BED: malloc (vg_replace_malloc.c:263)
==11364==    by 0x50D617D: ntop_safestrdup (leaks.c:203)
==11364==    by 0x50E171E: loadPrefs (prefs.c:194)
==11364==    by 0x10B049: main (main.c:573)
==11364== 
==11364== 288 bytes in 1 blocks are possibly lost in loss record 139 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x401128E: _dl_allocate_tls (dl-tls.c:300)
==11364==    by 0x67A7483: pthread_create@@GLIBC_2.2.5 (allocatestack.c:580)
==11364==    by 0x50EDECD: createThread (util.c:1766)
==11364==    by 0x50D3CE3: initThreads (initialize.c:608)
==11364==    by 0x50C850E: initNtop (globals-core.c:654)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== 288 bytes in 1 blocks are possibly lost in loss record 140 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x401128E: _dl_allocate_tls (dl-tls.c:300)
==11364==    by 0x67A7483: pthread_create@@GLIBC_2.2.5 (allocatestack.c:580)
==11364==    by 0x50EDECD: createThread (util.c:1766)
==11364==    by 0x50D3D1E: initThreads (initialize.c:615)
==11364==    by 0x50C850E: initNtop (globals-core.c:654)
==11364==    by 0x10B224: main (main.c:610)
==11364== 
==11364== 288 bytes in 1 blocks are possibly lost in loss record 141 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x401128E: _dl_allocate_tls (dl-tls.c:300)
==11364==    by 0x67A7483: pthread_create@@GLIBC_2.2.5 (allocatestack.c:580)
==11364==    by 0x50EDECD: createThread (util.c:1766)
==11364==    by 0x4E7C23D: initWeb (webInterface.c:7859)
==11364==    by 0x10BAE4: main (main.c:618)
==11364== 
==11364== 288 bytes in 1 blocks are possibly lost in loss record 142 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x401128E: _dl_allocate_tls (dl-tls.c:300)
==11364==    by 0x67A7483: pthread_create@@GLIBC_2.2.5 (allocatestack.c:580)
==11364==    by 0x50EDECD: createThread (util.c:1766)
==11364==    by 0xF1BFD17: initRRDfunct (rrdPlugin.c:5486)
==11364==    by 0x50DEF79: startPlugins (plugin.c:295)
==11364==    by 0x10BB2F: main (main.c:651)
==11364== 
==11364== 288 bytes in 1 blocks are possibly lost in loss record 143 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x401128E: _dl_allocate_tls (dl-tls.c:300)
==11364==    by 0x67A7483: pthread_create@@GLIBC_2.2.5 (allocatestack.c:580)
==11364==    by 0x50EDECD: createThread (util.c:1766)
==11364==    by 0x50D4570: startSniffer (initialize.c:1371)
==11364==    by 0x10B3B1: main (main.c:693)
==11364== 
==11364== 288 bytes in 1 blocks are possibly lost in loss record 144 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x401128E: _dl_allocate_tls (dl-tls.c:300)
==11364==    by 0x67A7483: pthread_create@@GLIBC_2.2.5 (allocatestack.c:580)
==11364==    by 0x50EDECD: createThread (util.c:1766)
==11364==    by 0xF1C27EA: rrdMainLoop (rrdPlugin.c:4958)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== 41,832 (288 direct, 41,544 indirect) bytes in 4 blocks are definitely 
lost in loss record 247 of 304
==11364==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)
==11364==    by 0x50D5FE0: ntop_safecalloc (leaks.c:118)
==11364==    by 0x50CB934: handleFragment.part.1 (ip.c:187)
==11364==    by 0x50CE33D: processIpPkt (ip.c:1068)
==11364==    by 0x50DCAD3: processPacket (pbuf.c:1447)
==11364==    by 0x50DE4DD: queuePacket (pbuf.c:548)
==11364==    by 0x4030FBD: ??? (in /usr/lib/x86_64-linux-gnu/libpcap.so.1.3.0)
==11364==    by 0x50D6C12: pcapDispatch (ntop.c:91)
==11364==    by 0x67A6B4F: start_thread (pthread_create.c:304)
==11364==    by 0x5853A7C: clone (clone.S:112)
==11364== 
==11364== LEAK SUMMARY:
==11364==    definitely lost: 293 bytes in 5 blocks
==11364==    indirectly lost: 41,544 bytes in 577 blocks
==11364==      possibly lost: 1,728 bytes in 6 blocks
==11364==    still reachable: 92,662,385 bytes in 141,635 blocks
==11364==         suppressed: 0 bytes in 0 blocks
==11364== Reachable blocks (those to which a pointer was found) are not shown.
==11364== To see them, rerun with: --leak-check=full --show-reachable=yes
==11364== 
==11364== For counts of detected and suppressed errors, rerun with: -v
==11364== Use --track-origins=yes to see where uninitialised values come from
==11364== ERROR SUMMARY: 1159007339 errors from 33 contexts (suppressed: 23 
from 9)
#

--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to