View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003581 | GNUnet | peerstore | public | 2014-12-16 23:45 | 2018-06-07 00:25 |
Reporter | Christian Grothoff | Assigned To | Christian Grothoff | ||
Priority | urgent | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.11.0pre66 | Fixed in Version | 0.11.0pre66 | ||
Summary | 0003581: peerstore fails to respect MQ semantics | ||||
Description | Peerstore 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/libc.so.6 (gdb) ba #0 0x00007fa77f3f0107 in raise () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007fa77f3f14e8 in abort () from /lib/x86_64-linux-gnu/libc.so.6 #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 Information | I'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... | ||||
Tags | No tags attached. | ||||
|
Should be fixed in revision 34685 |
|
Seems to work now in SVN 34689 (with additional simplifications/fixes). [note that other issues discussed in e-mail remain unresolved],. |
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 | |
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 |