Package: gnunet-server Version: 0.9.3-7 Severity: normal Running a gnunet node against the public gnunet network I noticed that the connection count would occasionally drop to 0. Upon investigation it became apparent that gnunet-service-transport was restarted. The reason for this was it crashing. Armed with gnunet-dbg (thanks!) I ran gdb on the transport process and captured a traceback.
(gdb) cont Program received signal SIGABRT, Aborted. 0x00007f74fbfba475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt full #0 0x00007f74fbfba475 in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1 0x00007f74fbfbd6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #2 0x00007f74fc7ac169 in GNUNET_abort () at common_logging.c:273 No locals. #3 0x00007f74fcffd66a in get_session_id (sh=sh@entry=0x170c9c0, session=session@entry=0x1752930, peer=peer@entry=0x7ffff60cab30) at ats_api_scheduling.c:379 i = <optimized out> f = <optimized out> __FUNCTION__ = "get_session_id" #4 0x00007f74fcfffe34 in GNUNET_ATS_address_destroyed (sh=0x170c9c0, address=address@entry=0x7ffff60cab30, session=session@entry=0x1752930) at ats_api_scheduling.c:1175 p = 0x17460d0 m = 0x17460f0 pm = <optimized out> namelen = 4 msize = <optimized out> session_id = <optimized out> __FUNCTION__ = "GNUNET_ATS_address_destroyed" #5 0x000000000040447e in plugin_env_session_end (cls=<optimized out>, peer=<optimized out>, session=0x1752930) at gnunet-service-transport.c:361 transport_name = <optimized out> address = {peer = {hashPubKey = {bits = {1792322431, 1378667084, 310041233, 2464310197, 3523261203, 1036757644, 2541840165, 3043748064, 1642212703, 1696714426, 3560355177, 238043445, 3489910964, 3256697350, 3560918137, 1877718344}}}, transport_name = 0x170da90 "tcp", address = 0x0, address_length = 0} #6 0x00007f74f7dcdaa4 in disconnect_session (session=0x1752930) at plugin_transport_tcp.c:975 pm = <optimized out> plugin = 0x173ebf0 __FUNCTION__ = "disconnect_session" #7 0x00007f74f7dd0532 in disconnect_notify (cls=0x51ad, client=0x51ad) at plugin_transport_tcp.c:2045 session = 0x1752930 #8 0x00007f74fc7d253a in GNUNET_SERVER_client_disconnect (client=0x1746fe0) at server.c:1370 server = 0x173eb70 n = 0x173e2f0 __FUNCTION__ = "GNUNET_SERVER_client_disconnect" #9 0x00007f74fc7af66d in receive_ready (cls=0x1751d90, tc=<optimized out>) at connection.c:1047 connection = 0x1751d90 buffer = 0x7ffff60cac00 "\001x" ret = <optimized out> receiver = <optimized out> __FUNCTION__ = "receive_ready" #10 0x00007f74fc7d042b in run_ready (ws=0x171c730, rs=0x171c6a0) at scheduler.c:602 p = <optimized out> pos = 0x1752080 tc = {reason = 20, read_ready = 0x171c6a0, write_ready = 0x171c730} #11 GNUNET_SCHEDULER_run (task=task@entry=0x7f74fc7d6a70 <service_task>, task_cls=task_cls@entry=0x7ffff60dad70) at scheduler.c:790 rs = 0x171c6a0 ws = 0x171c730 timeout = <optimized out> ret = <optimized out> shc_int = 0x170c270 shc_term = 0x170c320 shc_quit = 0x170c480 shc_hup = 0x170c530 shc_pipe = 0x170c3d0 last_tr = 5893764 busy_wait_warning = 0 pr = 0x171c650 c = 0 '\000' __FUNCTION__ = "GNUNET_SCHEDULER_run" #12 0x00007f74fc7d9418 in GNUNET_SERVICE_run (argc=<optimized out>, argv=<optimized out>, service_name=service_name@entry=0x4111c2 "transport", options=options@entry=GNUNET_SERVICE_OPTION_NONE, task=task@entry=0x403f80 <run>, task_cls=task_cls@entry=0x0) at service.c:1780 err = 0 cfg_fn = 0x170bf40 "/etc/gnunet.conf" loglev = 0x0 logfile = 0x0 do_daemonize = 0 i = <optimized out> skew_offset = 140140439722003 skew_variance = 0 clock_offset = <optimized out> sctx = {cfg = 0x170bf60, server = 0x170c6a0, addrs = 0x0, service_name = 0x4111c2 "transport", task = 0x403f80 <run>, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x171c660, v6_allowed = 0x1715aa0, my_handlers = 0x171c7c0, addrlens = 0x0, lsocks = 0x171c600, shutdown_task = 4, 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 = 0x170bf60 service_options = {{shortName = 99 'c', name = 0x7f74fc7dfb67 "config", argumentHelp = 0x7f74fc7dfb6e "FILENAME", description = 0x7f74fc7dfc18 "use configuration file FILENAME", require_argument = 1, processor = 0x7f74fc7c30b0 <GNUNET_GETOPT_set_string>, scls = 0x7ffff60dad40}, { shortName = 100 'd', name = 0x7f74fc7e09e0 "daemonize", argumentHelp = 0x0, description = 0x7f74fc7e0d90 "do daemonize (detach from terminal)", require_argument = 0, processor = 0x7f74fc7c30a0 <GNUNET_GETOPT_set_one>, scls = 0x7ffff60dad2c}, {shortName = 104 'h', name = 0x7f74fc7dfb82 "help", argumentHelp = 0x0, description = 0x7f74fc7dfb77 "print this help", require_argument = 0, processor = 0x7f74fc7c2d30 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {shortName = 76 'L', name = 0x7f74fc7dfb87 "log", argumentHelp = 0x7f74fc7dfb8b "LOGLEVEL", description = 0x7f74fc7dfc38 "configure logging to use LOGLEVEL", require_argument = 1, processor = 0x7f74fc7c30b0 <GNUNET_GETOPT_set_string>, scls = 0x7ffff60dad48}, {shortName = 108 'l', name = 0x7f74fc7dfb94 "logfile", argumentHelp = 0x7f74fc7dd25e "LOGFILE", description = 0x7f74fc7dfc60 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0x7f74fc7c30b0 <GNUNET_GETOPT_set_string>, scls = 0x7ffff60dad50}, {shortName = 118 'v', name = 0x7f74fc7dfb9c "version", argumentHelp = 0x0, description = 0x7f74fc7dfba4 "print the version number", require_argument = 0, processor = 0x7f74fc7c2d00 <GNUNET_GETOPT_print_version_>, scls = 0x7f74fc7dfbbd}, { shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0, scls = 0x0}} __FUNCTION__ = "GNUNET_SERVICE_run" #13 0x0000000000403319 in main (argc=<optimized out>, argv=<optimized out>) at gnunet-service-transport.c:646 No locals. (gdb) detach Detaching from program: /usr/bin/gnunet-service-transport, process 20909 The relevant transport configuration is: [transport] PLUGINS=tcp udp http [transport-udp] BROADCAST=no [nat] BEHIND_NAT = NO DISABLEV6 = YES ENABLE_ICMP_CLIENT = YES To check whether your system might be affected by this bug, run gnunet for some time (a day or more) and check the process start time of gnunet-service-arm versus the one of gnunet-service-transport. Only if they differ significantly, this issue applies. Given that upstream has pushed out a number of bug fix releases, the issue might just disappear with 0.9.5a. Even 0.9.4 fixes a number of crashes in the transport service: https://gnunet.org/bugs/view.php?id=2433 https://gnunet.org/bugs/view.php?id=2462 https://gnunet.org/bugs/view.php?id=2463 Helmut -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org