View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004010 | GNUnet | cadet service | public | 2015-10-17 21:07 | 2018-06-07 00:24 |
Reporter | Christian Grothoff | Assigned To | Bart Polot | ||
Priority | high | Severity | crash | Reproducibility | random |
Status | closed | Resolution | fixed | ||
Platform | i7 | OS | Debian GNU/Linux | OS Version | squeeze |
Product Version | Git master | ||||
Target Version | 0.11.0pre66 | Fixed in Version | 0.11.0pre66 | ||
Summary | 0004010: cadet assertion failure after GCC_send_prebuilt_message returns NULL | ||||
Description | Assertion "NULL != fc->poll_msg" fails in gnunet-service-cadet_connection.c:1458.(gdb) ba #0 0x00007fa933b58107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007fa933b594e8 in __GI_abort () at abort.c:89 #2 0x00007fa93501e983 in GNUNET_abort_ () at common_logging.c:290 #3 0x0000000000415f3c in connection_poll (cls=0x22e0b58, tc=0x7ffff265e980) at gnunet-service-cadet_connection.c:1458 #4 0x00007fa93505b6c6 in run_ready (rs=0x22adc00, ws=0x22adc90) at scheduler.c:587 #5 0x00007fa93505bfba in GNUNET_SCHEDULER_run (task=0x7fa9350689c4 <service_task>, task_cls=0x7ffff265ed20) at scheduler.c:868 #6 0x00007fa93506a6d6 in GNUNET_SERVICE_run (argc=3, argv=0x7ffff265efb8, service_name=0x43c26a "cadet", options=GNUNET_SERVICE_OPTION_NONE, task=0x43542e <run>, task_cls=0x0) at service.c:1503 #7 0x000000000043579d in main (argc=3, argv=0x7ffff265efb8) at gnunet-service-cadet.c:174 (gdb) print *c $3 = {t = 0x0, fwd_fc = {c = 0x22e0b50, queue_n = 1, queue_max = 11, last_pid_sent = 11, last_pid_recv = 4294967295, recv_bitmap = 0, last_ack_sent = 0, last_ack_recv = 11, poll_task = 0x0, poll_time = {rel_value_us = 128000000}, poll_msg = 0x0, ack_msg = 0x0}, bck_fc = {c = 0x22e0b50, queue_n = 0, queue_max = 11, last_pid_sent = 4294967295, last_pid_recv = 12, recv_bitmap = 8191, last_ack_sent = 14, last_ack_recv = 0, poll_task = 0x0, poll_time = {rel_value_us = 1000000}, poll_msg = 0x0, ack_msg = 0x0}, perf = 0x0, id = { bits = "\033D\345\062\323c\243\264\355\321}\371\350\021D\260\364\210wL\357\004\342\211\337\006 \373\346l\321", <incomplete sequence \3 31>}, path = 0x22cf310, fwd_maintenance_task = 0x22e91f0, bck_maintenance_task = 0x22eac20, maintenance_q = 0x0, next_peer = 0x0, prev_peer = 0x0, state = CADET_CONNECTION_DESTROYED, own_pos = 1, pending_messages = 2, destroy = 1, was_removed = 1, create_retry = 1, check_duplicates_task = 0x0} (gdb) print *fc $4 = {c = 0x22e0b50, queue_n = 1, queue_max = 11, last_pid_sent = 11, last_pid_recv = 4294967295, recv_bitmap = 0, last_ack_sent = 0, last_ack_recv = 11, poll_task = 0x0, poll_time = {rel_value_us = 128000000}, poll_msg = 0x0, ack_msg = 0x0} | ||||
Tags | No tags attached. | ||||
|
The relevant bit is: state = CADET_CONNECTION_DESTROYED I suspect that the connection is destroyed because the peer disconnected, hence it can't send a POLL. Probably the neighbor-disconnect iterator is not cancelling the poll task. |
|
Poll was not cancelled properly if a poll message was in the queue at the moment a neighbor disconnected. It was sent and triggered another poll task, which caused the assertion to fail. Should be fixed in r36558. |
|
Hit this again in rev 36579. Program terminated with signal SIGABRT, Aborted. #0 0x00007f59d547f107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007f59d547f107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f59d54804e8 in __GI_abort () at abort.c:89 #2 0x00007f59d6b4fa1a in GNUNET_abort_ () at common_logging.c:290 #3 0x000000000041620e in connection_poll (cls=0x2167fe8, tc=0x7ffccbdedad0) at gnunet-service-cadet_connection.c:1460 #4 0x00007f59d6b8c921 in run_ready (rs=0x21207e0, ws=0x2120870) at scheduler.c:587 #5 0x00007f59d6b8d22e in GNUNET_SCHEDULER_run ( task=0x7f59d6b99cdc <service_task>, task_cls=0x7ffccbdede60) at scheduler.c:868 #6 0x00007f59d6b9ba15 in GNUNET_SERVICE_run (argc=7, argv=0x7ffccbdee0f8, service_name=0x43c5aa "cadet", options=GNUNET_SERVICE_OPTION_NONE, task=0x435746 <run>, task_cls=0x0) at service.c:1503 #7 0x0000000000435ab5 in main (argc=7, argv=0x7ffccbdee0f8) at gnunet-service-cadet.c:174 (gdb) f 3 #3 0x000000000041620e in connection_poll (cls=0x2167fe8, tc=0x7ffccbdedad0) at gnunet-service-cadet_connection.c:1460 1460 gnunet-service-cadet_connection.c: No such file or directory. (gdb) p *c $1 = {t = 0x0, fwd_fc = {c = 0x2167fe0, queue_n = 0, queue_max = 11, last_pid_sent = 0, last_pid_recv = 4294967295, recv_bitmap = 0, last_ack_sent = 0, last_ack_recv = 0, poll_task = 0x0, poll_time = { rel_value_us = 2000000}, poll_msg = 0x0, ack_msg = 0x0}, bck_fc = { c = 0x2167fe0, queue_n = 0, queue_max = 11, last_pid_sent = 4294967295, last_pid_recv = 0, recv_bitmap = 1, last_ack_sent = 10, last_ack_recv = 0, poll_task = 0x0, poll_time = {rel_value_us = 1000000}, poll_msg = 0x0, ack_msg = 0x0}, perf = 0x0, id = { bits = "\202\201\177\344\273|\026\264t\311\361\222\024?\327|\241\302K\356\256\347\300\335\300ըPr\275\341#"}, path = 0x215f380, fwd_maintenance_task = 0x2168140, bck_maintenance_task = 0x214e230, maintenance_q = 0x0, next_peer = 0x0, prev_peer = 0x0, state = CADET_CONNECTION_DESTROYED, own_pos = 1, pending_messages = 2, destroy = 1, was_removed = 1, create_retry = 1, check_duplicates_task = 0x0} (gdb) print *fc $2 = {c = 0x2167fe0, queue_n = 0, queue_max = 11, last_pid_sent = 0, last_pid_recv = 4294967295, recv_bitmap = 0, last_ack_sent = 0, last_ack_recv = 0, poll_task = 0x0, poll_time = {rel_value_us = 2000000}, poll_msg = 0x0, ack_msg = 0x0} |
|
Solved in r36749. I hope! |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-10-17 21:07 | Christian Grothoff | New Issue | |
2015-10-17 21:07 | Christian Grothoff | Status | new => assigned |
2015-10-17 21:07 | Christian Grothoff | Assigned To | => Bart Polot |
2015-10-20 03:50 | Bart Polot | Note Added: 0009754 | |
2015-10-20 03:50 | Bart Polot | Status | assigned => acknowledged |
2015-10-20 04:30 | Bart Polot | Note Added: 0009755 | |
2015-10-20 04:30 | Bart Polot | Status | acknowledged => resolved |
2015-10-20 04:30 | Bart Polot | Fixed in Version | => 0.11.0pre66 |
2015-10-20 04:30 | Bart Polot | Resolution | open => fixed |
2015-10-28 19:27 | amatus | Note Added: 0009824 | |
2015-10-28 19:27 | amatus | Status | resolved => feedback |
2015-10-28 19:27 | amatus | Resolution | fixed => reopened |
2015-10-28 19:28 | amatus | Status | feedback => assigned |
2015-12-09 19:58 | Bart Polot | Note Added: 0009988 | |
2015-12-09 19:59 | Bart Polot | Status | assigned => resolved |
2015-12-09 19:59 | Bart Polot | Resolution | reopened => fixed |
2018-06-07 00:24 | Christian Grothoff | Status | resolved => closed |