View Issue Details

IDProjectCategoryView StatusLast Update
0002587GNUnetcadet servicepublic2012-11-05 18:33
ReporterBart Polot Assigned ToBart Polot  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionwon't fix 
Product VersionGit master 
Target Version0.9.4Fixed in VersionGit master 
Summary0002587: Mesh memleak
DescriptionStalled peers seem to leak memory on exit.
Steps To Reproducer24280. (info malloc)
Additional Information==13712== HEAP SUMMARY:
==13712== in use at exit: 32,900 bytes in 330 blocks
==13712== total heap usage: 6,396 allocs, 6,066 frees, 903,445 bytes allocated
==13712==
==13712== 10,388 (1,568 direct, 8,820 indirect) bytes in 49 blocks are definitely lost in loss record 86 of 86
==13712== at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13712== by 0x504F0F8: GNUNET_xmalloc_unchecked_ (common_allocation.c:144)
==13712== by 0x504EDA4: GNUNET_xmalloc_ (common_allocation.c:71)
==13712== by 0x40599B: send_prebuilt_message (gnunet-service-mesh.c:2346)
==13712== by 0x4128C7: handle_mesh_data_to_orig (gnunet-service-mesh.c:5802)
==13712== by 0x41AA2A: handle_local_to_origin (gnunet-service-mesh.c:7646)
==13712== by 0x5084726: GNUNET_SERVER_inject (server.c:924)
==13712== by 0x508536E: client_message_tokenizer_callback (server.c:1141)
==13712== by 0x5087662: GNUNET_SERVER_mst_receive (server_mst.c:265)
==13712== by 0x5084F7C: process_incoming (server.c:1072)
==13712== by 0x5058138: receive_ready (connection.c:1072)
==13712== by 0x5080BB4: run_ready (scheduler.c:597)
==13712==
==13712== LEAK SUMMARY:
==13712== definitely lost: 1,568 bytes in 49 blocks
==13712== indirectly lost: 8,820 bytes in 98 blocks
==13712== possibly lost: 0 bytes in 0 blocks
==13712== still reachable: 22,512 bytes in 183 blocks
==13712== suppressed: 0 bytes in 0 blocks
TagsNo tags attached.

Activities

Bart Polot

2012-10-19 13:49

reporter   ~0006457

In various tests after 100+ stalls in each one, valgrind doesn't find any leaked memory.

When a peer is shutdown during a stall memory might be marked as lost due to the reference spaghetti confusing valgrind or shutdown not freeing the memory correctly in that case... but it's shutdown, the process is going to die and only one block seems to be missing anyway.

Issue History

Date Modified Username Field Change
2012-10-12 01:03 Bart Polot New Issue
2012-10-12 01:03 Bart Polot Status new => assigned
2012-10-12 01:03 Bart Polot Assigned To => Bart Polot
2012-10-19 13:49 Bart Polot Note Added: 0006457
2012-10-19 13:49 Bart Polot Status assigned => resolved
2012-10-19 13:49 Bart Polot Fixed in Version => Git master
2012-10-19 13:49 Bart Polot Resolution open => won't fix
2012-11-05 18:33 Christian Grothoff Status resolved => closed
2014-05-09 18:34 Christian Grothoff Category mesh service => cadet service