View Issue Details

IDProjectCategoryView StatusLast Update
0002869GNUnettransport servicepublic2024-05-03 13:59
ReporterBart Polot Assigned ToChristian Grothoff  
PrioritynormalSeverityminorReproducibilityrandom
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002869: Transport crashes with testbed.
DescriptionSometimes (at random) there are a lot of transport crashes when running testbed (regex profiler). When it happens it always makes many services crash at once:


[bart@saturn ~/g/src/regex/experiments]$ ls core* | wc
     39 39 1599
[bart@saturn ~/g/src/regex/experiments]$ gdb --core core.21320.gnunet-service-.11.1366629669 /tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport
GNU gdb (GDB) 7.5.1
Copyright (C) 2012 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 21320]

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 0x7fffaf8c4000
Core was generated by `/tmp/bartgnunet/lib/gnunet/libexec/gnunet-service-transport -c /tmp/testbedW2ip'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f3e38312c87 in ?? ()
(gdb) bt
#0 0x00007f3e38312c87 in ?? ()
#1 0x00007f3e39a0ccd3 in run_ready (rs=0x19872c0, ws=0x1987350) at scheduler.c:597
#2 0x00007f3e39a0d523 in GNUNET_SCHEDULER_run (task=0x7f3e39a1a895 <service_task>, task_cls=0x7fffaf8365d0) at scheduler.c:786
#3 0x00007f3e39a1c3b8 in GNUNET_SERVICE_run (argc=3, argv=0x7fffaf836838, service_name=0x41aa52 "transport", options=GNUNET_SERVICE_OPTION_NONE, task=0x4052ea <run>, task_cls=0x0) at service.c:1816
#4 0x0000000000405508 in main (argc=3, argv=0x7fffaf836838) at gnunet-service-transport.c:775
(gdb)
Additional Information(gdb) bt full
#0 0x00007f3e38312c87 in ?? ()
No symbol table info available.
#1 0x00007f3e39a0ccd3 in run_ready (rs=0x19872c0, ws=0x1987350) at scheduler.c:597
        p = GNUNET_SCHEDULER_PRIORITY_SHUTDOWN
        pos = 0x198d590
        tc = {reason = (GNUNET_SCHEDULER_REASON_SHUTDOWN | GNUNET_SCHEDULER_REASON_TIMEOUT), read_ready = 0x19872c0, write_ready = 0x1987350}
        __FUNCTION__ = "run_ready"
#2 0x00007f3e39a0d523 in GNUNET_SCHEDULER_run (task=0x7f3e39a1a895 <service_task>, task_cls=0x7fffaf8365d0) at scheduler.c:786
        rs = 0x19872c0
        ws = 0x1987350
        timeout = {rel_value = 0}
        ret = 2
        shc_int = 0x1988e50
        shc_term = 0x1988f00
        shc_quit = 0x1989060
        shc_hup = 0x1989110
        shc_pipe = 0x1988fb0
        last_tr = 3
        busy_wait_warning = 0
        pr = 0x19872a0
        c = 0 '\000'
        __FUNCTION__ = "GNUNET_SCHEDULER_run"
#3 0x00007f3e39a1c3b8 in GNUNET_SERVICE_run (argc=3, argv=0x7fffaf836838, 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 = 0x1983250 "/tmp/testbedW2ipgI/34/config"
        loglev = 0x0
        logfile = 0x0
        do_daemonize = 0
        i = 4215530
        skew_offset = 139905244326544
        skew_variance = 0
        clock_offset = 3
        sctx = {cfg = 0x1983120, server = 0x1989470, addrs = 0x0, service_name = 0x41aa52 "transport", task = 0x4052ea <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x198b850, v6_allowed = 0x198b5d0,
          my_handlers = 0x1989560, addrlens = 0x0, lsocks = 0x1998ef0, shutdown_task = 0, 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 = 0x1983120
        service_options = {{shortName = 99 'c', name = 0x7f3e39a27be5 "config", argumentHelp = 0x7f3e39a27bec "FILENAME", description = 0x7f3e39a27bf8 "use configuration file FILENAME", require_argument = 1,
            processor = 0x7f3e399fdefc <GNUNET_GETOPT_set_string>, scls = 0x7fffaf836688}, {shortName = 100 'd', name = 0x7f3e39a27c18 "daemonize", argumentHelp = 0x0, description = 0x7f3e39a27c28 "do daemonize (detach from terminal)",
            require_argument = 0, processor = 0x7f3e399fdecf <GNUNET_GETOPT_set_one>, scls = 0x7fffaf836674}, {shortName = 104 'h', name = 0x7f3e39a27c4c "help", argumentHelp = 0x0, description = 0x7f3e39a27c51 "print this help",
            require_argument = 0, processor = 0x7f3e399fd996 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {shortName = 76 'L', name = 0x7f3e39a27c61 "log", argumentHelp = 0x7f3e39a27c65 "LOGLEVEL",
            description = 0x7f3e39a27c70 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7f3e399fdefc <GNUNET_GETOPT_set_string>, scls = 0x7fffaf836680}, {shortName = 108 'l', name = 0x7f3e39a27c92 "logfile",
            argumentHelp = 0x7f3e39a27c9a "LOGFILE", description = 0x7f3e39a27ca8 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7f3e399fdefc <GNUNET_GETOPT_set_string>, scls = 0x7fffaf836678}, {
            shortName = 118 'v', name = 0x7f3e39a27cd3 "version", argumentHelp = 0x0, description = 0x7f3e39a27cdb "print the version number", require_argument = 0, processor = 0x7f3e399fd950 <GNUNET_GETOPT_print_version_>,
            scls = 0x7f3e39a27cf4}, {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=0x7fffaf836838) at gnunet-service-transport.c:775
No locals.
(gdb)
TagsNo tags attached.

Activities

Christian Grothoff

2013-04-22 15:30

manager   ~0007060

Is this during shutdown? Looks to me like it might be a case of scheduler jumping to code of a plugin that has been unloaded...

If so, which transport plugin is being used here?

Bart Polot

2013-04-22 15:33

manager   ~0007061

Yes, it is during shutdown.

The only plugin enabled is UNIX.

Bart Polot

2013-05-03 16:29

manager   ~0007076

It is probably caused by a task not being cancelled after unloading the unix plugin.

Christian Grothoff

2013-05-05 14:02

manager   ~0007087

I found a task that was scheduled (to be run 'immediately') on plugin-load but never cancelled on plugin unload; so a very short-lived transport service (or very busy CPU) might have caused this code to crash. Also, did a bunch of documentation work and some re-ordering of calls that might avoid another case (even though there I could not find a path that would be troublesome).
Committed as SVN 27023.

Christian Grothoff

2013-05-05 14:03

manager   ~0007088

Please let me know if this still happens with SVN HEAD.

Issue History

Date Modified Username Field Change
2013-04-22 13:30 Bart Polot New Issue
2013-04-22 13:30 Bart Polot Status new => assigned
2013-04-22 13:30 Bart Polot Assigned To => Matthias Wachs
2013-04-22 15:30 Christian Grothoff Note Added: 0007060
2013-04-22 15:31 Christian Grothoff Status assigned => feedback
2013-04-22 15:33 Bart Polot Note Added: 0007061
2013-04-22 15:33 Bart Polot Status feedback => assigned
2013-05-03 16:29 Bart Polot Note Added: 0007076
2013-05-03 16:29 Bart Polot Assigned To Matthias Wachs => Bart Polot
2013-05-05 14:02 Christian Grothoff Note Added: 0007087
2013-05-05 14:03 Christian Grothoff Assigned To Bart Polot => Christian Grothoff
2013-05-05 14:03 Christian Grothoff Category transport service => UNIX transport
2013-05-05 14:03 Christian Grothoff Target Version => 0.10.0
2013-05-05 14:03 Christian Grothoff Note Added: 0007088
2013-05-05 14:03 Christian Grothoff Status assigned => feedback
2013-05-10 21:28 Christian Grothoff Status feedback => resolved
2013-05-10 21:28 Christian Grothoff Fixed in Version => 0.10.0
2013-05-10 21:28 Christian Grothoff Resolution open => fixed
2013-12-24 20:55 Christian Grothoff Status resolved => closed
2024-05-03 13:59 Christian Grothoff Category UNIX transport => transport service