View Issue Details

IDProjectCategoryView StatusLast Update
0002260GNUnetDHT servicepublic2012-06-02 19:15
Reporterschanzen Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.3Fixed in Version0.9.3 
Summary0002260: Disconnect in DHT put continuation is dangerous
DescriptionThe continuation of a put call in the DHT cannot be used to disconnect from the DHT service because the handle is still needed after the continuation.

Workarounds: use a SCHEDULER_add_now in continuation and disconnect from service after the api call.

However this should work transparently because the user of the api cannot know how long the handle is still needed
Steps To Reproduce1. Connect to DHT
2. Put sth and add continuation
3. Disconnect from DHT service in continuation
TagsNo tags attached.

Relationships

related to 0002277 closedChristian Grothoff DHT PUT continuation should only be called after confirmation from service 

Activities

Matthias Wachs

2012-04-12 10:46

reporter   ~0005710

Last edited: 2012-04-12 10:46

Added documentation in src

schanzen

2012-04-12 10:57

administrator   ~0005711

The note will help as to avoid the bug. But when exactly is the disconnect supposed to be called. I.e. How can you determine when all puts have finished?

Christian Grothoff

2012-04-12 11:35

manager   ~0005712

(11:33:58 AM) schanzen: how/when is the disconnect supposed to happen?
(11:35:02 AM) grothoff-office: You just add another task (GNUNET_SCHEDULER_add_now) inside the 'cont' and in that task do the disconnect.

Christian Grothoff

2012-04-26 18:55

manager   ~0005749

Issue is documented, I double checked that it is not possible to re-write the code to always call 'cont' from a location where it would be safe to call GNUNET_DHT_disconnect directly.

Issue History

Date Modified Username Field Change
2012-04-10 14:22 schanzen New Issue
2012-04-12 10:46 Matthias Wachs Note Added: 0005710
2012-04-12 10:46 Matthias Wachs Note Edited: 0005710
2012-04-12 10:57 schanzen Note Added: 0005711
2012-04-12 11:35 Christian Grothoff Note Added: 0005712
2012-04-23 17:58 Christian Grothoff Assigned To => Christian Grothoff
2012-04-23 17:58 Christian Grothoff Status new => assigned
2012-04-23 17:59 Christian Grothoff Relationship added duplicate of 0002277
2012-04-23 17:59 Christian Grothoff Relationship deleted 0002277
2012-04-23 17:59 Christian Grothoff Relationship added related to 0002277
2012-04-23 18:02 Christian Grothoff Target Version => 0.9.3
2012-04-26 18:55 Christian Grothoff Note Added: 0005749
2012-04-26 18:55 Christian Grothoff Status assigned => resolved
2012-04-26 18:55 Christian Grothoff Fixed in Version => 0.9.3
2012-04-26 18:55 Christian Grothoff Resolution open => fixed
2012-06-02 19:15 Christian Grothoff Status resolved => closed