View Issue Details

IDProjectCategoryView StatusLast Update
0003630GNUnettransport servicepublic2018-06-07 00:25
ReporterBart Polot Assigned ToChristian Grothoff  
PrioritynormalSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.11.0pre66Fixed in Version0.11.0pre66 
Summary0003630: transport crash while running a peer
DescriptionFound 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 ReproduceWas 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)
TagsNo tags attached.

Activities

Bart Polot

2015-01-29 00:51

manager   ~0008820

(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}

Christian Grothoff

2015-02-01 19:08

manager   ~0008834

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.

Issue History

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