View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004352 | GNUnet | cadet service | public | 2016-03-30 16:48 | 2018-06-07 00:24 |
Reporter | amatus | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | crash | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | i686 | OS | Debian | OS Version | jessie |
Product Version | Git master | ||||
Target Version | 0.11.0pre66 | Fixed in Version | 0.11.0pre66 | ||
Summary | 0004352: segfault in destroy_channel() | ||||
Description | I just updated to rev 36969 and the set service crashed almost immediately at startup: Program terminated with signal SIGSEGV, Segmentation fault. #0 0xb7656990 in destroy_channel (ch=0x910e888, call_cleaner=1) at cadet_api.c:468 468 GNUNET_CONTAINER_DLL_remove (h->channels_head, h->channels_tail, ch); (gdb) bt #0 0xb7656990 in destroy_channel (ch=0x910e888, call_cleaner=1) at cadet_api.c:468 #1 0xb7659b9b in GNUNET_CADET_channel_destroy (channel=0x910e888) at cadet_api.c:1697 #2 0xb7657af7 in process_incoming_data (h=0x90fdf00, message=0xbfc1cae0) at cadet_api.c:876 #3 0xb76585b9 in msg_received (cls=0x90fdf00, msg=0xbfc1cae0) at cadet_api.c:1273 #4 0xb767f9c4 in receive_task (cls=0x90fe238, tc=0xbfc1cb94) at client.c:623 #5 0xb76bbad5 in run_ready (rs=0x910d050, ws=0x90fd930) at scheduler.c:587 #6 0xb76bc362 in GNUNET_SCHEDULER_run (task=0xb76c6ec6 <service_task>, task_cls=0xbfc1cdc0) at scheduler.c:868 #7 0xb76c8a64 in GNUNET_SERVICE_run (argc=7, argv=0xbfc1cfb4, service_name=0x8056fa8 "set", options=GNUNET_SERVICE_OPTION_NONE, task=0x804f057 <run>, task_cls=0x0) at service.c:1503 #8 0x0804f1a4 in main (argc=7, argv=0xbfc1cfb4) at gnunet-service-set.c:2034 (gdb) p *ch $1 = {next = 0x90fe238, prev = 0xb765871e <send_callback>, cadet = 0x90fdf00, chid = 152035840, port = 0, peer = 4294967295, ctx = 0xffffffff, packet_size = 48, options = GNUNET_CADET_OPTION_NOBUFFER, allow_send = 50} (gdb) p *h $2 = {client = 0x90fe238, message_handlers = 0x8057340 <cadet_handlers>, n_handlers = 13, ports = 0x80573b0 <cadet_ports>, n_ports = 1, channels_head = 0x0, channels_tail = 0x0, new_channel = 0x804ec9b <channel_new_cb>, cleaner = 0x804ef74 <channel_end_cb>, th = 0x910e888, cls = 0x0, th_head = 0x910ef50, th_tail = 0x910ef50, next_chid = 2147483648, in_receive = 1, cfg = 0x90fd678, reconnect_time = {rel_value_us = 1000}, reconnect_task = 0x0, info_cb = {channel_cb = 0x0, peers_cb = 0x0, peer_cb = 0x0, tunnels_cb = 0x0, tunnel_cb = 0x0}, info_cls = 0x0} The set service logged: Mar 30 14:36:28-933873 set-union-3599 ERROR union operation failed | ||||
Tags | No tags attached. | ||||
|
Hit the same thing on my other node (amd64 Debian jessie). This time the channels list pointers are not null. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f336c9d91dd in destroy_channel (ch=0x1b945d0, call_cleaner=1) at cadet_api.c:468 468 cadet_api.c: No such file or directory. (gdb) bt #0 0x00007f336c9d91dd in destroy_channel (ch=0x1b945d0, call_cleaner=1) at cadet_api.c:468 #1 0x00007f336c9de9cd in GNUNET_CADET_channel_destroy (channel=0x1b945d0) at cadet_api.c:1697 #2 0x00007f336c9dafa1 in process_incoming_data (h=0x1b740e0, message=0x7fff0e385b80) at cadet_api.c:876 #3 0x00007f336c9dc4c0 in msg_received (cls=0x1b740e0, msg=0x7fff0e385b80) at cadet_api.c:1273 #4 0x00007f336d00954b in receive_task (cls=0x1b74450, tc=0x7fff0e385ca0) at client.c:623 #5 0x00007f336d04c476 in run_ready (rs=0x1b882f0, ws=0x1b738d0) at scheduler.c:587 #6 0x00007f336d04cd83 in GNUNET_SCHEDULER_run ( task=0x7f336d059831 <service_task>, task_cls=0x7fff0e386030) at scheduler.c:868 #7 0x00007f336d05b56a in GNUNET_SERVICE_run (argc=3, argv=0x7fff0e3862c8, service_name=0x413ada "set", options=GNUNET_SERVICE_OPTION_NONE, task=0x408fba <run>, task_cls=0x0) at service.c:1503 #8 0x000000000040911b in main (argc=3, argv=0x7fff0e3862c8) at gnunet-service-set.c:2034 (gdb) p *h $1 = {client = 0x1b74450, message_handlers = 0x414000 <cadet_handlers>, n_handlers = 13, ports = 0x4140e0 <cadet_ports>, n_ports = 1, channels_head = 0x1b8b060, channels_tail = 0x1b8b060, new_channel = 0x4088f0 <channel_new_cb>, cleaner = 0x408c69 <channel_end_cb>, th = 0x1b945d0, cls = 0x0, th_head = 0x1b9d9e0, th_tail = 0x1b8ad00, next_chid = 2147483650, in_receive = 1, cfg = 0x1b73720, reconnect_time = {rel_value_us = 1000}, reconnect_task = 0x0, info_cb = {channel_cb = 0x0, peers_cb = 0x0, peer_cb = 0x0, tunnels_cb = 0x0, tunnel_cb = 0x0}, info_cls = 0x0} (gdb) p *ch $2 = {next = 0x1b74450, prev = 0x7f336c9dc708 <send_callback>, cadet = 0x1b740e0, chid = 28787696, port = 0, peer = 0, ctx = 0xffffffffffffffff, packet_size = 48, options = GNUNET_CADET_OPTION_DEFAULT, allow_send = 1} |
|
No longer relevant after CADET rewrite. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-03-30 16:48 | amatus | New Issue | |
2016-03-30 16:48 | amatus | Status | new => assigned |
2016-03-30 16:48 | amatus | Assigned To | => Bart Polot |
2016-03-30 20:21 | amatus | Note Added: 0010339 | |
2016-09-22 20:11 | Christian Grothoff | Target Version | => 0.11.0pre66 |
2017-02-21 18:28 | Christian Grothoff | Assigned To | Bart Polot => Christian Grothoff |
2017-02-21 18:28 | Christian Grothoff | Status | assigned => resolved |
2017-02-21 18:28 | Christian Grothoff | Resolution | open => fixed |
2017-02-21 18:28 | Christian Grothoff | Fixed in Version | => 0.11.0pre66 |
2017-02-21 18:28 | Christian Grothoff | Note Added: 0011811 | |
2018-06-07 00:24 | Christian Grothoff | Status | resolved => closed |