View Issue Details

IDProjectCategoryView StatusLast Update
0002774GNUnettransport servicepublic2013-12-24 20:55
ReporterSree Harsha Totakura Assigned ToMatthias Wachs  
PrioritylowSeveritycrashReproducibilityrandom
Status closedResolutionunable to reproduce 
Product VersionGit master 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002774: Segfault using statistics API
DescriptionSegfault using statistics API
Steps To Reproducecan't reproduce. Happened while running testbed tests in a loop.
Additional InformationCore was generated by `/usr/local/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedWkMpQB/2/'.
Program terminated with signal 11, Segmentation fault.
#0 __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:99
99 ../sysdeps/x86_64/multiarch/../strcmp.S: No such file or directory.
    in ../sysdeps/x86_64/multiarch/../strcmp.S
(gdb) btfull
Undefined command: "btfull". Try "help".
(gdb) bt full
#0 __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:99
No locals.
#1 0x00002abf47d15dd5 in add_setter_action (h=0x1417840,
    name=0x2abf495367e1 "# TCP sessions active", make_persistent=0, value=0,
    type=ACTION_SET) at statistics_api.c:1308
        ai = 0x1417200
        slen = 10
        nlen = 22
        nsize = 48
        delta = 47001057325664
        __FUNCTION__ = "add_setter_action"
#2 0x00002abf47d16298 in GNUNET_STATISTICS_set (handle=0x1417840,
    name=0x2abf495367e1 "# TCP sessions active", value=0, make_persistent=0)
    at statistics_api.c:1389
        __FUNCTION__ = "GNUNET_STATISTICS_set"
#3 0x00002abf49536156 in libgnunet_plugin_transport_tcp_init (cls=0x14188b8)
    at plugin_transport_tcp.c:2438
        my_handlers = {{callback = 0x2abf49533976 <handle_tcp_welcome>,
            callback_cls = 0x0, type = 61, expected_size = 68}, {
            callback = 0x2abf49533035 <handle_tcp_nat_probe>, callback_cls = 0x0,
            type = 60, expected_size = 68}, {
            callback = 0x2abf49533ff6 <handle_tcp_data>, callback_cls = 0x0,
            type = 65535, expected_size = 0}, {callback = 0, callback_cls = 0x0,
            type = 0, expected_size = 0}}
        env = 0x14188b8
        api = 0x14194c0
        plugin = 0x14195f0
        service = 0x1419400
        aport = 12061
        bport = 12061
        max_connections = 128
        i = 4
        idle_timeout = {rel_value = 47001034547991}
        ret = 0
        addrs = 0x14183a0
        addrlens = 0x14183c0
        __FUNCTION__ = "libgnunet_plugin_transport_tcp_init"
#4 0x00002abf47f5e903 in GNUNET_PLUGIN_load (
    library_name=0x1417e70 "libgnunet_plugin_transport_tcp", arg=0x14188b8)
    at plugin.c:229
        libhandle = 0x1418b60
        plug = 0x1418950
        init = 0x2abf49535786 <libgnunet_plugin_transport_tcp_init>
        ret = 0x1417e70
        __FUNCTION__ = "GNUNET_PLUGIN_load"
#5 0x0000000000415172 in GST_plugins_load (
    recv_cb=0x403d92 <plugin_env_receive_callback>,
    address_cb=0x404363 <plugin_env_address_change_notification>,
    session_end_cb=0x40440a <plugin_env_session_end>,
    address_type_cb=0x40468e <plugin_env_address_to_type>)
    at gnunet-service-transport_plugins.c:146
        plug = 0x1418890
        next = 0x0
        tneigh = 50
        libname = 0x1417e70 "libgnunet_plugin_transport_tcp"
        plugs = 0x1417e50 ""
        pos = 0x0
        __FUNCTION__ = "GST_plugins_load"
#6 0x0000000000405292 in key_generation_cb (cls=0x0, pk=0x14179e0, emsg=0x0)
    at gnunet-service-transport.c:643
        tmp = {len = 0, sizen = 0, key = '\000' <repeats 257 times>, padding = 0}
        __FUNCTION__ = "key_generation_cb"
#7 0x00002abf47f4d68e in async_return_key (cls=0x141b130, tc=0x7fff47f42fe0)
    at crypto_rsa.c:976
        gc = 0x141b130
#8 0x00002abf47f659a1 in run_ready (rs=0x14172f0, ws=0x1417380) at scheduler.c:597
---Type <return> to continue, or q <return> to quit---
        p = GNUNET_SCHEDULER_PRIORITY_SHUTDOWN
        pos = 0x14177e0
        tc = {reason = 3, read_ready = 0x14172f0, write_ready = 0x1417380}
        __FUNCTION__ = "run_ready"
#9 0x00002abf47f66223 in GNUNET_SCHEDULER_run (task=0x2abf47f72f18 <service_task>,
    task_cls=0x7fff47f43390) at scheduler.c:786
        rs = 0x14172f0
        ws = 0x1417380
        timeout = {rel_value = 0}
        ret = 0
        shc_int = 0x1417410
        shc_term = 0x14174c0
        shc_quit = 0x1417620
        shc_hup = 0x14176d0
        shc_pipe = 0x1417570
        last_tr = 2
        busy_wait_warning = 0
        pr = 0x14172c0
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#10 0x00002abf47f74a68 in GNUNET_SERVICE_run (argc=3, argv=0x7fff47f43608,
    service_name=0x419052 "transport", options=GNUNET_SERVICE_OPTION_NONE,
    task=0x4052dc <run>, task_cls=0x0) at service.c:1815
        err = 0
        ret = 3
        cfg_fn = 0x1415fd0 "/tmp/testbedWkMpQB/2/config"
        loglev = 0x0
        logfile = 0x0
        do_daemonize = 0
        i = 10943
        skew_offset = 1
        skew_variance = 0
        clock_offset = 1
        sctx = {cfg = 0x1415ea0, server = 0x1417840, addrs = 0x0,
          service_name = 0x419052 "transport", task = 0x4052dc <run>, task_cls = 0x0,
          v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x1417280,
          v6_allowed = 0x141a470, my_handlers = 0x1416f20, addrlens = 0x0,
          lsocks = 0x1417200, shutdown_task = 0, timeout = {
            rel_value = 18446744073709551615}, ret = 1, ready_confirm_fd = -1,
          require_found = 1, match_uid = 1, match_gid = 1,
          options = GNUNET_SERVICE_OPTION_NONE}
        cfg = 0x1415ea0
        service_options = {{shortName = 99 'c', name = 0x2abf47f80565 "config",
            argumentHelp = 0x2abf47f8056c "FILENAME",
            description = 0x2abf47f80578 "use configuration file FILENAME",
            require_argument = 1,
            processor = 0x2abf47f54d6e <GNUNET_GETOPT_set_string>,
            scls = 0x7fff47f43448}, {shortName = 100 'd',
            name = 0x2abf47f80598 "daemonize", argumentHelp = 0x0,
            description = 0x2abf47f805a8 "do daemonize (detach from terminal)",
            require_argument = 0, processor = 0x2abf47f54d41 <GNUNET_GETOPT_set_one>,
            scls = 0x7fff47f43434}, {shortName = 104 'h', name = 0x2abf47f805cc "help",
            argumentHelp = 0x0, description = 0x2abf47f805d1 "print this help",
            require_argument = 0,
            processor = 0x2abf47f547d1 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {
            shortName = 76 'L', name = 0x2abf47f805e1 "log",
            argumentHelp = 0x2abf47f805e5 "LOGLEVEL",
            description = 0x2abf47f805f0 "configure logging to use LOGLEVEL",
            require_argument = 1,
            processor = 0x2abf47f54d6e <GNUNET_GETOPT_set_string>,
            scls = 0x7fff47f43440}, {shortName = 108 'l',
            name = 0x2abf47f80612 "logfile", argumentHelp = 0x2abf47f8061a "LOGFILE",
            description = 0x2abf47f80628 "configure logging to write logs to LOGFILE",
            require_argument = 1,
            processor = 0x2abf47f54d6e <GNUNET_GETOPT_set_string>,
            scls = 0x7fff47f43438}, {shortName = 118 'v',
---Type <return> to continue, or q <return> to quit---
            name = 0x2abf47f80653 "version", argumentHelp = 0x0,
            description = 0x2abf47f8065b "print the version number",
            require_argument = 0,
            processor = 0x2abf47f54788 <GNUNET_GETOPT_print_version_>,
            scls = 0x2abf47f80674}, {shortName = 0 '\000', name = 0x0,
            argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0,
            scls = 0x0}}
        __FUNCTION__ = "GNUNET_SERVICE_run"
#11 0x00000000004054fe in main (argc=3, argv=0x7fff47f43608)
    at gnunet-service-transport.c:712
No locals.
Current language: auto
The current source language is "auto; currently asm".
(gdb)
TagsNo tags attached.

Relationships

has duplicate 0002832 closedMatthias Wachs crash in transport service 

Activities

Matthias Wachs

2013-02-04 10:32

reporter   ~0006826

Last edited: 2013-02-04 10:33

Analyzed the transport and statistics code this should not happen

statistics value look ok:

#1 0x00002abf47d15dd5 in add_setter_action (h=0x1417840,
    name=0x2abf495367e1 "# TCP sessions active", make_persistent=0, value=0,
    type=ACTION_SET) at statistics_api.c:1308
        ai = 0x1417200
        slen = 10
        nlen = 22
        nsize = 48
        delta = 47001057325664
        __FUNCTION__ = "add_setter_action"

No zero values, no NULLs
And: this is a fix expression to set the number of connections to zero.
If error; Should fail more often or on every plugin load

Matthias Wachs

2013-02-04 10:35

reporter   ~0006827

This looks strange and cannot reproduce ... added assertion. Please feedback if it happens again

Matthias Wachs

2013-05-27 09:35

reporter   ~0007118

Cannot reproduce and no feedback that it occured again for 3 month -> close

Issue History

Date Modified Username Field Change
2013-02-01 15:04 Sree Harsha Totakura New Issue
2013-02-01 15:04 Sree Harsha Totakura Status new => assigned
2013-02-01 15:04 Sree Harsha Totakura Assigned To => Matthias Wachs
2013-02-04 10:32 Matthias Wachs Note Added: 0006826
2013-02-04 10:33 Matthias Wachs Note Edited: 0006826
2013-02-04 10:35 Matthias Wachs Note Added: 0006827
2013-02-04 10:35 Matthias Wachs Status assigned => feedback
2013-03-13 11:57 Matthias Wachs Relationship added has duplicate 0002832
2013-05-27 09:35 Matthias Wachs Note Added: 0007118
2013-05-27 13:13 Sree Harsha Totakura Status feedback => resolved
2013-05-27 13:13 Sree Harsha Totakura Resolution open => unable to reproduce
2013-06-01 14:50 Christian Grothoff Fixed in Version => 0.10.0
2013-06-01 14:50 Christian Grothoff Target Version => 0.10.0
2013-12-24 20:55 Christian Grothoff Status resolved => closed