View Issue Details

IDProjectCategoryView StatusLast Update
0001986GNUnetcadet servicepublic2012-12-09 15:52
ReporterChristian Grothoff Assigned ToBart Polot Due Date
PrioritylowSeverityfeatureReproducibilityrandom
Status closedResolutionfixed 
Product Version0.9.0 
Target Version0.9.3Fixed in Version0.9.3 
Summary0001986: mesh API is not robust enough against service / connection failures
DescriptionLRN reported issues with mesh whenever the first connection between the mesh API and the service failed (due to 0001975). Naturally, for proper robustness, the mesh API should fully tolerate mesh service crashes / connection failures and simply "keep going" (reconnect, reinitialize state, etc.).

I don't have details on the issue (IRC logs of 11'2011 might give some), but certainly it would be nice to have some testcase that includes simulating connection failures.
Additional InformationMy best idea for testing this is doing it system-wide: we should have an (optional!) fail-sometimes mode that we insert into libgnunetutil.so. If the respective option is enabled, client/server connections should be 'randomly' shut down (by literally doing a 'shutdown(RW)' call on the socket "just for fun"). If all tests still reliably pass in that test mode (for different failure frequencies), the service APIs should be reasonably robust.
TagsNo tags attached.

Activities

Bart Polot

2012-02-24 14:52

reporter   ~0005502

Doesnt crash anymore, but we should still have a testcase to check different crash scenarios.

Issue History

Date ModifiedUsernameFieldChange
2011-12-06 14:35Christian GrothoffNew Issue
2011-12-06 14:35Christian GrothoffStatusnew => assigned
2011-12-06 14:35Christian GrothoffAssigned To => Bart Polot
2011-12-23 10:01Christian GrothoffTarget Version0.9.1 => 0.9.2
2012-02-23 13:31Christian GrothoffTarget Version0.9.2 => 0.9.3
2012-02-24 14:51Bart PolotSeveritycrash => feature
2012-02-24 14:52Bart PolotNote Added: 0005502
2012-02-24 14:52Bart PolotCategorymesh service => testing library
2012-02-24 14:52Bart PolotTarget Version0.9.3 =>
2012-05-02 23:23Christian GrothoffPrioritynormal => low
2012-09-27 18:31Christian GrothoffCategorytesting library => mesh service
2012-11-06 22:36Christian GrothoffTarget Version => 0.9.5
2012-12-09 15:52Christian GrothoffStatusassigned => resolved
2012-12-09 15:52Christian GrothoffFixed in Version => 0.9.3
2012-12-09 15:52Christian GrothoffResolutionopen => fixed
2012-12-09 15:52Christian GrothoffStatusresolved => closed
2012-12-09 15:52Christian GrothoffTarget Version0.9.5 => 0.9.3
2014-05-09 16:34Christian GrothoffCategorymesh service => cadet service