View Issue Details

IDProjectCategoryView StatusLast Update
0002088GNUnetcadet servicepublic2012-02-28 11:05
ReporterChristian Grothoff Assigned ToBart Polot  
PriorityurgentSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.9.2Fixed in Version0.9.2 
Summary0002088: crash by mesh service in server.c:1297
DescriptionFamous "last words":
Jan 19 22:58:19-497401 mesh-1997 DEBUG MESH: data packet, ttl: 63
Jan 19 22:58:19-497406 mesh-1997 DEBUG MESH: timeout task 242182
Jan 19 22:58:19-497411 mesh-1997 DEBUG MESH: sending a multicast packet done
Jan 19 22:58:20-164877 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:20-164916 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:25-175538 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:25-175576 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:30-197428 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:30-197467 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:35-215666 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:35-215703 mesh-1997 DEBUG MESH: DHT_put for app completed
Jan 19 22:58:37-092151 mesh-1997 DEBUG MESH: sending keepalive for tunnel 2
Jan 19 22:58:37-092173 mesh-1997 DEBUG MESH: sending a multicast packet...
Jan 19 22:58:37-092183 mesh-1997 DEBUG MESH: data packet, ttl: 4294967295
Jan 19 22:58:37-092191 mesh-1997 DEBUG MESH: timeout task 242218
Jan 19 22:58:37-092202 mesh-1997 ERROR Assertion failed at server.c:1297.

gdb:
(gdb) ba
#0 0x00007fe7a79d8165 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007fe7a79daf70 in *__GI_abort () at abort.c:92
#2 0x00007fe7a7f1fb6c in GNUNET_abort () at common_logging.c:273
#3 0x00007fe7a7f5460c in GNUNET_SERVER_receive_done (client=0xb69bd0,
    success=1) at server.c:1297
#4 0x0000000000406a13 in tunnel_send_multicast (t=0xb68e40,
    msg=0x7ffff93d3330) at gnunet-service-mesh.c:2151
#5 0x000000000040b39f in path_refresh (cls=0xb68e40, tc=0x7ffff93d3420)
    at gnunet-service-mesh.c:3342
#6 0x00007fe7a7f4f682 in run_ready (rs=0xb65890, ws=0xb65920)
    at scheduler.c:684
#7 0x00007fe7a7f4fe67 in GNUNET_SCHEDULER_run (
    task=0x7fe7a7f5b4b2 <shutdown_task+14>, task_cls=0x7ffff93d3720)
    at scheduler.c:873
#8 0x00007fe7a7f5cf54 in GNUNET_SERVICE_run (argc=3, argv=0x7ffff93d3988,
    serviceName=0x4146f4 "mesh", opt=GNUNET_SERVICE_OPTION_NONE,
    task=0x40f951 <run>, task_cls=0x0) at service.c:1711
#9 0x000000000040ffb6 in main (argc=3, argv=0x7ffff93d3988)

Steps To ReproduceThis happened after the VPN-EXIT wget-test was running for a while (creating 0002087-style output on the VPN side).
TagsNo tags attached.

Relationships

child of 0002064 closedChristian Grothoff new VPN service (working with new exit/dns services) needs to be fully implemented and tested 

Activities

Christian Grothoff

2012-01-19 23:01

manager   ~0005311

bt full:

#0 0x00007fe7a79d8165 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        pid = <value optimized out>
        selftid = <value optimized out>
#1 0x00007fe7a79daf70 in *__GI_abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0x7ffff93d3020,
            sa_sigaction = 0x7ffff93d3020}, sa_mask = {__val = {
              140632929624928, 36, 0, 11935664, 4202128, 140632926112520,
              140632940718480, 140632931761984, 4294967295, 206158430240, 1,
              2497592, 0, 0, 0, 140632931741696}}, sa_flags = -1470573582,
          sa_restorer = 0x7fe700000001}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007fe7a7f1fb6c in GNUNET_abort () at common_logging.c:273
No locals.
#3 0x00007fe7a7f5460c in GNUNET_SERVER_receive_done (client=0xb69bd0,
    success=1) at server.c:1297
        log_line = 1297
        log_call_enabled = 1
        __FUNCTION__ = "GNUNET_SERVER_receive_done"
#4 0x0000000000406a13 in tunnel_send_multicast (t=0xb68e40,
    msg=0x7ffff93d3330) at gnunet-service-mesh.c:2151
        mdata = 0xb73c10
---Type <return> to continue, or q <return> to quit---
        __FUNCTION__ = "tunnel_send_multicast"
#5 0x000000000040b39f in path_refresh (cls=0xb68e40, tc=0x7ffff93d3420)
    at gnunet-service-mesh.c:3342
        t = 0xb68e40
        payload = 0x7ffff93d3380
        msg = 0x7ffff93d3330
        size = 84
        cbuf = 0x7ffff93d3330 ""
        __FUNCTION__ = "path_refresh"
#6 0x00007fe7a7f4f682 in run_ready (rs=0xb65890, ws=0xb65920)
    at scheduler.c:684
        p = GNUNET_SCHEDULER_PRIORITY_DEFAULT
        pos = 0xb69340
        tc = {reason = GNUNET_SCHEDULER_REASON_TIMEOUT,
          read_ready = 0xb65890, write_ready = 0xb65920}
        __FUNCTION__ = "run_ready"
#7 0x00007fe7a7f4fe67 in GNUNET_SCHEDULER_run (
    task=0x7fe7a7f5b4b2 <shutdown_task+14>, task_cls=0x7ffff93d3720)
    at scheduler.c:873
        rs = 0xb65890
        ws = 0xb65920
        timeout = {rel_value = 1867}
---Type <return> to continue, or q <return> to quit---
        ret = 0
        shc_int = 0xb659b0
        shc_term = 0xb65a60
        shc_quit = 0xb65bc0
        shc_hup = 0xb65c70
        shc_pipe = 0xb65b10
        last_tr = 94465
        busy_wait_warning = 0
        pr = 0xb62f70
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#8 0x00007fe7a7f5cf54 in GNUNET_SERVICE_run (argc=3, argv=0x7ffff93d3988,
    serviceName=0x4146f4 "mesh", opt=GNUNET_SERVICE_OPTION_NONE,
    task=0x40f951 <run>, task_cls=0x0) at service.c:1711
        err = 0
        cfg_fn = 0xb61e80 "~/.gnunet/gnunet.conf"
        loglev = 0xb61fd0 "DEBUG"
        logfile = 0x0
        do_daemonize = 0
        i = 0
        skew_offset = 0
        skew_variance = 0
---Type <return> to continue, or q <return> to quit---
        clock_offset = 1
        sctx = {cfg = 0xb61ea0, server = 0xb65da0, addrs = 0xb62d80,
          serviceName = 0x4146f4 "mesh", task = 0x40f951 <run>,
          task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0,
          v4_allowed = 0xb62f80, v6_allowed = 0xb632d0,
          my_handlers = 0xb65f70, addrlens = 0xb62ec0, lsocks = 0x0,
          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 = 0xb61ea0
        service_options = {{shortName = 99 'c',
            name = 0x7fe7a7f65e6d "config",
            argumentHelp = 0x7fe7a7f65e74 "FILENAME",
            description = 0x7fe7a7f65e80 "use configuration file FILENAME",
            require_argument = 1,
            processor = 0x7fe7a7f40967 <GNUNET_GETOPT_set_string>,
            scls = 0x7ffff93d37d0}, {shortName = 100 'd',
            name = 0x7fe7a7f65ea0 "daemonize", argumentHelp = 0x0,
            description = 0x7fe7a7f65eb0 "do daemonize (detach from terminal)", require_argument = 0, processor = 0x7fe7a7f4093a <GNUNET_GETOPT_set_one>,
            scls = 0x7ffff93d37bc}, {shortName = 104 'h',
            name = 0x7fe7a7f65ed4 "help", argumentHelp = 0x0,

Christian Grothoff

2012-01-19 23:02

manager   ~0005312

The assertion means that mesh called 'GNUNET_SERVER_receive_done' twice for the same client/message.

Bart Polot

2012-01-19 23:47

manager   ~0005315

Keepalive packets are evil.

Bart Polot

2012-01-20 00:00

manager   ~0005316

Fixed in r19273.

Issue History

Date Modified Username Field Change
2012-01-19 23:01 Christian Grothoff New Issue
2012-01-19 23:01 Christian Grothoff Status new => assigned
2012-01-19 23:01 Christian Grothoff Assigned To => Bart Polot
2012-01-19 23:01 Christian Grothoff Note Added: 0005311
2012-01-19 23:02 Christian Grothoff Note Added: 0005312
2012-01-19 23:15 Christian Grothoff Relationship added child of 0002064
2012-01-19 23:47 Bart Polot Note Added: 0005315
2012-01-19 23:47 Bart Polot Status assigned => acknowledged
2012-01-20 00:00 Bart Polot Note Added: 0005316
2012-01-20 00:00 Bart Polot Status acknowledged => resolved
2012-01-20 00:00 Bart Polot Fixed in Version => Git master
2012-01-20 00:00 Bart Polot Resolution open => fixed
2012-01-20 09:29 Christian Grothoff Target Version => 0.9.2
2012-01-22 21:17 Christian Grothoff Fixed in Version Git master => 0.9.2
2012-02-28 11:05 Christian Grothoff Status resolved => closed
2014-05-09 18:34 Christian Grothoff Category mesh service => cadet service