View Issue Details

IDProjectCategoryView StatusLast Update
0003177GNUnettransport servicepublic2013-12-24 20:53
ReporterBart PolotAssigned ToMatthias Wachs 
PriorityhighSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionSVN HEAD 
Target Version0.10.0Fixed in Version 
Summary0003177: transport crash in dv testcase
Descriptioncore.18362.gnunet-service-.11.1386599675
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedm98n'.
core.18364.gnunet-service-.11.1386599675
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedm98n'.
core.18347.gnunet-service-.11.1386599675
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedm98n'.
core.18324.gnunet-service-.11.1386599670
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedm98n'.
core.18325.gnunet-service-.11.1386599675
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedm98n'.
Steps To Reproduce../testbed/gnunet-testbed-profiler -c test_transport_dv_data.conf -p 10 -e 100
Additional Information(gdb) bt full
#0 0x00007f9eef8bf4f1 in dv_plugin_send (cls=0x25bd650, session=0x25ea990, msgbuf=0x7fffeb6cd090 "", msgbuf_size=16,
    priority=4294967295, timeout=..., cont=0x0, cont_cls=0x0) at plugin_transport_dv.c:514
        plugin = 0x25bd650
        pr = 0x25fee40
        msg = 0x7fffeb6cd090
        box = 0x0
        __FUNCTION__ = "dv_plugin_send"
#1 0x000000000040f0ee in send_session_connect (na=0x25fdc78) at gnunet-service-transport_neighbours.c:1592
        papi = 0x25b6c10
        connect_msg = {header = {size = 4096, type = 30465}, reserved = 0, timestamp = {
            abs_value_us__ = 1356931369286829056}}
        __FUNCTION__ = "send_session_connect"
#2 0x000000000040fe91 in handle_test_blacklist_cont (cls=0x25ef5e0, peer=0x25fdcc8, result=1)
    at gnunet-service-transport_neighbours.c:1837
        bcc = 0x25ef5e0
        n = 0x25fdc60
        __FUNCTION__ = "handle_test_blacklist_cont"
#3 0x0000000000407a2b in GST_blacklist_test_allowed (peer=0x25fdcc8, transport_name=0x7fffeb6cd418 "dv",
    cont=0x40fc3e <handle_test_blacklist_cont>, cont_cls=0x25ef5e0) at gnunet-service-transport_blacklist.c:735
        bc = 0x4b
        __FUNCTION__ = "GST_blacklist_test_allowed"
#4 0x0000000000410a02 in check_blacklist (peer=0x25fdcc8, ts=..., address=0x7fffeb6cd320, session=0x25ea990)
    at gnunet-service-transport_neighbours.c:2034
        bcc = 0x25ef5e0
        bc = 0x4ed1ae4d17531
        __FUNCTION__ = "check_blacklist"
#5 0x00000000004117fa in GST_neighbours_switch_to_address (peer=0x7fffeb6cd320, address=0x7fffeb6cd320,
    session=0x25ea990, ats=0x7fffeb6cd408, ats_count=2, bandwidth_in=..., bandwidth_out=...)
    at gnunet-service-transport_neighbours.c:2239
        n = 0x25fdc60
        papi = 0x25b6c10
        __FUNCTION__ = "GST_neighbours_switch_to_address"
#6 0x0000000000405106 in ats_request_address_change (cls=0x0, address=0x7fffeb6cd320, session=0x25ea990,
    bandwidth_out=..., bandwidth_in=..., ats=0x7fffeb6cd408, ats_count=2) at gnunet-service-transport.c:611
        bw_in = 572662374
        bw_out = 572662374
        __FUNCTION__ = "ats_request_address_change"
#7 0x00007f9ef1849562 in process_ats_message (cls=0x25bc5d0, msg=0x7fffeb6cd3d0) at ats_api_scheduling.c:659
        sh = 0x25bc5d0
        m = 0x7fffeb6cd3d0
        atsi = 0x7fffeb6cd408
        plugin_address = 0x7fffeb6cd418 "dv"
        plugin_name = 0x7fffeb6cd418 "dv"
        plugin_address_length = 0
        plugin_name_length = 3
        ats_count = 2
        address = {peer = {public_key = {
              q_y = ")3i\350q\201\r\265\226\347.V\277v0\307>\033|\344\354b7\276\352\030c\374\345\253\232\235"}},
          transport_name = 0x7fffeb6cd418 "dv", address = 0x7fffeb6cd418, address_length = 0}
        s = 0x25ea990
        __FUNCTION__ = "process_ats_message"
        session_id = 25
#8 0x00007f9ef0fd1081 in receive_task (cls=0x25bc400, tc=0x7fffeb6cd4e0) at client.c:589
        client = 0x25bc400
        handler = 0x7f9ef1848f27 <process_ats_message>
        cmsg = 0x25ff040
        handler_cls = 0x25bc5d0
        msize = 75
        mbuf = 0x7fffeb6cd3d0 ""
        msg = 0x7fffeb6cd3d0
        __FUNCTION__ = "receive_task"
#9 0x00007f9ef100a09b in run_ready (rs=0x25baf90, ws=0x25bb020) at scheduler.c:595
        p = GNUNET_SCHEDULER_PRIORITY_DEFAULT
        pos = 0x25fd940
        tc = {reason = GNUNET_SCHEDULER_REASON_TIMEOUT, read_ready = 0x25baf90, write_ready = 0x25bb020}
        __FUNCTION__ = "run_ready"
#10 0x00007f9ef100a929 in GNUNET_SCHEDULER_run (task=0x7f9ef1016abc <service_task>, task_cls=0x7fffeb6cd880)
    at scheduler.c:817
        rs = 0x25baf90
        ws = 0x25bb020
        timeout = {rel_value_us = 0}
        ret = 5
        shc_int = 0x25c10a0
        shc_term = 0x25bea00
        shc_quit = 0x25bbaa0
---Type <return> to continue, or q <return> to quit---
        shc_hup = 0x25bbb60
        shc_pipe = 0x25bb9e0
        last_tr = 3464
        busy_wait_warning = 0
        pr = 0x25baf70
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#11 0x00007f9ef10186ea in GNUNET_SERVICE_run (argc=3, argv=0x7fffeb6cdaf8, service_name=0x41d64d "transport",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x4054d0 <run>, task_cls=0x0) at service.c:1478
        err = 0
        ret = 3
        cfg_fn = 0x25b2700 "~/.gnunet/gnunet.conf"
        opt_cfg_fn = 0x25b2850 "/tmp/testbedm98nPs/9/config"
        loglev = 0x0
        logfile = 0x0
        do_daemonize = 0
        i = 4216016
        skew_offset = 140320635733645
        skew_variance = 1
        clock_offset = 140320635777573
        sctx = {cfg = 0x25b2720, server = 0x25bbe80, addrs = 0x0, service_name = 0x41d64d "transport",
          task = 0x4054d0 <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x25c9f70,
          v6_allowed = 0x25baa20, my_handlers = 0x25ca970, addrlens = 0x0, lsocks = 0x25baea0, shutdown_task = 4,
          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 = 0x25b2720
        xdg = 0x0
        service_options = {{shortName = 99 'c', name = 0x7f9ef10260ed "config",
            argumentHelp = 0x7f9ef10260f4 "FILENAME", description = 0x7f9ef1026100 "use configuration file FILENAME",
            require_argument = 1, processor = 0x7f9ef0ff86e8 <GNUNET_GETOPT_set_string>, scls = 0x7fffeb6cd938}, {
            shortName = 100 'd', name = 0x7f9ef1026120 "daemonize", argumentHelp = 0x0,
            description = 0x7f9ef1026130 "do daemonize (detach from terminal)", require_argument = 0,
            processor = 0x7f9ef0ff86bb <GNUNET_GETOPT_set_one>, scls = 0x7fffeb6cd924}, {shortName = 104 'h',
            name = 0x7f9ef1026154 "help", argumentHelp = 0x0, description = 0x7f9ef1026159 "print this help",
            require_argument = 0, processor = 0x7f9ef0ff8182 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {
            shortName = 76 'L', name = 0x7f9ef1026169 "log", argumentHelp = 0x7f9ef102616d "LOGLEVEL",
            description = 0x7f9ef1026178 "configure logging to use LOGLEVEL", require_argument = 1,
            processor = 0x7f9ef0ff86e8 <GNUNET_GETOPT_set_string>, scls = 0x7fffeb6cd930}, {shortName = 108 'l',
            name = 0x7f9ef102619a "logfile", argumentHelp = 0x7f9ef10261a2 "LOGFILE",
            description = 0x7f9ef10261b0 "configure logging to write logs to LOGFILE", require_argument = 1,
            processor = 0x7f9ef0ff86e8 <GNUNET_GETOPT_set_string>, scls = 0x7fffeb6cd928}, {shortName = 118 'v',
            name = 0x7f9ef10261db "version", argumentHelp = 0x0,
            description = 0x7f9ef10261e3 "print the version number", require_argument = 0,
            processor = 0x7f9ef0ff813c <GNUNET_GETOPT_print_version_>, scls = 0x7f9ef10261fc}, {shortName = 0 '\000',
            name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}}
        __FUNCTION__ = "GNUNET_SERVICE_run"
#12 0x0000000000405c73 in main (argc=3, argv=0x7fffeb6cdaf8) at gnunet-service-transport.c:858
No locals.













(gdb) bt full
#0 0x00007f19c3720bce in transmit_message_to_ats (cls=0x2316850, size=96, buf=0x2313f30) at ats_api_scheduling.c:287
        sh = 0x2316850
        p = 0xdf0adba0df0adba
        ret = 0
        cbuf = 0x2313f30 ""
        __FUNCTION__ = "transmit_message_to_ats"
#1 0x00007f19c2eabab7 in client_notify (cls=0x2312330, size=96, buf=0x2313f30) at client.c:1151
        th = 0x2312330
        client = 0x22f0400
        ret = 48
        delay = {rel_value_us = 139748621403680}
        __FUNCTION__ = "client_notify"
#2 0x00007f19c2eb75ca in process_notify (connection=0x22f0330) at connection.c:1172
        used = 0
        avail = 96
        size = 52
        notify = 0x7f19c2eab4a8 <client_notify>
        __FUNCTION__ = "process_notify"
#3 0x00007f19c2eb810e in transmit_ready (cls=0x22f0330, tc=0x7ffff3393b90) at connection.c:1303
        connection = 0x22f0330
        notify = 0x7ffff3393b80
        ret = 2259152797744
        have = 0
        __FUNCTION__ = "transmit_ready"
#4 0x00007f19c2ee309b in run_ready (rs=0x22eef90, ws=0x22ef020) at scheduler.c:595
        p = GNUNET_SCHEDULER_PRIORITY_DEFAULT
        pos = 0x23153a0
        tc = {reason = (GNUNET_SCHEDULER_REASON_WRITE_READY | GNUNET_SCHEDULER_REASON_PREREQ_DONE),
          read_ready = 0x22eef90, write_ready = 0x22ef020}
        __FUNCTION__ = "run_ready"
#5 0x00007f19c2ee3929 in GNUNET_SCHEDULER_run (task=0x7f19c2eefabc <service_task>, task_cls=0x7ffff3393f30)
    at scheduler.c:817
        rs = 0x22eef90
        ws = 0x22ef020
        timeout = {rel_value_us = 67333}
        ret = 5
        shc_int = 0x22f50a0
        shc_term = 0x22f2a00
        shc_quit = 0x22efaa0
        shc_hup = 0x22efb60
        shc_pipe = 0x22ef9e0
        last_tr = 5372
        busy_wait_warning = 0
        pr = 0x22eef70
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#6 0x00007f19c2ef16ea in GNUNET_SERVICE_run (argc=3, argv=0x7ffff33941a8, service_name=0x41d64d "transport",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x4054d0 <run>, task_cls=0x0) at service.c:1478
        err = 0
        ret = 3
        cfg_fn = 0x22e6700 "~/.gnunet/gnunet.conf"
        opt_cfg_fn = 0x22e6850 "/tmp/testbedm98nPs/5/config"
        loglev = 0x0
        logfile = 0x0
        do_daemonize = 0
        i = 4216016
        skew_offset = 139748632123021
        skew_variance = 1
        clock_offset = 139748632166949
        sctx = {cfg = 0x22e6720, server = 0x22efe80, addrs = 0x0, service_name = 0x41d64d "transport",
          task = 0x4054d0 <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x22fdf70,
          v6_allowed = 0x22eea20, my_handlers = 0x22fe970, addrlens = 0x0, lsocks = 0x22eeea0, shutdown_task = 4,
          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 = 0x22e6720
        xdg = 0x0
        service_options = {{shortName = 99 'c', name = 0x7f19c2eff0ed "config",
            argumentHelp = 0x7f19c2eff0f4 "FILENAME", description = 0x7f19c2eff100 "use configuration file FILENAME",
            require_argument = 1, processor = 0x7f19c2ed16e8 <GNUNET_GETOPT_set_string>, scls = 0x7ffff3393fe8}, {
            shortName = 100 'd', name = 0x7f19c2eff120 "daemonize", argumentHelp = 0x0,
            description = 0x7f19c2eff130 "do daemonize (detach from terminal)", require_argument = 0,
            processor = 0x7f19c2ed16bb <GNUNET_GETOPT_set_one>, scls = 0x7ffff3393fd4}, {shortName = 104 'h',
            name = 0x7f19c2eff154 "help", argumentHelp = 0x0, description = 0x7f19c2eff159 "print this help",
            require_argument = 0, processor = 0x7f19c2ed1182 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {
            shortName = 76 'L', name = 0x7f19c2eff169 "log", argumentHelp = 0x7f19c2eff16d "LOGLEVEL",
---Type <return> to continue, or q <return> to quit---
            description = 0x7f19c2eff178 "configure logging to use LOGLEVEL", require_argument = 1,
            processor = 0x7f19c2ed16e8 <GNUNET_GETOPT_set_string>, scls = 0x7ffff3393fe0}, {shortName = 108 'l',
            name = 0x7f19c2eff19a "logfile", argumentHelp = 0x7f19c2eff1a2 "LOGFILE",
            description = 0x7f19c2eff1b0 "configure logging to write logs to LOGFILE", require_argument = 1,
            processor = 0x7f19c2ed16e8 <GNUNET_GETOPT_set_string>, scls = 0x7ffff3393fd8}, {shortName = 118 'v',
            name = 0x7f19c2eff1db "version", argumentHelp = 0x0,
            description = 0x7f19c2eff1e3 "print the version number", require_argument = 0,
            processor = 0x7f19c2ed113c <GNUNET_GETOPT_print_version_>, scls = 0x7f19c2eff1fc}, {shortName = 0 '\000',
            name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}}
        __FUNCTION__ = "GNUNET_SERVICE_run"
#7 0x0000000000405c73 in main (argc=3, argv=0x7ffff33941a8) at gnunet-service-transport.c:858
No locals.
TagsNo tags attached.

Relationships

child of 0001795 confirmed DV is not implemented 

Activities

Matthias Wachs

2013-12-09 16:11

manager   ~0007799

The first on is a crash in the dv plugin ...

Matthias Wachs

2013-12-09 16:38

manager   ~0007801

The second is a use after free in scheduling api: p (message) is badfood

Christian Grothoff

2013-12-13 20:43

manager   ~0007881

I cannot reproduce this. Can you still reproduce it? If so, can you do it with valgrind?

Bart Polot

2013-12-17 00:47

manager   ~0007894

Haven't seen this in a couple of days of heavy testing, marking as fixed.

Issue History

Date Modified Username Field Change
2013-12-09 15:59 Bart Polot New Issue
2013-12-09 15:59 Bart Polot Status new => assigned
2013-12-09 15:59 Bart Polot Assigned To => Matthias Wachs
2013-12-09 16:11 Matthias Wachs Note Added: 0007799
2013-12-09 16:38 Matthias Wachs Note Added: 0007801
2013-12-11 20:12 Christian Grothoff Relationship added child of 0001795
2013-12-11 20:12 Christian Grothoff Target Version => 0.10.0
2013-12-13 14:49 Christian Grothoff Severity minor => crash
2013-12-13 20:43 Christian Grothoff Note Added: 0007881
2013-12-13 20:43 Christian Grothoff Status assigned => feedback
2013-12-13 20:55 Christian Grothoff Priority normal => high
2013-12-17 00:47 Bart Polot Note Added: 0007894
2013-12-17 00:47 Bart Polot Status feedback => assigned
2013-12-17 00:47 Bart Polot Status assigned => resolved
2013-12-17 00:47 Bart Polot Resolution open => fixed
2013-12-24 20:53 Christian Grothoff Status resolved => closed