View Issue Details

IDProjectCategoryView StatusLast Update
0002390GNUnettransport servicepublic2012-06-02 19:15
ReporterChristian Grothoff Assigned ToChristian Grothoff  
PriorityimmediateSeveritymajorReproducibilityrandom
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.3Fixed in Version0.9.3 
Summary0002390: WARNING Processing code for message of type 0 did not call GNUNET_SERVER_receive_done after 1338500609704ms
DescriptionI got this from 'gnunet-service-transport' (util log message) after running my peer at home for a while. Very odd (13385...ms certainly never passed).
TagsNo tags attached.

Activities

Christian Grothoff

2012-06-01 08:09

manager   ~0005975

Got it a few times now.

Christian Grothoff

2012-06-01 15:20

manager   ~0005979

This can also cause gnunet-service-transport to hang on exit with left-over tasks that print this warning. Looks like a leak.

Christian Grothoff

2012-06-01 21:57

manager   ~0005990

Just got the assertion we added to diagnose this more:

Jun 01 21:55:18-353672 transport-2297 ERROR Assertion failed at server.c:820.

Christian Grothoff

2012-06-01 21:58

manager   ~0005991

grothoff@spec:~$ gnunet-arm -s==3033== Invalid read of size 2
==3033== at 0x5685FC6: warn_no_receive_done (server.c:820)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033== Address 0x6cd5078 is 136 bytes inside a block of size 144 free'd
==3033== at 0x4C240FD: free (vg_replace_malloc.c:366)
==3033== by 0x5654E8F: GNUNET_xfree_ (common_allocation.c:201)
==3033== by 0x5687A08: GNUNET_SERVER_client_disconnect (server.c:1402)
==3033== by 0x5686F73: GNUNET_SERVER_client_drop (server.c:1230)
==3033== by 0x56868EB: process_incoming (server.c:1075)
==3033== by 0x565D0F7: receive_ready (connection.c:1055)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033==
==3033== Invalid write of size 8
==3033== at 0x568608C: warn_no_receive_done (server.c:821)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033== Address 0x6cd5020 is 48 bytes inside a block of size 144 free'd
==3033== at 0x4C240FD: free (vg_replace_malloc.c:366)
==3033== by 0x5654E8F: GNUNET_xfree_ (common_allocation.c:201)
==3033== by 0x5687A08: GNUNET_SERVER_client_disconnect (server.c:1402)
==3033== by 0x5686F73: GNUNET_SERVER_client_drop (server.c:1230)
==3033== by 0x56868EB: process_incoming (server.c:1075)
==3033== by 0x565D0F7: receive_ready (connection.c:1055)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033==
==3033== Invalid read of size 8
==3033== at 0x5686110: warn_no_receive_done (server.c:825)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033== Address 0x6cd5028 is 56 bytes inside a block of size 144 free'd
==3033== at 0x4C240FD: free (vg_replace_malloc.c:366)
==3033== by 0x5654E8F: GNUNET_xfree_ (common_allocation.c:201)
==3033== by 0x5687A08: GNUNET_SERVER_client_disconnect (server.c:1402)
==3033== by 0x5686F73: GNUNET_SERVER_client_drop (server.c:1230)
==3033== by 0x56868EB: process_incoming (server.c:1075)
==3033== by 0x565D0F7: receive_ready (connection.c:1055)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033==
==3033== Invalid read of size 2
==3033== at 0x5686123: warn_no_receive_done (server.c:825)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033== Address 0x6cd5078 is 136 bytes inside a block of size 144 free'd
==3033== at 0x4C240FD: free (vg_replace_malloc.c:366)
==3033== by 0x5654E8F: GNUNET_xfree_ (common_allocation.c:201)
==3033== by 0x5687A08: GNUNET_SERVER_client_disconnect (server.c:1402)
==3033== by 0x5686F73: GNUNET_SERVER_client_drop (server.c:1230)
==3033== by 0x56868EB: process_incoming (server.c:1075)
==3033== by 0x565D0F7: receive_ready (connection.c:1055)
==3033== by 0x5682B60: run_ready (scheduler.c:602)
==3033== by 0x568336A: GNUNET_SCHEDULER_run (scheduler.c:790)
==3033== by 0x5690985: GNUNET_SERVICE_run (service.c:1780)
==3033== by 0x4049A7: main (gnunet-service-transport.c:645)
==3033==

Christian Grothoff

2012-06-01 22:43

manager   ~0005992

Line numbers changed, bug stays:

grothoff@spec:~$ gnunet-service-arm
==24200== Memcheck, a memory error detector
==24200== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==24200== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==24200== Command: gnunet-service-transport -c /home/grothoff/.gnunet/gnunet.conf
==24200==
==24200== Invalid read of size 2
==24200== at 0x568BD5B: warn_no_receive_done (server.c:820)
==24200== by 0x56883ED: run_ready (scheduler.c:602)
==24200== by 0x5688BF7: GNUNET_SCHEDULER_run (scheduler.c:790)
==24200== by 0x56977F7: GNUNET_SERVICE_run (service.c:1780)
==24200== by 0x404EA9: main (gnunet-service-transport.c:645)
==24200== Address 0x6da61b8 is 136 bytes inside a block of size 144 free'd
==24200== at 0x4C240FD: free (vg_replace_malloc.c:366)
==24200== by 0x5658E73: GNUNET_xfree_ (common_allocation.c:201)
==24200== by 0x568DF19: GNUNET_SERVER_client_disconnect (server.c:1392)
==24200== by 0x568D344: GNUNET_SERVER_client_drop (server.c:1230)
==24200== by 0x568CB1B: process_incoming (server.c:1075)
==24200== by 0x566170D: receive_ready (connection.c:1055)
==24200== by 0x56883ED: run_ready (scheduler.c:602)
==24200== by 0x5688BF7: GNUNET_SCHEDULER_run (scheduler.c:790)
==24200== by 0x56977F7: GNUNET_SERVICE_run (service.c:1780)
==24200== by 0x404EA9: main (gnunet-service-transport.c:645)
==24200==
==24200== Invalid write of size 8
==24200== at 0x568BE21: warn_no_receive_done (server.c:821)
==24200== by 0x56883ED: run_ready (scheduler.c:602)
==24200== by 0x5688BF7: GNUNET_SCHEDULER_run (scheduler.c:790)
==24200== by 0x56977F7: GNUNET_SERVICE_run (service.c:1780)
==24200== by 0x404EA9: main (gnunet-service-transport.c:645)
==24200== Address 0x6da6160 is 48 bytes inside a block of size 144 free'd
==24200== at 0x4C240FD: free (vg_replace_malloc.c:366)
==24200== by 0x5658E73: GNUNET_xfree_ (common_allocation.c:201)
==24200== by 0x568DF19: GNUNET_SERVER_client_disconnect (server.c:1392)
==24200== by 0x568D344: GNUNET_SERVER_client_drop (server.c:1230)
==24200== by 0x568CB1B: process_incoming (server.c:1075)
==24200== by 0x566170D: receive_ready (connection.c:1055)
==24200== by 0x56883ED: run_ready (scheduler.c:602)
==24200== by 0x5688BF7: GNUNET_SCHEDULER_run (scheduler.c:790)
==24200== by 0x56977F7: GNUNET_SERVICE_run (service.c:1780)
==24200== by 0x404EA9: main (gnunet-service-transport.c:645)

Christian Grothoff

2012-06-01 23:10

manager   ~0005993

The problem does not seem to arise if I disable TCP (which uses SERVER) and the error message also now relates to TCP's WELCOME messages:

Jun 01 23:07:44-882626 util-24421 WARNING Processing code for message of type 61 did not call GNUNET_SERVER_receive_done after 60087ms

So likely there is some mismanagement of GNUNET_SERVER_Client's in the TCP/session management code.

Christian Grothoff

2012-06-02 18:59

manager   ~0005995

Hopefully fixed in SVN 21730.

Christian Grothoff

2012-06-02 19:03

manager   ~0005996

Should be fixed in SVN 21731.

Issue History

Date Modified Username Field Change
2012-05-31 23:45 Christian Grothoff New Issue
2012-05-31 23:45 Christian Grothoff Status new => assigned
2012-05-31 23:45 Christian Grothoff Assigned To => Matthias Wachs
2012-06-01 08:09 Christian Grothoff Note Added: 0005975
2012-06-01 08:09 Christian Grothoff Reproducibility have not tried => random
2012-06-01 08:09 Christian Grothoff Target Version => 0.9.3
2012-06-01 15:20 Christian Grothoff Note Added: 0005979
2012-06-01 19:23 Christian Grothoff Target Version 0.9.3 =>
2012-06-01 21:57 Christian Grothoff Note Added: 0005990
2012-06-01 21:58 Christian Grothoff Note Added: 0005991
2012-06-01 22:43 Christian Grothoff Note Added: 0005992
2012-06-01 23:10 Christian Grothoff Note Added: 0005993
2012-06-01 23:10 Christian Grothoff Priority high => urgent
2012-06-01 23:10 Christian Grothoff Priority urgent => immediate
2012-06-01 23:10 Christian Grothoff Target Version => 0.9.3
2012-06-02 18:59 Christian Grothoff Note Added: 0005995
2012-06-02 19:03 Christian Grothoff Note Added: 0005996
2012-06-02 19:03 Christian Grothoff Status assigned => resolved
2012-06-02 19:03 Christian Grothoff Fixed in Version => 0.9.3
2012-06-02 19:03 Christian Grothoff Resolution open => fixed
2012-06-02 19:03 Christian Grothoff Assigned To Matthias Wachs => Christian Grothoff
2012-06-02 19:15 Christian Grothoff Status resolved => closed