View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005464 | GNUnet | cadet service | public | 2018-10-31 12:37 | 2019-02-28 11:17 |
Reporter | ch3 | Assigned To | Christian Grothoff | ||
Priority | normal | Severity | crash | Reproducibility | sometimes |
Status | closed | Resolution | fixed | ||
Product Version | Git master | ||||
Target Version | 0.11.0 | Fixed in Version | 0.11.0 | ||
Summary | 0005464: Cadet crash (rps profiler) | ||||
Description | Cadet crashes on me when running the rps profiler: GNU gdb (GDB) 8.2 Copyright (C) 2018 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". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /home/ch3/.local/lib//gnunet/libexec/gnunet-service-cadet...done. warning: core file may not match specified executable file. [New LWP 72280] [Thread debugging using libthread_db enabled] Using host libthread_db library "/gnu/store/l4lr0f5cjd0nbsaaf8b5dmcw1a1yypr3-glibc-2.27/lib/libthread_db.so.1". Core was generated by `/home/ch3/.local/lib//gnunet/libexec/gnunet-service-cadet -c /tmp/testbedTsOtWF'. Program terminated with signal SIGSEGV, Segmentation fault. #0 GNUNET_SCHEDULER_cancel (task=0xdf0adba0df0adba) at scheduler.c:969 969 if (is_fd_task) (gdb) bt #0 GNUNET_SCHEDULER_cancel (task=0xdf0adba0df0adba) at scheduler.c:969 #1 0x0000000000409aac in GCCH_bind (ch=ch@entry=0x244c330, c=0x24b1db0, port=port@entry=0x2530fe8) at gnunet-service-cadet_channel.c:991 #2 0x000000000040709b in bind_loose_channel (cls=cls@entry=0x2530fe0, port=port@entry=0x2531028, value=0x244c330) at gnunet-service-cadet.c:455 #3 0x00007fee93ac4740 in GNUNET_CONTAINER_multihashmap_get_multiple (map=<optimized out>, key=key@entry=0x2531028, it=it@entry=0x407080 <bind_loose_channel>, it_cls=it_cls@entry=0x2530fe0) at container_multihashmap.c:855 #4 0x0000000000406fc6 in handle_port_open (cls=0x24b1db0, pmsg=0x25c15b0) at gnunet-service-cadet.c:509 #5 0x00007fee93af505a in service_client_mst_cb (cls=0x25b3380, message=0x25c15b0) at service.c:2160 #6 0x00007fee93adf583 in GNUNET_MST_from_buffer (mst=0x2536910, buf=buf@entry=0x0, size=size@entry=0, purge=purge@entry=0, one_shot=-1, one_shot@entry=1) at mst.c:231 #7 0x00007fee93adfe1b in GNUNET_MST_read (mst=<optimized out>, sock=<optimized out>, purge=purge@entry=0, one_shot=one_shot@entry=1) at mst.c:374 #8 0x00007fee93afabe5 in service_client_recv (cls=0x25b3380) at service.c:2181 #9 0x00007fee93af3b2f in GNUNET_SCHEDULER_do_work (sh=sh@entry=0x2324a70) at scheduler.c:2113 #10 0x00007fee93af499a in select_loop (context=0x7fffc2cff2f0, sh=0x2324a70) at scheduler.c:2410 #11 GNUNET_SCHEDULER_run (task=task@entry=0x7fee93afa430 <service_main>, task_cls=task_cls@entry=0x7fffc2cff450) at scheduler.c:725 #12 0x00007fee93af91d2 in GNUNET_SERVICE_run_ (argc=<optimized out>, argv=<optimized out>, service_name=service_name@entry=0x41f100 "cadet", options=options@entry=GNUNET_SERVICE_OPTION_NONE, service_init_cb=service_init_cb@entry=0x405070 <run>, connect_cb=connect_cb@entry=0x404e60 <client_connect_cb>, disconnect_cb=0x404aa0 <client_disconnect_cb>, cls=0x0, handlers=0x7fffc2cff710) at service.c:1875 #13 0x0000000000404533 in main (argc=<optimized out>, argv=<optimized out>) at gnunet-service-cadet.c:1510 | ||||
Steps To Reproduce | Run: .local/src/gnunet/src/rps/.libs/gnunet-rps-profiler -c test_rps.conf -n 128 -d 5m -r 10000 -l gnunet_rps_profiler.log | ||||
Additional Information | (gdb) bt f #0 GNUNET_SCHEDULER_cancel (task=0xdf0adba0df0adba) at scheduler.c:969 p = <optimized out> is_fd_task = <error reading variable is_fd_task (Cannot access memory at address 0xdf0adba0df0adda)> ret = <optimized out> __FUNCTION__ = "GNUNET_SCHEDULER_cancel" #1 0x0000000000409aac in GCCH_bind (ch=ch@entry=0x244c330, c=0x24b1db0, port=port@entry=0x2530fe8) at gnunet-service-cadet_channel.c:991 options = <optimized out> cccd = <optimized out> __FUNCTION__ = "GCCH_bind" #2 0x000000000040709b in bind_loose_channel (cls=cls@entry=0x2530fe0, port=port@entry=0x2531028, value=0x244c330) at gnunet-service-cadet.c:455 op = 0x2530fe0 ch = <optimized out> __FUNCTION__ = "bind_loose_channel" log_line = <optimized out> log_call_enabled = -1 _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> #3 0x00007fee93ac4740 in GNUNET_CONTAINER_multihashmap_get_multiple (map=<optimized out>, key=key@entry=0x2531028, it=it@entry=0x407080 <bind_loose_channel>, it_cls=it_cls@entry=0x2530fe0) at container_multihashmap.c:855 bme = <optimized out> nxt = 0x2516370 count = 3 me = <optimized out> #4 0x0000000000406fc6 in handle_port_open (cls=0x24b1db0, pmsg=0x25c15b0) at gnunet-service-cadet.c:509 c = 0x24b1db0 op = 0x2530fe0 __FUNCTION__ = "handle_port_open" #5 0x00007fee93af505a in service_client_mst_cb (cls=0x25b3380, message=0x25c15b0) at service.c:2160 client = 0x25b3380 __FUNCTION__ = "service_client_mst_cb" #6 0x00007fee93adf583 in GNUNET_MST_from_buffer (mst=0x2536910, buf=buf@entry=0x0, size=size@entry=0, purge=purge@entry=0, one_shot=-1, one_shot@entry=1) at mst.c:231 hdr = <optimized out> delta = <optimized out> want = <optimized out> ibuf = 0x25c15b0 "" need_align = <optimized out> offset = <optimized out> ret = 1 cbret = <optimized out> __FUNCTION__ = "GNUNET_MST_from_buffer" log_line = <optimized out> log_call_enabled = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> log_line = <optimized out> log_call_enabled = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> #7 0x00007fee93adfe1b in GNUNET_MST_read (mst=<optimized out>, sock=<optimized out>, purge=purge@entry=0, one_shot=one_shot@entry=1) at mst.c:374 ret = <optimized out> left = <optimized out> buf = <optimized out> __FUNCTION__ = "GNUNET_MST_read" #8 0x00007fee93afabe5 in service_client_recv (cls=0x25b3380) at service.c:2181 client = 0x25b3380 ret = <optimized out> __FUNCTION__ = "service_client_recv" #9 0x00007fee93af3b2f in GNUNET_SCHEDULER_do_work (sh=sh@entry=0x2324a70) at scheduler.c:2113 p = GNUNET_SCHEDULER_PRIORITY_DEFAULT pos = 0x247fb60 now = <optimized out> __FUNCTION__ = "GNUNET_SCHEDULER_do_work" log_line = <optimized out> log_call_enabled = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> #10 0x00007fee93af499a in select_loop (context=0x7fffc2cff2f0, sh=0x2324a70) at scheduler.c:2410 time_remaining = <optimized out> rs = 0x2322d40 ws = 0x2322dd0 select_result = <optimized out> rs = <optimized out> ws = <optimized out> select_result = <optimized out> __FUNCTION__ = "select_loop" log_line = <optimized out> log_call_enabled = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> time_remaining = <optimized out> log_line = <optimized out> log_call_enabled = 0 _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> pos = <optimized out> log_line = <optimized out> log_call_enabled = -1 _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> log_line = <optimized out> log_call_enabled = -1 _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> pos = <optimized out> is_ready = <optimized out> log_line = <optimized out> log_call_enabled = -1 _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> _gnunet_boolean_var_ = <optimized out> #11 GNUNET_SCHEDULER_run (task=task@entry=0x7fee93afa430 <service_main>, task_cls=task_cls@entry=0x7fffc2cff450) at scheduler.c:725 sh = 0x2324a70 driver = 0x2327040 context = {scheduled_head = 0x24f7350, scheduled_tail = 0x2322b70, timeout = { abs_value_us = 1540984450026698}} #12 0x00007fee93af91d2 in GNUNET_SERVICE_run_ (argc=<optimized out>, argv=<optimized out>, service_name=service_name@entry=0x41f100 "cadet", options=options@entry=GNUNET_SERVICE_OPTION_NONE, service_init_cb=service_init_cb@entry=0x405070 <run>, connect_cb=connect_cb@entry=0x404e60 <client_connect_cb>, disconnect_cb=0x404aa0 <client_disconnect_cb>, cls=0x0, handlers=0x7fffc2cff710) at service.c:1875 sh = {cfg = 0x2319c00, service_name = 0x41f100 "cadet", service_init_cb = 0x405070 <run>, connect_cb = 0x404e60 <client_connect_cb>, disconnect_cb = 0x404aa0 <client_disconnect_cb>, cb_cls = 0x0, slc_head = 0x231bf80, slc_tail = 0x231bf80, clients_head = 0x25b3380, clients_tail = 0x25b3380, handlers = 0x2319c20, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0x2325d50, v6_allowed = 0x23213b0, match_uid = 0, match_gid = 1, got_shutdown = 0, options = GNUNET_SERVICE_OPTION_NONE, ready_confirm_fd = -1, ret = 0, require_found = 1} cfg_filename = 0x2319be0 "~/.config/gnunet.conf" opt_cfg_filename = 0x2319ee0 "/tmp/testbedTsOtWF/11/config" loglev = 0x0 xdg = 0x0 logfile = 0x0 do_daemonize = 0 skew_offset = 140736461796480 skew_variance = 140662663271952 clock_offset = <optimized out> cfg = 0x2319c00 ret = <optimized out> err = 0 service_options = {{shortName = 99 'c', name = 0x7fee93b04c0b "config", argumentHelp = 0x7fee93b04c02 "FILENAME", description = 0x7fee93b04e90 "use configuration file FILENAME", require_argument = 1, option_mandatory = 0, processor = 0x7fee93adcf60 <set_filename>, cleaner = 0x0, scls = 0x7fffc2cff380}, {shortName = 100 'd', name = 0x7fee93b072ed "daemonize", argumentHelp = 0x0, description = 0x7fee93b078d0 "do daemonize (detach from terminal)", require_argument = 0, option_mandatory = 0, processor = 0x7fee93adcab0 <set_one>, cleaner = 0x0, scls = 0x7fffc2cff374}, { shortName = 104 'h', name = 0x7fee93b04bdd "help", argumentHelp = 0x0, description = 0x7fee93b04bd2 "print this help", require_argument = 0, option_mandatory = 0, processor = 0x7fee93adcb00 <format_help>, cleaner = 0x0, scls = 0x0}, {shortName = 76 'L', name = 0x7fee93b04bed "log", argumentHelp = 0x7fee93b04bf1 "LOGLEVEL", description = 0x7fee93b04e38 "configure logging to use LOGLEVEL", require_argument = 1, option_mandatory = 0, processor = 0x7fee93adce80 <set_string>, cleaner = 0x0, scls = 0x7fffc2cff388}, { shortName = 108 'l', name = 0x7fee93b04bfa "logfile", argumentHelp = 0x7fee93b04c02 "FILENAME", description = 0x7fee93b04e60 "configure logging to write logs to FILENAME", require_argument = 1, option_mandatory = 0, processor = 0x7fee93adcf60 <set_filename>, cleaner = 0x0, scls = 0x7fffc2cff390}, { shortName = 118 'v', name = 0x7fee93b04bb1 "version", argumentHelp = 0x0, description = 0x7fee93b04bb9 "print the version number", require_argument = 0, option_mandatory = 0, processor = 0x7fee93adcac0 <print_version>, cleaner = 0x0, scls = 0x7fee93b06393}, {shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, option_mandatory = 0, processor = 0x0, cleaner = 0x0, scls = 0x0}} __FUNCTION__ = "GNUNET_SERVICE_run_" #13 0x0000000000404533 in main (argc=<optimized out>, argv=<optimized out>) at gnunet-service-cadet.c:1510 mh = {{mv = 0x0, cb = 0x406da0 <handle_port_open>, cls = 0x0, type = 1022, expected_size = 68}, {mv = 0x0, cb = 0x406aa0 <handle_port_close>, cls = 0x0, type = 1023, expected_size = 68}, {mv = 0x0, cb = 0x406760 <handle_channel_create>, cls = 0x0, type = 1024, expected_size = 108}, {mv = 0x0, cb = 0x405950 <handle_channel_destroy>, cls = 0x0, type = 1025, expected_size = 8}, { mv = 0x405e20 <check_local_data>, cb = 0x406500 <handle_local_data>, cls = 0x0, type = 1020, expected_size = 8}, {mv = 0x0, cb = 0x4063a0 <handle_local_ack>, cls = 0x0, type = 1021, expected_size = 8}, {mv = 0x0, cb = 0x405900 <handle_get_peers>, cls = 0x0, type = 1036, expected_size = 4}, {mv = 0x0, cb = 0x406130 <handle_show_peer>, cls = 0x0, type = 1037, expected_size = 40}, {mv = 0x0, cb = 0x4058b0 <handle_info_tunnels>, cls = 0x0, type = 1032, expected_size = 4}, {mv = 0x0, cb = 0x405bc0 <handle_info_tunnel>, cls = 0x0, type = 1033, expected_size = 40}, {mv = 0x0, cb = 0x405610 <handle_info_dump>, cls = 0x0, type = 1038, expected_size = 4}, {mv = 0x0, cb = 0x0, cls = 0x0, type = 0, expected_size = 0}} _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> _mv = <optimized out> _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> _cb = <optimized out> | ||||
Tags | No tags attached. | ||||
|
To be precise, I ran the profiler with valgrind: valgrind --log-file=valgrind_gnunet-rps-profiler.log .libs/gnunet-rps-profiler -c test_rps.conf -n 128 -d 30m -r 10000 -l gnunet_rps_profiler.log |
|
43de1e4a084b7d9e773b05f173d516dc573de5c1 should help. (But did not try to reproduce, just tried to fix the dangling reference.) |
|
Was not able to reproduce anymore. |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-10-31 12:37 | ch3 | New Issue | |
2018-10-31 12:37 | ch3 | Status | new => assigned |
2018-10-31 12:37 | ch3 | Assigned To | => Bart Polot |
2018-10-31 12:41 | ch3 | Note Added: 0013304 | |
2018-11-01 15:30 | Christian Grothoff | Note Added: 0013305 | |
2018-11-01 15:30 | Christian Grothoff | Assigned To | Bart Polot => Christian Grothoff |
2018-11-01 15:30 | Christian Grothoff | Status | assigned => feedback |
2018-11-01 15:30 | Christian Grothoff | Target Version | => 0.11.0 |
2018-11-01 16:28 | ch3 | Status | feedback => assigned |
2018-11-01 16:28 | ch3 | Resolution | open => fixed |
2018-11-01 16:28 | ch3 | Fixed in Version | => Git master |
2018-11-01 16:28 | ch3 | Note Added: 0013306 | |
2018-11-01 16:32 | Christian Grothoff | Status | assigned => resolved |
2018-11-01 16:32 | Christian Grothoff | Fixed in Version | Git master => 0.11.0 |
2019-02-28 11:17 | Christian Grothoff | Status | resolved => closed |