View Issue Details

IDProjectCategoryView StatusLast Update
0003581GNUnetpeerstorepublic2018-06-07 00:25
ReporterChristian GrothoffAssigned ToChristian Grothoff 
Status closedResolutionfixed 
Product VersionSVN HEAD 
Target Version0.11.0pre66Fixed in Version0.11.0pre66 
Summary0003581: peerstore fails to respect MQ semantics
DescriptionPeerstore currently stores the MQ's envelope in the context for an operation, and if it experiences a reconnect, re-uses the envelope to retransmit the request. However, envelopes don't survive the death of their MQ after they have been 'send', so this causes a crash. For example, during integration tests, I get:

Core was generated by `/home/grothoff/lib//gnunet/libexec/gnunet-service-fs -c /home/grothoff/svn/gnun'.
Program terminated with signal 6, Aborted.
#0 0x00007fa77f3f0107 in raise () from /lib/x86_64-linux-gnu/
(gdb) ba
#0 0x00007fa77f3f0107 in raise () from /lib/x86_64-linux-gnu/
#1 0x00007fa77f3f14e8 in abort () from /lib/x86_64-linux-gnu/
#2 0x00007fa77febbfa5 in GNUNET_abort () at common_logging.c:289
#3 0x00007fa77ff01a75 in GNUNET_MQ_send (mq=0x1a85b00, ev=0x1a88800) at mq.c:279
#4 0x00007fa77fc84d9e in reconnect (h=0x1a5eed0) at peerstore_api.c:375
#5 0x00007fa77fc846a8 in handle_client_error (cls=0x1a5eed0, error=GNUNET_MQ_ERROR_READ) at peerstore_api.c:300
#6 0x00007fa77ff0165c in GNUNET_MQ_inject_error (mq=0x1a85b00, error=GNUNET_MQ_ERROR_READ) at mq.c:255
#7 0x00007fa77ff0362c in connection_client_transmit_queued (cls=0x1a85b00, size=0, buf=0x0) at mq.c:615
#8 0x00007fa77feb62a2 in client_notify (cls=0x1a888d0, size=0, buf=0x0) at client.c:1137
#9 0x00007fa77fecdc76 in connect_error (cls=0x1a88a70, tc=0x7fffee323cb0) at connection.c:1265
#10 0x00007fa77ff1d524 in run_ready (rs=0x1a5cea0, ws=0x1a5cf30) at scheduler.c:595
#11 0x00007fa77ff1e5b3 in GNUNET_SCHEDULER_run (task=0x7fa77ff33eaf <service_task>, task_cls=0x7fffee324050) at scheduler.c:817
#12 0x00007fa77ff37362 in GNUNET_SERVICE_run (argc=3, argv=0x7fffee3242d8, service_name=0x42fef3 "fs",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x4073c2 <run>, task_cls=0x0) at service.c:1498
#13 0x00000000004078a6 in main (argc=3, argv=0x7fffee3242d8) at gnunet-service-fs.c:839
Additional InformationI'm committing a fix for the "Store" operation in SVN 34670: the message data is kept in the struct, and a fresh envelope is build on reconnect. This still needs to be done for the other operations...
TagsNo tags attached.



2014-12-18 18:40

developer   ~0008707

Should be fixed in revision 34685

Christian Grothoff

2014-12-19 11:15

manager   ~0008710

Seems to work now in SVN 34689 (with additional simplifications/fixes).
[note that other issues discussed in e-mail remain unresolved],.

Issue History

Date Modified Username Field Change
2014-12-16 23:45 Christian Grothoff New Issue
2014-12-16 23:45 Christian Grothoff Status new => assigned
2014-12-16 23:45 Christian Grothoff Assigned To => otarabai
2014-12-16 23:45 Christian Grothoff Additional Information Updated View Revisions
2014-12-18 18:40 otarabai Note Added: 0008707
2014-12-18 18:47 otarabai Assigned To otarabai => Christian Grothoff
2014-12-18 18:47 otarabai Status assigned => feedback
2014-12-19 11:15 Christian Grothoff Note Added: 0008710
2014-12-19 11:15 Christian Grothoff Status feedback => assigned
2014-12-19 11:15 Christian Grothoff Status assigned => resolved
2014-12-19 11:15 Christian Grothoff Fixed in Version => 0.11.0pre66
2014-12-19 11:15 Christian Grothoff Resolution open => fixed
2014-12-19 11:15 Christian Grothoff Target Version => 0.11.0pre66
2018-06-07 00:25 Christian Grothoff Status resolved => closed