View Issue Details

IDProjectCategoryView StatusLast Update
0002881GNUnettransport servicepublic2013-12-24 20:55
ReporterBart Polot Assigned ToMatthias Wachs  
PriorityhighSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002881: Setting MANIPULATE_DELAY_* crashes transport
Description#0 0x0000000000419c58 in GST_manipulation_send (target=0x7fff631f0f08, msg=0x7fff631f0f48, msg_size=320, timeout=..., cont=0x4097ba <handle_send_transmit_continuation>, cont_cls=0xfb93f0) at gnunet-service-transport_manipulation.c:414
414 GNUNET_CONTAINER_DLL_insert_tail (tmp->send_head, tmp->send_tail, dqe);
(gdb) bt
#0 0x0000000000419c58 in GST_manipulation_send (target=0x7fff631f0f08, msg=0x7fff631f0f48, msg_size=320, timeout=..., cont=0x4097ba <handle_send_transmit_continuation>, cont_cls=0xfb93f0) at gnunet-service-transport_manipulation.c:414
#1 0x0000000000409d52 in clients_handle_send (cls=0x0, client=0xfad1c0, message=0x7fff631f0ef8) at gnunet-service-transport_clients.c:687
#2 0x00007f931752be95 in GNUNET_SERVER_inject (server=0xfa7470, sender=0xfad1c0, message=0x7fff631f0ef8) at server.c:941
#3 0x00007f931752cae2 in client_message_tokenizer_callback (cls=0xfa7470, client=0xfad1c0, message=0x7fff631f0ef8) at server.c:1158
#4 0x00007f931752f212 in GNUNET_SERVER_mst_receive (mst=0xfacca0, client_identity=0xfad1c0, buf=0x7fff631f0ef8 "\001\220\001k", size=400, purge=0, one_shot=-1) at server_mst.c:265
#5 0x00007f931752c6ee in process_incoming (cls=0xfad1c0, buf=0x7fff631f0ef8, available=400, addr=0xfac890, addrlen=2, errCode=0) at server.c:1089
#6 0x00007f93174fb0a0 in receive_ready (cls=0xfaca00, tc=0x7fff63200f80) at connection.c:1073
#7 0x00007f9317527fa3 in run_ready (rs=0xfa52c0, ws=0xfa5350) at scheduler.c:597
#8 0x00007f93175287f3 in GNUNET_SCHEDULER_run (task=0x7f9317535b65 <service_task>, task_cls=0x7fff63201320) at scheduler.c:786
#9 0x00007f9317537688 in GNUNET_SERVICE_run (argc=3, argv=0x7fff63201588, service_name=0x41aa52 "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x4052ea <run>, task_cls=0x0) at service.c:1816
#10 0x0000000000405508 in main (argc=3, argv=0x7fff63201588) at gnunet-service-transport.c:775
Additional Information(gdb) bt full
#0 0x0000000000419c58 in GST_manipulation_send (target=0x7fff631f0f08, msg=0x7fff631f0f48, msg_size=320, timeout=..., cont=0x4097ba <handle_send_transmit_continuation>, cont_cls=0xfb93f0) at gnunet-service-transport_manipulation.c:414
        tmp = 0x0
        dqe = 0xfb9440
        delay = {rel_value = 50}
        __FUNCTION__ = "GST_manipulation_send"
#1 0x0000000000409d52 in clients_handle_send (cls=0x0, client=0xfad1c0, message=0x7fff631f0ef8) at gnunet-service-transport_clients.c:687
        obm = 0x7fff631f0ef8
        obmm = 0x7fff631f0f48
        stcc = 0xfb93f0
        size = 400
        msize = 320
        tc = 0xfad270
        __FUNCTION__ = "clients_handle_send"
#2 0x00007f931752be95 in GNUNET_SERVER_inject (server=0xfa7470, sender=0xfad1c0, message=0x7fff631f0ef8) at server.c:941
        pos = 0xfab140
        mh = 0x41b810 <handlers.11422+48>
        i = 2
        type = 363
        size = 400
        found = 0
        __FUNCTION__ = "GNUNET_SERVER_inject"
#3 0x00007f931752cae2 in client_message_tokenizer_callback (cls=0xfa7470, client=0xfad1c0, message=0x7fff631f0ef8) at server.c:1158
        server = 0xfa7470
        sender = 0xfad1c0
        ret = 1663045360
        __FUNCTION__ = "client_message_tokenizer_callback"
#4 0x00007f931752f212 in GNUNET_SERVER_mst_receive (mst=0xfacca0, client_identity=0xfad1c0, buf=0x7fff631f0ef8 "\001\220\001k", size=400, purge=0, one_shot=-1) at server_mst.c:265
        hdr = 0x7fff631f0ef8
        delta = 16
        want = 400
        ibuf = 0xfad250 ""
        need_align = 0
        offset = 140734856367864
        ret = 1
        __FUNCTION__ = "GNUNET_SERVER_mst_receive"
#5 0x00007f931752c6ee in process_incoming (cls=0xfad1c0, buf=0x7fff631f0ef8, available=400, addr=0xfac890, addrlen=2, errCode=0) at server.c:1089
        client = 0xfad1c0
        server = 0xfa7470
        end = {abs_value = 18446744073709551615}
        now = {abs_value = 1367854106244}
        ret = 64
        __FUNCTION__ = "process_incoming"
#6 0x00007f93174fb0a0 in receive_ready (cls=0xfaca00, tc=0x7fff63200f80) at connection.c:1073
        connection = 0xfaca00
        buffer = 0x7fff631f0ef8 "\001\220\001k"
        ret = 400
        receiver = 0x7f931752c30a <process_incoming>
        __FUNCTION__ = "receive_ready"
#7 0x00007f9317527fa3 in run_ready (rs=0xfa52c0, ws=0xfa5350) at scheduler.c:597
        p = GNUNET_SCHEDULER_PRIORITY_DEFAULT
        pos = 0xfac960
        tc = {reason = (GNUNET_SCHEDULER_REASON_READ_READY | GNUNET_SCHEDULER_REASON_PREREQ_DONE), read_ready = 0xfa52c0, write_ready = 0xfa5350}
        __FUNCTION__ = "run_ready"
#8 0x00007f93175287f3 in GNUNET_SCHEDULER_run (task=0x7f9317535b65 <service_task>, task_cls=0x7fff63201320) at scheduler.c:786
        rs = 0xfa52c0
        ws = 0xfa5350
        timeout = {rel_value = 498}
        ret = 1
        shc_int = 0xfa6e50
        shc_term = 0xfa6f00
        shc_quit = 0xfa7060
        shc_hup = 0xfa7110
        shc_pipe = 0xfa6fb0
        last_tr = 152
        busy_wait_warning = 0
        pr = 0xfa52a0
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#9 0x00007f9317537688 in GNUNET_SERVICE_run (argc=3, argv=0x7fff63201588, service_name=0x41aa52 "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x4052ea <run>, task_cls=0x0) at service.c:1816
        err = 0
        ret = 3
        cfg_fn = 0xfa1250 "/tmp/testbedBiXCec/6/config"
        loglev = 0x0
        logfile = 0x0
---Type <return> to continue, or q <return> to quit---
        do_daemonize = 0
        i = 4215530
        skew_offset = 140269740989072
        skew_variance = 0
        clock_offset = 3
        sctx = {cfg = 0xfa1120, server = 0xfa7470, addrs = 0x0, service_name = 0x41aa52 "transport", task = 0x4052ea <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0xfa99c0, v6_allowed = 0xfa96c0, my_handlers = 0xfa7560,
          addrlens = 0x0, lsocks = 0xfb6ee0, shutdown_task = 4, timeout = {rel_value = 18446744073709551615}, ret = 1, ready_confirm_fd = -1, require_found = 1, match_uid = 0, match_gid = 1, options = GNUNET_SERVICE_OPTION_NONE}
        cfg = 0xfa1120
        service_options = {{shortName = 99 'c', name = 0x7f9317542f65 "config", argumentHelp = 0x7f9317542f6c "FILENAME", description = 0x7f9317542f78 "use configuration file FILENAME", require_argument = 1,
            processor = 0x7f93175191cc <GNUNET_GETOPT_set_string>, scls = 0x7fff632013d8}, {shortName = 100 'd', name = 0x7f9317542f98 "daemonize", argumentHelp = 0x0, description = 0x7f9317542fa8 "do daemonize (detach from terminal)",
            require_argument = 0, processor = 0x7f931751919f <GNUNET_GETOPT_set_one>, scls = 0x7fff632013c4}, {shortName = 104 'h', name = 0x7f9317542fcc "help", argumentHelp = 0x0, description = 0x7f9317542fd1 "print this help",
            require_argument = 0, processor = 0x7f9317518c66 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {shortName = 76 'L', name = 0x7f9317542fe1 "log", argumentHelp = 0x7f9317542fe5 "LOGLEVEL",
            description = 0x7f9317542ff0 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7f93175191cc <GNUNET_GETOPT_set_string>, scls = 0x7fff632013d0}, {shortName = 108 'l', name = 0x7f9317543012 "logfile",
            argumentHelp = 0x7f931754301a "LOGFILE", description = 0x7f9317543028 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7f93175191cc <GNUNET_GETOPT_set_string>, scls = 0x7fff632013c8}, {
            shortName = 118 'v', name = 0x7f9317543053 "version", argumentHelp = 0x0, description = 0x7f931754305b "print the version number", require_argument = 0, processor = 0x7f9317518c20 <GNUNET_GETOPT_print_version_>,
            scls = 0x7f9317543074}, {shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}}
        __FUNCTION__ = "GNUNET_SERVICE_run"
#10 0x0000000000405508 in main (argc=3, argv=0x7fff63201588) at gnunet-service-transport.c:775
TagsNo tags attached.

Activities

Matthias Wachs

2013-05-07 17:52

reporter   ~0007092

fixed with 27055.

Bart Polot

2013-05-13 11:53

reporter   ~0007097

Crashes still happen...

[bart@saturn ~/g/src/regex/experiments]$ svn info ../../transport/
Path: /home/bart/svn/gnunet/src/transport
Working Copy Root Path: /home/bart/svn
URL: https://gnunet.org/svn/gnunet/src/transport
Repository Root: https://gnunet.org/svn
Repository UUID: 140774ce-b5e7-0310-ab8b-a85725594a96
Revision: 27102
Node Kind: directory
Schedule: normal
Last Changed Author: harsha
Last Changed Rev: 27074
Last Changed Date: 2013-05-09 11:45:53 +0200 (Do, 09 Mai 2013)

[bart@saturn ~/g/src/regex/experiments]$ gdb --core core.14768.gnunet-service-.11.1368438418 /tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport...done.

warning: core file may not match specified executable file.
[New LWP 14768]

warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff203fe000
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedjHl4'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000004195fb in send_delayed (cls=0xdc0360, tc=0x7fff20281600) at gnunet-service-transport_manipulation.c:368
368 tmp->send_delay_task = GNUNET_SCHEDULER_NO_TASK;
(gdb) bt
#0 0x00000000004195fb in send_delayed (cls=0xdc0360, tc=0x7fff20281600) at gnunet-service-transport_manipulation.c:368
#1 0x00007f4b95d170d3 in run_ready (rs=0xdab2c0, ws=0xdab350) at scheduler.c:597
#2 0x00007f4b95d17923 in GNUNET_SCHEDULER_run (task=0x7f4b95d24c95 <service_task>, task_cls=0x7fff202819a0) at scheduler.c:786
#3 0x00007f4b95d267b8 in GNUNET_SERVICE_run (argc=3, argv=0x7fff20281c08, service_name=0x41afb2 "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x4052ea <run>, task_cls=0x0) at service.c:1816
#4 0x0000000000405508 in main (argc=3, argv=0x7fff20281c08) at gnunet-service-transport.c:775
(gdb) bt full
#0 0x00000000004195fb in send_delayed (cls=0xdc0360, tc=0x7fff20281600) at gnunet-service-transport_manipulation.c:368
        dqe = 0xdc0360
        next = 0xdab350
        tmp = 0xdf0adba0df0adba
        delay = {rel_value = 140733732886000}
        __FUNCTION__ = "send_delayed"
#1 0x00007f4b95d170d3 in run_ready (rs=0xdab2c0, ws=0xdab350) at scheduler.c:597
        p = GNUNET_SCHEDULER_PRIORITY_DEFAULT
        pos = 0xdadf40
        tc = {reason = GNUNET_SCHEDULER_REASON_TIMEOUT, read_ready = 0xdab2c0, write_ready = 0xdab350}
        __FUNCTION__ = "run_ready"
#2 0x00007f4b95d17923 in GNUNET_SCHEDULER_run (task=0x7f4b95d24c95 <service_task>, task_cls=0x7fff202819a0) at scheduler.c:786
        rs = 0xdab2c0
        ws = 0xdab350
        timeout = {rel_value = 31}
        ret = 0
        shc_int = 0xdace50
        shc_term = 0xdacf00
        shc_quit = 0xdad060
        shc_hup = 0xdad110
        shc_pipe = 0xdacfb0
        last_tr = 366
        busy_wait_warning = 0
        pr = 0xdab2a0
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#3 0x00007f4b95d267b8 in GNUNET_SERVICE_run (argc=3, argv=0x7fff20281c08, service_name=0x41afb2 "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x4052ea <run>, task_cls=0x0) at service.c:1816
        err = 0
        ret = 3
        cfg_fn = 0xda7250 "/tmp/testbedjHl48V/16/config"
        loglev = 0x0
        logfile = 0x0
        do_daemonize = 0
        i = 4215530
        skew_offset = 139962625596048
        skew_variance = 0
        clock_offset = 3
        sctx = {cfg = 0xda7120, server = 0xdad470, addrs = 0x0, service_name = 0x41afb2 "transport", task = 0x4052ea <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0xdaf9e0, v6_allowed = 0xdaf6e0, my_handlers = 0xdad560,
          addrlens = 0x0, lsocks = 0xdbcee0, shutdown_task = 4, timeout = {rel_value = 18446744073709551615}, ret = 1, ready_confirm_fd = -1, require_found = 1, match_uid = 0, match_gid = 1, options = GNUNET_SERVICE_OPTION_NONE}
        cfg = 0xda7120
        service_options = {{shortName = 99 'c', name = 0x7f4b95d320c5 "config", argumentHelp = 0x7f4b95d320cc "FILENAME", description = 0x7f4b95d320d8 "use configuration file FILENAME", require_argument = 1,
            processor = 0x7f4b95d0829c <GNUNET_GETOPT_set_string>, scls = 0x7fff20281a58}, {shortName = 100 'd', name = 0x7f4b95d320f8 "daemonize", argumentHelp = 0x0, description = 0x7f4b95d32108 "do daemonize (detach from terminal)",
            require_argument = 0, processor = 0x7f4b95d0826f <GNUNET_GETOPT_set_one>, scls = 0x7fff20281a44}, {shortName = 104 'h', name = 0x7f4b95d3212c "help", argumentHelp = 0x0, description = 0x7f4b95d32131 "print this help",
            require_argument = 0, processor = 0x7f4b95d07d36 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {shortName = 76 'L', name = 0x7f4b95d32141 "log", argumentHelp = 0x7f4b95d32145 "LOGLEVEL",
            description = 0x7f4b95d32150 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7f4b95d0829c <GNUNET_GETOPT_set_string>, scls = 0x7fff20281a50}, {shortName = 108 'l', name = 0x7f4b95d32172 "logfile",
            argumentHelp = 0x7f4b95d3217a "LOGFILE", description = 0x7f4b95d32188 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7f4b95d0829c <GNUNET_GETOPT_set_string>, scls = 0x7fff20281a48}, {
            shortName = 118 'v', name = 0x7f4b95d321b3 "version", argumentHelp = 0x0, description = 0x7f4b95d321bb "print the version number", require_argument = 0, processor = 0x7f4b95d07cf0 <GNUNET_GETOPT_print_version_>,
            scls = 0x7f4b95d321d4}, {shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}}
        __FUNCTION__ = "GNUNET_SERVICE_run"
#4 0x0000000000405508 in main (argc=3, argv=0x7fff20281c08) at gnunet-service-transport.c:775
No locals.
(gdb)


To reproduce, run any profiler, easiest one: gnunet-testbed-profiler:
 ./gnunet-testbed-profiler -p 100 -e 10 -c CONFIG_FILE_WITH_MANIPULATE_DELAY_SET

Matthias Wachs

2013-05-14 17:25

reporter   ~0007098

Fixed bug with 27128

No crashes when running with ./gnunet-testbed-profiler -p 100 -e 10 -c CONFIG_FILE_WITH_MANIPULATE_DELAY_SET

Issue History

Date Modified Username Field Change
2013-05-06 17:36 Bart Polot New Issue
2013-05-06 17:36 Bart Polot Status new => assigned
2013-05-06 17:36 Bart Polot Assigned To => Matthias Wachs
2013-05-07 17:52 Matthias Wachs Note Added: 0007092
2013-05-07 17:52 Matthias Wachs Status assigned => resolved
2013-05-07 17:52 Matthias Wachs Resolution open => fixed
2013-05-13 08:49 Christian Grothoff Product Version => Git master
2013-05-13 08:49 Christian Grothoff Fixed in Version => 0.10.0
2013-05-13 08:49 Christian Grothoff Target Version => 0.10.0
2013-05-13 11:53 Bart Polot Note Added: 0007097
2013-05-13 11:53 Bart Polot Status resolved => assigned
2013-05-14 17:25 Matthias Wachs Note Added: 0007098
2013-05-14 17:25 Matthias Wachs Status assigned => resolved
2013-12-24 20:55 Christian Grothoff Status resolved => closed