View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004906 | GNUnet | obsolete | public | 2017-02-21 15:48 | 2024-05-03 13:48 |
| Reporter | Christian Grothoff | Assigned To | Christian Grothoff | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | won't fix | ||
| Platform | i7 | OS | Debian GNU/Linux | OS Version | squeeze |
| Product Version | Git master | ||||
| Fixed in Version | 0.11.0pre66 | ||||
| Summary | 0004906: ATS service crashes in MLP plugin during testcases | ||||
| Description | Core was generated by `/home/grothoff/lib//gnunet/libexec/gnunet-service-ats -c /tmp/testbedccPCyY/0/c'. Program terminated with signal SIGABRT, Aborted. #0 0xb76d0d40 in __kernel_vsyscall () (gdb) ba #0 0xb76d0d40 in __kernel_vsyscall () #1 0xb6ed0dc0 in raise () from /lib/i386-linux-gnu/libc.so.6 #2 0xb6ed2287 in abort () from /lib/i386-linux-gnu/libc.so.6 #3 0xb6a11b4e in ?? () from /usr/lib/i386-linux-gnu/libglpk.so.36 #4 0xb697e191 in glp_set_mat_row () from /usr/lib/i386-linux-gnu/libglpk.so.36 #5 0xb6a977bb in mlp_create_problem_update_value (p=0xb772a8d0, row=10, col=0, val=1, line=1939) at plugin_ats_mlp.c:819 #6 0xb6a9efa8 in GAS_mlp_address_property_changed (solver=0xb772a8c8, address=0xb7743a88) at plugin_ats_mlp.c:1935 #7 0xb7700151 in GAS_plugin_notify_property_changed (address=0xb7743a88) at gnunet-service-ats_plugins.c:81 #8 0xb76ff2ac in notify_change (cls=0x0, key=0xb7743a88, value=0xb7743a88) at gnunet-service-ats_normalization.c:203 #9 0xb76ff6a8 in GAS_normalization_update_property (address=0xb7743a88) at gnunet-service-ats_normalization.c:272 #10 0xb76fcdf1 in GAS_addresses_add (peer=0xb772c940, plugin_name=0xb772c996 "udp", plugin_addr=0xb772c980, plugin_addr_len=22, local_address_info=0, session_id=13, prop=0xbfba33a4) at gnunet-service-ats_addresses.c:252 #11 0xb7704ec5 in GAS_handle_address_add (m=0xb772c938) at gnunet-service-ats_scheduling.c:145 #12 0xb76fbadb in handle_address_add (cls=0xb772c4c8, message=0xb772c938) at gnunet-service-ats.c:290 #13 0xb762172e in GNUNET_MQ_inject_message (mq=0xb772c518, mh=0xb772c938) at mq.c:265 #14 0xb7662ec0 in service_client_mst_cb (cls=0xb772c4c8, message=0xb772c938) at service_new.c:2106 #15 0xb7620790 in GNUNET_MST_from_buffer (mst=0xb772c628, buf=0x0, size=0, purge=0, one_shot=-1) at mst.c:232 #16 0xb7621321 in GNUNET_MST_read (mst=0xb772c628, sock=0xb772c4b0, purge=0, one_shot=1) at mst.c:359 #17 0xb7662fae in service_client_recv (cls=0xb772c4c8) at service_new.c:2127 #18 0xb763f301 in run_ready (rs=0xb7730650, ws=0xb77306d8) at scheduler.c:620 #19 0xb763fdff in GNUNET_SCHEDULER_run (task=0xb765a55a <service_main>, task_cls=0xbfba3834) at scheduler.c:887 #20 0xb76619c5 in GNUNET_SERVICE_ruN_ (argc=3, argv=0xbfba3b74, service_name=0xb7705a31 "ats", options=GNUNET_SERVICE_OPTION_NONE, service_init_cb=0xb76fbe09 <run>, connect_cb=0xb76fbcd4 <client_connect_cb>, disconnect_cb=0xb76fbce6 <client_disconnect_cb>, cls=0x0, handlers=0xbfba393c) at service_new.c:1844 #21 0xb76fc39c in main (argc=3, argv=0xbfba3b74) at gnunet-service-ats.c:484 | ||||
| Steps To Reproduce | Based on core dump found in ats-tests. | ||||
| Additional Information | (gdb) bt full #0 0xb76d0d40 in __kernel_vsyscall () No symbol table info available. #1 0xb6ed0dc0 in raise () from /lib/i386-linux-gnu/libc.so.6 No symbol table info available. #2 0xb6ed2287 in abort () from /lib/i386-linux-gnu/libc.so.6 No symbol table info available. #3 0xb6a11b4e in ?? () from /usr/lib/i386-linux-gnu/libglpk.so.36 No symbol table info available. #4 0xb697e191 in glp_set_mat_row () from /usr/lib/i386-linux-gnu/libglpk.so.36 No symbol table info available. #5 0xb6a977bb in mlp_create_problem_update_value (p=0xb772a8d0, row=10, col=0, val=1, line=1939) at plugin_ats_mlp.c:819 c_cols = 15 c_elems = 6 c1 = 7 res = 32 found = 0 val_array = 0xb7745e80 ind_array = 0xb7745f08 __FUNCTION__ = "mlp_create_problem_update_value" #6 0xb6a9efa8 in GAS_mlp_address_property_changed (solver=0xb772a8c8, address=0xb7743a88) at plugin_ats_mlp.c:1935 mlpi = 0xb7732458 mlp = 0xb772a8c8 __FUNCTION__ = "GAS_mlp_address_property_changed" #7 0xb7700151 in GAS_plugin_notify_property_changed (address=0xb7743a88) at gnunet-service-ats_plugins.c:81 No locals. #8 0xb76ff2ac in notify_change (cls=0x0, key=0xb7743a88, value=0xb7743a88) at gnunet-service-ats_normalization.c:203 address = 0xb7743a88 #9 0xb76ff6a8 in GAS_normalization_update_property (address=0xb7743a88) at gnunet-service-ats_normalization.c:272 prop = 0xb7743ab4 range = {min = {delay = {rel_value_us = 91}, utilization_out = 0, utilization_in = 0, distance = 0, scope = GNUNET_ATS_NET_UNSPECIFIED}, max = {delay = { rel_value_us = 90562}, utilization_out = 0, utilization_in = 0, distance = 0, scope = GNUNET_ATS_NET_UNSPECIFIED}} __FUNCTION__ = "GAS_normalization_update_property" #10 0xb76fcdf1 in GAS_addresses_add (peer=0xb772c940, plugin_name=0xb772c996 "udp", plugin_addr=0xb772c980, plugin_addr_len=22, local_address_info=0, session_id=13, prop=0xbfba33a4) at gnunet-service-ats_addresses.c:252 new_address = 0xb7743a88 __FUNCTION__ = "GAS_addresses_add" #11 0xb7704ec5 in GAS_handle_address_add (m=0xb772c938) at gnunet-service-ats_scheduling.c:145 address = 0xb772c980 "" plugin_name = 0xb772c996 "udp" address_length = 22 plugin_name_length = 4 prop = {delay = {rel_value_us = 91}, utilization_out = 0, utilization_in = 0, distance = 0, scope = GNUNET_ATS_NET_LAN} __FUNCTION__ = "GAS_handle_address_add" #12 0xb76fbadb in handle_address_add (cls=0xb772c4c8, message=0xb772c938) at gnunet-service-ats.c:290 client = 0xb772c4c8 #13 0xb762172e in GNUNET_MQ_inject_message (mq=0xb772c518, mh=0xb772c938) at mq.c:265 handler = 0xb772c5b0 handled = 1 ---Type <return> to continue, or q <return> to quit--- ms = 98 __FUNCTION__ = "GNUNET_MQ_inject_message" #14 0xb7662ec0 in service_client_mst_cb (cls=0xb772c4c8, message=0xb772c938) at service_new.c:2106 client = 0xb772c4c8 __FUNCTION__ = "service_client_mst_cb" #15 0xb7620790 in GNUNET_MST_from_buffer (mst=0xb772c628, buf=0x0, size=0, purge=0, one_shot=-1) at mst.c:232 hdr = 0xb772c938 delta = 0 want = 98 ibuf = 0xb772c938 "" need_align = 98 offset = 64 ret = 1 __FUNCTION__ = "GNUNET_MST_from_buffer" #16 0xb7621321 in GNUNET_MST_read (mst=0xb772c628, sock=0xb772c4b0, purge=0, one_shot=1) at mst.c:359 ret = 98 left = 98 buf = 0xb772c938 "" __FUNCTION__ = "GNUNET_MST_read" #17 0xb7662fae in service_client_recv (cls=0xb772c4c8) at service_new.c:2127 client = 0xb772c4c8 ret = -1078315528 __FUNCTION__ = "service_client_recv" #18 0xb763f301 in run_ready (rs=0xb7730650, ws=0xb77306d8) at scheduler.c:620 p = GNUNET_SCHEDULER_PRIORITY_DEFAULT pos = 0xb772c800 __FUNCTION__ = "run_ready" #19 0xb763fdff in GNUNET_SCHEDULER_run (task=0xb765a55a <service_main>, task_cls=0xbfba3834) at scheduler.c:887 rs = 0xb7730650 ws = 0xb77306d8 timeout = {rel_value_us = 18446744073709551615} ret = 1 shc_int = 0xb7730fb0 shc_term = 0xb7731050 shc_quit = 0xb7731190 shc_hup = 0xb7731230 shc_pipe = 0xb77310f0 last_tr = 166 busy_wait_warning = 0 pr = 0xb77319b8 c = -73 '\267' __FUNCTION__ = "GNUNET_SCHEDULER_run" #20 0xb76619c5 in GNUNET_SERVICE_ruN_ (argc=3, argv=0xbfba3b74, service_name=0xb7705a31 "ats", options=GNUNET_SERVICE_OPTION_NONE, service_init_cb=0xb76fbe09 <run>, connect_cb=0xb76fbcd4 <client_connect_cb>, disconnect_cb=0xb76fbce6 <client_disconnect_cb>, cls=0x0, handlers=0xbfba393c) at service_new.c:1844 sh = {cfg = 0xb7728080, service_name = 0xb7705a31 "ats", service_init_cb = 0xb76fbe09 <run>, connect_cb = 0xb76fbcd4 <client_connect_cb>, disconnect_cb = 0xb76fbce6 <client_disconnect_cb>, cb_cls = 0x0, slc_head = 0xb7732440, slc_tail = 0xb7732440, clients_head = 0xb772c670, clients_tail = 0xb7729868, handlers = 0xb7728090, task_cls = 0x0, v4_denied = 0x0, v6_denied = 0x0, v4_allowed = 0xb77305b0, v6_allowed = 0xb77305f8, match_uid = 0, match_gid = 1, got_shutdown = 0, options = GNUNET_SERVICE_OPTION_NONE, ready_confirm_fd = -1, ret = 0, require_found = 1} ---Type <return> to continue, or q <return> to quit--- cfg_filename = 0xb7728060 "~/.config/gnunet.conf" opt_cfg_filename = 0xb77281d8 "/tmp/testbedccPCyY/0/config" loglev = 0x0 xdg = 0x0 logfile = 0x0 do_daemonize = 0 skew_offset = 13217936953883375664 skew_variance = 13217916578419404800 clock_offset = -5228811329033244672 cfg = 0xb7728080 ret = 3 err = 0 service_options = {{shortName = 99 'c', name = 0xb7679467 "config", argumentHelp = 0xb767946e "FILENAME", description = 0xb7679478 "use configuration file FILENAME", require_argument = 1, processor = 0xb7619d20 <GNUNET_GETOPT_set_string>, scls = 0xbfba382c}, { shortName = 100 'd', name = 0xb7679498 "daemonize", argumentHelp = 0x0, description = 0xb76794a4 "do daemonize (detach from terminal)", require_argument = 0, processor = 0xb7619ccf <GNUNET_GETOPT_set_one>, scls = 0xbfba3820}, {shortName = 104 'h', name = 0xb76794c8 "help", argumentHelp = 0x0, description = 0xb76794cd "print this help", require_argument = 0, processor = 0xb76193f2 <GNUNET_GETOPT_format_help_>, scls = 0x0}, {shortName = 76 'L', name = 0xb76794dd "log", argumentHelp = 0xb76794e1 "LOGLEVEL", description = 0xb76794ec "configure logging to use LOGLEVEL", require_argument = 1, processor = 0xb7619d20 <GNUNET_GETOPT_set_string>, scls = 0xbfba3828}, {shortName = 108 'l', name = 0xb767950e "logfile", argumentHelp = 0xb7679516 "LOGFILE", description = 0xb7679520 "configure logging to write logs to LOGFILE", require_argument = 1, processor = 0xb7619d20 <GNUNET_GETOPT_set_string>, scls = 0xbfba3824}, {shortName = 118 'v', name = 0xb767954b "version", argumentHelp = 0x0, description = 0xb7679553 "print the version number", require_argument = 0, processor = 0xb7619390 <GNUNET_GETOPT_print_version_>, scls = 0xb767956c}, {shortName = 0 '\000', name = 0x0, argumentHelp = 0x0, description = 0x0, require_argument = 0, processor = 0x0, scls = 0x0}} __FUNCTION__ = "GNUNET_SERVICE_ruN_" #21 0xb76fc39c in main (argc=3, argv=0xbfba3b74) at gnunet-service-ats.c:484 mh = {{mv = 0x0, cb = 0xb76fb1f0 <handle_ats_start>, cls = 0x0, type = 340, expected_size = 8}, {mv = 0x0, cb = 0xb76fb85e <handle_request_address>, cls = 0x0, type = 341, expected_size = 40}, {mv = 0x0, cb = 0xb76fb89b <handle_request_address_cancel>, cls = 0x0, type = 342, expected_size = 40}, {mv = 0x0, cb = 0xb76fb821 <handle_request_address_list>, cls = 0x0, type = 354, expected_size = 44}, {mv = 0xb76fb8d8 <check_address_add>, cb = 0xb76fbab8 <handle_address_add>, cls = 0x0, type = 353, expected_size = 72}, {mv = 0x0, cb = 0xb76fbaf2 <handle_address_update>, cls = 0x0, type = 343, expected_size = 64}, {mv = 0x0, cb = 0xb76fbb2c <handle_address_destroyed>, cls = 0x0, type = 344, expected_size = 40}, {mv = 0x0, cb = 0xb76fb3d0 <handle_reservation_request>, cls = 0x0, type = 347, expected_size = 40}, {mv = 0xb76fbb66 <check_preference_change>, cb = 0xb76fbc97 <handle_preference_change>, cls = 0x0, type = 349, expected_size = 40}, {mv = 0xb76fb40d <check_feedback>, cb = 0xb76fb5a5 <handle_feedback>, cls = 0x0, type = 356, expected_size = 48}, {mv = 0x0, cb = 0x0, cls = 0x0, type = 0, expected_size = 0}} (gdb) (gdb) quit | ||||
| Tags | No tags attached. | ||||
|
|
This happens without any prior valgrind errors: ==18415== Process terminating with default action of signal 6 (SIGABRT): dumping core ==18415== at 0x4ED9DC0: raise (raise.c:58) ==18415== by 0x4EDB286: abort (abort.c:89) ==18415== by 0x592EB4D: ??? (in /usr/lib/i386-linux-gnu/libglpk.so.36.1.2) ==18415== by 0x589B190: glp_set_mat_row (in /usr/lib/i386-linux-gnu/libglpk.so.36.1.2) ==18415== by 0x58607BA: mlp_create_problem_update_value (plugin_ats_mlp.c:819) ==18415== by 0x5867FA7: GAS_mlp_address_property_changed (plugin_ats_mlp.c:1935) ==18415== by 0x110150: GAS_plugin_notify_property_changed (gnunet-service-ats_plugins.c:81) ==18415== by 0x10F2AB: notify_change (gnunet-service-ats_normalization.c:203) ==18415== by 0x48A371D: GNUNET_CONTAINER_multipeermap_iterate (container_multipeermap.c:361) ==18415== by 0x10F67D: GAS_normalization_update_property (gnunet-service-ats_normalization.c:262) ==18415== by 0x10CDF0: GAS_addresses_add (gnunet-service-ats_addresses.c:252) ==18415== by 0x114EC4: GAS_handle_address_add (gnunet-service-ats_scheduling.c:145) ==18415== |
|
|
Is it possible that the value of `col` in frame 5 is the problem? According to the glpk docs, row and column ordinal numbers are 1-indexed so `col` should not be zero. |
|
|
Changing to won't fix, as ATS subsystem will need a major rewrite first anyway. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2017-02-21 15:48 | Christian Grothoff | New Issue | |
| 2017-02-21 15:48 | Christian Grothoff | Status | new => assigned |
| 2017-02-21 15:48 | Christian Grothoff | Assigned To | => Matthias Wachs |
| 2017-02-21 16:53 | Christian Grothoff | Note Added: 0011801 | |
| 2017-02-21 16:53 | Christian Grothoff | Reproducibility | have not tried => always |
| 2017-02-21 16:53 | Christian Grothoff | Target Version | => 0.11.0pre66 |
| 2017-02-26 02:36 | Christian Grothoff | Assigned To | Matthias Wachs => |
| 2017-02-26 02:36 | Christian Grothoff | Status | assigned => confirmed |
| 2017-02-26 02:36 | Christian Grothoff | Target Version | 0.11.0pre66 => |
| 2017-06-08 16:34 | jah | Note Added: 0012239 | |
| 2018-06-07 01:09 | Christian Grothoff | Assigned To | => Christian Grothoff |
| 2018-06-07 01:09 | Christian Grothoff | Status | confirmed => closed |
| 2018-06-07 01:09 | Christian Grothoff | Resolution | open => won't fix |
| 2018-06-07 01:09 | Christian Grothoff | Fixed in Version | => 0.11.0pre66 |
| 2018-06-07 01:09 | Christian Grothoff | Note Added: 0013008 | |
| 2024-05-03 13:48 | Christian Grothoff | Category | ATS service => obsolete |