View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003184 | GNUnet | set service | public | 2013-12-09 23:05 | 2013-12-24 20:53 |
Reporter | Christian Grothoff | Assigned To | Florian Dold | ||
Priority | urgent | Severity | crash | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.10.0 | Fixed in Version | 0.10.0 | ||
Summary | 0003184: crash in gnunet-service-set:1239 | ||||
Description | Looks like we attempt to insert 'incoming' to a DLL that it is already in, but this is very strange: (gdb) ba #0 0x00007f4a8818c1d5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f4a8818f388 in __GI_abort () at abort.c:90 #2 0x00007f4a88e2841c in GNUNET_abort () at common_logging.c:289 #3 0x0000000000405af0 in channel_new_cb (cls=0x0, channel=0x24e3b20, initiator=0x7fffa9894c28, port=19, options=GNUNET_MESH_OPTION_RELIABLE) at gnunet-service-set.c:1239 #4 0x00007f4a88a05ce3 in process_channel_created (h=0x24bebe0, msg=0x7fffa9894c20) at mesh_api.c:770 #5 0x00007f4a88a060e9 in msg_received (cls=0x24bebe0, msg=0x7fffa9894c20) at mesh_api.c:1030 #6 0x00007f4a88e255cf in receive_task (cls=0x24bee50, tc=0x7fffa9894d00) at client.c:589 #7 0x00007f4a88e5b4c2 in run_ready (rs=0x24be300, ws=0x24be390) at scheduler.c:595 #8 0x00007f4a88e5bcd3 in GNUNET_SCHEDULER_run (task=0x7f4a88e66ac4 <service_task>, task_cls=0x7fffa98950a0) at scheduler.c:817 #9 0x00007f4a88e685e5 in GNUNET_SERVICE_run (argc=3, argv=0x7fffa9895328, service_name=0x40bda3 "set", options=GNUNET_SERVICE_OPTION_NONE, task=0x405cdb <run>, task_cls=0x0) at service.c:1478 #10 0x0000000000405e2d in main (argc=3, argv=0x7fffa9895328) at gnunet-service-set.c:1402 (gdb) down #3 0x0000000000405af0 in channel_new_cb (cls=0x0, channel=0x24e3b20, initiator=0x7fffa9894c28, port=19, options=GNUNET_MESH_OPTION_RELIABLE) at gnunet-service-set.c:1239 (gdb) print incoming $1 = (struct Operation *) 0x24e3ad0 (gdb) print incoming_head $2 = (struct Operation *) 0x24e3ad0 | ||||
Steps To Reproduce | ../testbed/gnunet-testbed-profiler -c test_transport_dv_data.conf -p 10 -e 100 | ||||
Tags | No tags attached. | ||||
|
My best guess is that we deleted an old Operation but failed to remove it from the list; allocated a fresh one, and happened to get the same address from malloc by chance. Then the DLL check might fail. |
|
Should be fixed in r3124. Was caused by a bug when rejecting set operations. |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-12-09 23:05 | Christian Grothoff | New Issue | |
2013-12-09 23:05 | Christian Grothoff | Status | new => assigned |
2013-12-09 23:05 | Christian Grothoff | Assigned To | => Florian Dold |
2013-12-09 23:08 | Christian Grothoff | Note Added: 0007807 | |
2013-12-10 00:25 | Florian Dold | Note Added: 0007810 | |
2013-12-10 00:25 | Florian Dold | Status | assigned => resolved |
2013-12-10 00:25 | Florian Dold | Resolution | open => fixed |
2013-12-12 00:26 | Christian Grothoff | Fixed in Version | => 0.10.0 |
2013-12-12 00:26 | Christian Grothoff | Target Version | 0.10.1 => 0.10.0 |
2013-12-24 20:53 | Christian Grothoff | Status | resolved => closed |