View Issue Details

IDProjectCategoryView StatusLast Update
0002587GNUnetcadet servicepublic2012-11-05 17:33
ReporterBart Polot Assigned ToBart Polot Due Date
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 11: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 ModifiedUsernameFieldChange
2012-10-11 23:03Bart PolotNew Issue
2012-10-11 23:03Bart PolotStatusnew => assigned
2012-10-11 23:03Bart PolotAssigned To => Bart Polot
2012-10-19 11:49Bart PolotNote Added: 0006457
2012-10-19 11:49Bart PolotStatusassigned => resolved
2012-10-19 11:49Bart PolotFixed in Version => Git master
2012-10-19 11:49Bart PolotResolutionopen => won't fix
2012-11-05 17:33Christian GrothoffStatusresolved => closed
2014-05-09 16:34Christian GrothoffCategorymesh service => cadet service