View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003630 | GNUnet | transport service | public | 2015-01-29 00:49 | 2018-06-07 00:25 |
Reporter | Bart Polot | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | crash | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.11.0pre66 | Fixed in Version | 0.11.0pre66 | ||
Summary | 0003630: transport crash while running a peer | ||||
Description | Found a core dump ater doing some tests with the "live" network. Program terminated with signal SIGABRT, Aborted. #0 0x00007f5eb2a36a97 in raise () from /usr/lib/libc.so.6 (gdb) bt #0 0x00007f5eb2a36a97 in raise () from /usr/lib/libc.so.6 #1 0x00007f5eb2a37e6a in abort () from /usr/lib/libc.so.6 #2 0x00007f5eb3d06b8e in resize_logdefs () at common_logging.c:276 #3 0x00000000004074d5 in GST_ats_add_address (address=0x7d71f0, session=0x7f3f30, ats=0x0, ats_count=0) at gnunet-service-transport_ats.c:253 #4 0x000000000040604d in plugin_env_session_start (cls=0x7cedb0, address=0x7d71f0, session=0x7f3f30, ats=0x0, ats_count=0) at gnunet-service-transport.c:744 #5 0x00007f5eb25f4f10 in process_udp_message (plugin=0x7ba640, msg=0x7fff6d48a420, sender_addr=0x7fff6d49a420, sender_addr_len=16) at plugin_transport_udp.c:2350 #6 0x00007f5eb25f5685 in read_process_msg (plugin=0x7ba640, msg=0x7fff6d48a420, addr=0x7fff6d49a420, fromlen=16) at plugin_transport_udp.c:2491 #7 0x00007f5eb25f65a1 in udp_select_read (plugin=0x7ba640, rsock=0x7ba830) at plugin_transport_udp.c:2719 #8 0x00007f5eb25f7576 in udp_plugin_select (cls=0x7ba640, tc=0x7fff6d49a540) at plugin_transport_udp.c:3053 #9 0x00007f5eb3d4065a in run_ready (rs=0x7b7510, ws=0x7ce500) at scheduler.c:587 #10 0x00007f5eb3d40ede in GNUNET_SCHEDULER_run (task=0x7f5eb3d4d891 <shutdown_task+77>, task_cls=0x7fff6d49a8c0) at scheduler.c:816 #11 0x00007f5eb3d4f5ca in GNUNET_SERVICE_run (argc=3, argv=0x7fff6d49ab48, service_name=0x42482c "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x40682e <run>, task_cls=0x0) at service.c:1503 #12 0x0000000000406fbc in main (argc=3, argv=0x7fff6d49ab48) at gnunet-service-transport.c:1096 | ||||
Steps To Reproduce | Was running a peer, using gnunet-peerinfo -p to feed it hello messages. | ||||
Additional Information | (gdb) bt full #0 0x00007f5eb2a36a97 in raise () from /usr/lib/libc.so.6 No symbol table info available. #1 0x00007f5eb2a37e6a in abort () from /usr/lib/libc.so.6 No symbol table info available. #2 0x00007f5eb3d06b8e in resize_logdefs () at common_logging.c:276 No locals. #3 0x00000000004074d5 in GST_ats_add_address (address=0x7d71f0, session=0x7f3f30, ats=0x0, ats_count=0) at gnunet-service-transport_ats.c:253 papi = 0x407135 <find_ai+71> ats2 = <error reading variable ats2 (frame address is not available.)> ar = 0x0 ai = 0x7d3240 net = 0 __FUNCTION__ = "GST_ats_add_address" #4 0x000000000040604d in plugin_env_session_start (cls=0x7cedb0, address=0x7d71f0, session=0x7f3f30, ats=0x0, ats_count=0) at gnunet-service-transport.c:744 blctx = 0x7d7230 blc = 0x699b25fbb5a __FUNCTION__ = "plugin_env_session_start" #5 0x00007f5eb25f4f10 in process_udp_message (plugin=0x7ba640, msg=0x7fff6d48a420, sender_addr=0x7fff6d49a420, sender_addr_len=16) at plugin_transport_udp.c:2350 si = {sender = {public_key = { q_y = "}\273ղ\273\r\005\000\000\000\000\000\000\000\000\000\300\243Hm\377\177\000\000\237\016\367\263^\177\000"}}, arg = 0x134, session = 0x2, args = 140044696274670} s = 0x7f3f30 address = 0x7d71f0 u4 = {options = 0, ipv4_addr = 991207299, u4_port = 4903} u6 = {options = 0, ipv6_addr = {__in6_u = { __u6_addr8 = "\377\177\000\000_\376\366\263^\177\000\000\200\204\036", __u6_addr16 = {32767, 0, 65119, 46070, 32606, 0, 33920, 30}, __u6_addr32 = {32767, 3019308639, 32606, 2000000}}}, u6_port = 0} arg = 0x7fff6d48a320 args = 10 __FUNCTION__ = "process_udp_message" #6 0x00007f5eb25f5685 in read_process_msg (plugin=0x7ba640, msg=0x7fff6d48a420, addr=0x7fff6d49a420, fromlen=16) at plugin_transport_udp.c:2491 __FUNCTION__ = "read_process_msg" #7 0x00007f5eb25f65a1 in udp_select_read (plugin=0x7ba640, rsock=0x7ba830) at plugin_transport_udp.c:2719 fromlen = 16 addr = {ss_family = 2, __ss_align = 0, __ss_padding = '\000' <repeats 111 times>} buf = "\001\064\000\070\000\000\000\000αW\361a\345*8r\225\356P\016\026\256lDقKe֝\313<\231\370#\275\065`\271\000\326\000\021\000\000\000\000αW\361a\345*8r\225\356P\016\026\256lDقKe֝\313<\231\370#\275\065`\271tcp\000\000\030\000\005\r\305\301\241m\235\000\000\000\000 \001L\240 \001\000\021\025\\ \300\203\211\200\354'\023\000\000tcp\000\000\f\000\005\r\305\301\241m\235\000\000\000\000\n\300\000\001'\023\000\000tcp\000\000\f\000\005\r\305\301\241m\235\000\000\000\000\203\237\024;'\023\000\000udp\000\000\026\000\005\r\305\301\241m\235\000\000\000\000 \001L\240 \001\000\021\025\\ \300\203\211\200\354'\023"... size = 308 msg = 0x7fff6d48a420 __FUNCTION__ = "udp_select_read" #8 0x00007f5eb25f7576 in udp_plugin_select (cls=0x7ba640, tc=0x7fff6d49a540) at plugin_transport_udp.c:3053 plugin = 0x7ba640 #9 0x00007f5eb3d4065a in run_ready (rs=0x7b7510, ws=0x7ce500) at scheduler.c:587 p = GNUNET_SCHEDULER_PRIORITY_DEFAULT pos = 0x7bc8d0 tc = {reason = (GNUNET_SCHEDULER_REASON_READ_READY | GNUNET_SCHEDULER_REASON_PREREQ_DONE), read_ready = 0x814f90, write_ready = 0x7ce500} __FUNCTION__ = "run_ready" #10 0x00007f5eb3d40ede in GNUNET_SCHEDULER_run (task=0x7f5eb3d4d891 <shutdown_task+77>, task_cls=0x7fff6d49a8c0) at scheduler.c:816 rs = 0x7b7510 ws = 0x7ce500 timeout = {rel_value_us = 33917} ret = 1 shc_int = 0x7ce720 shc_term = 0x7ce7e0 ---Type <return> to continue, or q <return> to quit--- shc_quit = 0x7ce960 shc_hup = 0x7cea20 shc_pipe = 0x7ce8a0 last_tr = 40512 busy_wait_warning = 0 pr = 0x7b74f0 c = 0 '\000' __FUNCTION__ = "GNUNET_SCHEDULER_run" #11 0x00007f5eb3d4f5ca in GNUNET_SERVICE_run (argc=3, argv=0x7fff6d49ab48, service_name=0x42482c "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x40682e <run>, task_cls=0x0) at service.c:1503 err = 0 ret = 3 cfg_fn = 0x7b5700 "~/.config/gnunet.conf" opt_cfg_fn = 0x7b5850 "/home/bart/.config/gnunet.conf" loglev = 0x0 logfile = 0x0 do_daemonize = 0 i = 4220974 skew_offset = 140735026932544 skew_variance = 4209200 clock_offset = 1422474559 sctx = {cfg = 0x7b5720, server = 0x7b8c60, addrs = 0x0, service_name = 0x42482c "transport", task = 0x40682e <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x7cb7a0, v6_allowed = 0x7cdab0, my_handlers = 0x7b8d50, addrlens = 0x0, lsocks = 0x7ce6e0, shutdown_task = 0x7b8cf0, timeout = {rel_value_us = 18446744073709551615}, ret = 1, ready_confirm_fd = -1, require_found = 1, match_uid = 0, match_gid = 1, options = GNUNET_SERVICE_OPTION_NONE} cfg = 0x7b5720 xdg = 0x0 service_options = {{shortName = 99 'c', name = 0x7f5eb3d5d98d "tion file FILENAME", argumentHelp = 0x7f5eb3d5d994 "le FILENAME", description = 0x7f5eb3d5d9a0 "daemonize", require_argument = 1, processor = 0x7f5eb3d2d789 <GNUNET_GETOPT_set_one+29>, scls = 0x7fff6d49a978}, { shortName = 100 'd', name = 0x7f5eb3d5d9c0 "tach from terminal)", argumentHelp = 0x0, description = 0x7f5eb3d5d9d0 "al)", require_argument = 0, processor = 0x7f5eb3d2d75c <GNUNET_GETOPT_increment_value+34>, scls = 0x7fff6d49a964}, { shortName = 104 'h', name = 0x7f5eb3d5d9f4 "L", argumentHelp = 0x0, description = 0x7f5eb3d5d9f9 "onfigure logging to use LOGLEVEL", require_argument = 0, processor = 0x7f5eb3d2d227 <GNUNET_GETOPT_print_version_+54>, scls = 0x0}, {shortName = 76 'L', name = 0x7f5eb3d5da09 " to use LOGLEVEL", argumentHelp = 0x7f5eb3d5da0d "use LOGLEVEL", description = 0x7f5eb3d5da18 "L", require_argument = 1, processor = 0x7f5eb3d2d789 <GNUNET_GETOPT_set_one+29>, scls = 0x7fff6d49a970}, {shortName = 108 'l', name = 0x7f5eb3d5da3a "logging to write logs to LOGFILE", argumentHelp = 0x7f5eb3d5da42 "to write logs to LOGFILE", description = 0x7f5eb3d5da50 "to LOGFILE", require_argument = 1, processor = 0x7f5eb3d2d789 <GNUNET_GETOPT_set_one+29>, scls = 0x7fff6d49a968}, { shortName = 118 'v', name = 0x7f5eb3d5da7b "", argumentHelp = 0x0, description = 0x7f5eb3d5da83 "svn-r35044", require_argument = 0, processor = 0x7f5eb3d2d1e1 <GNUNET_GETOPT_run+1188>, scls = 0x7f5eb3d5da9c}, {shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}} __FUNCTION__ = "GNUNET_SERVICE_run" #12 0x0000000000406fbc in main (argc=3, argv=0x7fff6d49ab48) at gnunet-service-transport.c:1096 No locals. (gdb) | ||||
Tags | No tags attached. | ||||
|
(gdb) p ai $1 = (struct AddressInfo *) 0x7d3240 (gdb) p *ai $2 = {address = 0x7d3db0, session = 0x0, ar = 0x7cf970} (gdb) p *ai->address $3 = {peer = {public_key = {q_y = "αW\361a\345*8r\225\356P\016\026\256lDقKe֝\313<\231\370#\275\065`\271"}}, transport_name = 0x7d3dfa "udp", address = 0x7d3df0, address_length = 10, local_info = GNUNET_HELLO_ADDRESS_INFO_NONE} (gdb) p *ai->ar $4 = {sh = 0x7b9b30, address = 0x7d3cc0, session = 0x0, ats = 0x7b99c0, ats_count = 2, slot = 8, in_use = 0, in_destroy = 0} |
|
The "GST_ats_is_known()" check in "plugin_env_session_start" should NOT have passes 'session' (instead 'NULL'), as we want to check if JUST the address is known (and we thus only have to add the session), or if nothing is known. Should be fixed in SVN 35054. |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-01-29 00:49 | Bart Polot | New Issue | |
2015-01-29 00:49 | Bart Polot | Status | new => assigned |
2015-01-29 00:49 | Bart Polot | Assigned To | => Christian Grothoff |
2015-01-29 00:51 | Bart Polot | Note Added: 0008820 | |
2015-02-01 19:08 | Christian Grothoff | Note Added: 0008834 | |
2015-02-01 19:08 | Christian Grothoff | Status | assigned => resolved |
2015-02-01 19:08 | Christian Grothoff | Fixed in Version | => 0.11.0pre66 |
2015-02-01 19:08 | Christian Grothoff | Resolution | open => fixed |
2015-02-01 19:08 | Christian Grothoff | Target Version | => 0.11.0pre66 |
2018-06-07 00:25 | Christian Grothoff | Status | resolved => closed |