View Issue Details

IDProjectCategoryView StatusLast Update
0003654GNUnetobsoletepublic2024-05-03 13:48
ReporterChristian Grothoff Assigned ToMatthias Wachs  
PriorityhighSeveritycrashReproducibilityrandom
Status closedResolutionwon't fix 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product VersionGit master 
Fixed in Version0.11.0pre66 
Summary0003654: ATS MLP solver fails non-deterministically
Description#0 0x00007f574afc7107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f574afc84e8 in __GI_abort () at abort.c:89
#2 0x00007f5749b0c929 in errfunc (fmt=0x7f5749b352de "Assertion failed: %s\n") at env/error.c:52
#3 0x00007f5749aa3d54 in prepare_row_info (f=<optimized out>, u=<optimized out>, l=<optimized out>, a=<optimized out>,
    n=<optimized out>) at glpios02.c:136
#4 basic_preprocessing (max_pass=<optimized out>, num=0xafc220, nrs=<optimized out>, u=0xb15b60, l=0xb15550, U=0xafb9a0, L=0xb123a0,
    mip=0xafa700) at glpios02.c:661
#5 _glp_ios_preprocess_node (tree=tree@entry=0xb158e0, max_pass=<optimized out>) at glpios02.c:786
#6 0x00007f5749aa544a in _glp_ios_driver (T=T@entry=0xb158e0) at glpios03.c:1090
#7 0x00007f5749a80527 in solve_mip (P=0xafa700, parm=0xaf8bf0, P0=0xafa700, npp=0x0) at glpapi09.c:250
#8 0x00007f5749a81168 in glp_intopt (P=0xafa700, parm=0xaf8bf0) at glpapi09.c:625
#9 0x00007f5749d516de in GAS_mlp_solve_problem (solver=0xaf88c0) at plugin_ats_mlp.c:1681
#10 0x00007f5749d53a39 in GAS_mlp_address_change_preference (solver=0xaf88c0, peer=0x7ffff745e680, kind=GNUNET_ATS_PREFERENCE_LATENCY,
    pref_rel=-nan(0x8000000000000)) at plugin_ats_mlp.c:2303
#11 0x0000000000405ae6 in GAS_plugin_notify_preference_changed (peer=0x7ffff745e680, kind=GNUNET_ATS_PREFERENCE_LATENCY,
    pref_rel=-nan(0x8000000000000)) at gnunet-service-ats_plugins.c:65
#12 0x0000000000406fb2 in update_relative_values_for_peer (id=0x7ffff745e680, kind=GNUNET_ATS_PREFERENCE_LATENCY)
    at gnunet-service-ats_preferences.c:250
#13 0x000000000040790f in update_iterator (cls=0x7ffff745e6fc, key=0x7ffff745e680, value=0xafa5c0)
    at gnunet-service-ats_preferences.c:540
#14 0x00007f574b87260c in GNUNET_CONTAINER_multipeermap_iterate (map=0xafdbb0, it=0x4078df <update_iterator>, it_cls=0x7ffff745e6fc)
    at container_multipeermap.c:361
#15 0x0000000000407f44 in update_preference (client=0xb15bb0, peer=0xafb798, kind=GNUNET_ATS_PREFERENCE_LATENCY, score_abs=0)
    at gnunet-service-ats_preferences.c:634
#16 0x0000000000408234 in GAS_handle_preference_change (cls=0x0, client=0xb15bb0, message=0xafb790)
    at gnunet-service-ats_preferences.c:693
#17 0x00007f574b89e0c8 in GNUNET_SERVER_inject (server=0xafd4e0, sender=0xb15bb0, message=0xafb790) at server.c:989
#18 0x00007f574b89ed1d in client_message_tokenizer_callback (cls=0xafd4e0, client=0xb15bb0, message=0xafb790) at server.c:1213
#19 0x00007f574b8a1105 in GNUNET_SERVER_mst_receive (mst=0xb12c40, client_identity=0xb15bb0, buf=0x0, size=0, purge=0, one_shot=-1)
    at server_mst.c:221
#20 0x00007f574b89e3b1 in process_mst (client=0xb15bb0, ret=0) at server.c:1063
#21 0x00007f574b89e9e0 in process_incoming (cls=0xb15bb0, buf=0x7ffff745ea00, available=104, addr=0xafa5a0, addrlen=2, errCode=0)
    at server.c:1154
#22 0x00007f574b8694c9 in receive_ready (cls=0xafb680, tc=0x7ffff746ea80) at connection.c:1095
#23 0x00007f574b899711 in run_ready (rs=0xafcd20, ws=0xafcdb0) at scheduler.c:587
#24 0x00007f574b899f95 in GNUNET_SCHEDULER_run (task=0x7f574b8a6948 <service_task>, task_cls=0x7ffff746ee00) at scheduler.c:816
#25 0x00007f574b8a8681 in GNUNET_SERVICE_run (argc=3, argv=0x7ffff746f088, service_name=0x409919 "ats",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x402226 <run>, task_cls=0x0) at service.c:1503
Steps To ReproduceGot the core dump *rarely* (say 1 in 10 runs) when running 'make check' in the ats/ directory.
TagsNo tags attached.

Relationships

child of 0003656 closedMatthias Wachs Need to review ATS MIL code 

Activities

Christian Grothoff

2015-02-11 19:55

manager   ~0008869

Crash is now deterministic on my systems with 'make chec' (test_ats_api_mlp).

However, oddly enough, with valgrind the test terminates prior to memory corruption issues in a testcase check failure.

Christian Grothoff

2015-02-11 19:56

manager   ~0008870

Last edited: 2015-02-11 19:56

Latest trace:

(gdb) ba
#0 0x00007f18b31e1107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f18b31e24e8 in __GI_abort () at abort.c:89
#2 0x00007f18b3a79c4e in GNUNET_abort () at common_logging.c:289
#3 0x00007f18b1f67a35 in mlp_create_problem_update_value (p=0x1259ae0, row=0, col=0, val=1, line=1937) at plugin_ats_mlp.c:789
#4 0x00007f18b1f6c4ed in GAS_mlp_address_property_changed (solver=0x1259ad0, address=0x126ed50) at plugin_ats_mlp.c:1933
#5 0x00000000004051e9 in GAS_plugin_notify_property_changed (address=0x126ed50) at gnunet-service-ats_plugins.c:81
#6 0x00000000004048b2 in notify_change (cls=0x0, key=0x7ffffaf0f9a0, value=0x126ed50) at gnunet-service-ats_normalization.c:201

#0 0x00007f18b31e1107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = 0
        pid = 26530
        selftid = 26530
#1 0x00007f18b31e24e8 in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0, 140737403484192, 139744074739207,
              140733193388033, 0, 1, 139744060845352, 19328336, 140737403484192, 140737403551152, 139744074765093, 1, 139744061706912,
              0, 139744064640912, 139744064634976}}, sa_flags = -1274153216, sa_restorer = 0x7f18b354dbe0 <_IO_helper_jumps>}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f18b3a79c4e in GNUNET_abort () at common_logging.c:289
No locals.
#3 0x00007f18b1f67a35 in mlp_create_problem_update_value (p=0x1259ae0, row=0, col=0, val=1, line=1937) at plugin_ats_mlp.c:789
        c_cols = -1309214045
        c_elems = 0
        c1 = 0
        res = 19328336
        found = 32536
        val_array = 0x7f18b3a7b67f <GNUNET_i2s+71>
        ind_array = 0x7ffffaf0f8b0
        __FUNCTION__ = "mlp_create_problem_update_value"
#4 0x00007f18b1f6c4ed in GAS_mlp_address_property_changed (solver=0x1259ad0, address=0x126ed50) at plugin_ats_mlp.c:1933
        mlpi = 0x126f000
        mlp = 0x1259ad0
        __FUNCTION__ = "GAS_mlp_address_property_changed"
#5 0x00000000004051e9 in GAS_plugin_notify_property_changed (address=0x126ed50) at gnunet-service-ats_plugins.c:81
No locals.
#6 0x00000000004048b2 in notify_change (cls=0x0, key=0x7ffffaf0f9a0, value=0x126ed50) at gnunet-service-ats_normalization.c:201
        address = 0x126ed50
#7 0x00007f18b3a8c60c in GNUNET_CONTAINER_multipeermap_iterate (map=0x125d0f0, it=0x40488a <notify_change>, it_cls=0x0)
    at container_multipeermap.c:361
        bme = 0x126eed0
        nxt = 0x0
        count = 0
        i = 0
        me = {sme = 0x126eed0, bme = 0x126eed0}
        kc = {public_key = {q_y = '\000' <repeats 31 times>}}
        __FUNCTION__ = "GNUNET_CONTAINER_multipeermap_iterate"


#7 0x00007f18b3a8c60c in GNUNET_CONTAINER_multipeermap_iterate (map=0x125d0f0, it=0x40488a <notify_change>, it_cls=0x0)
    at container_multipeermap.c:361
#8 0x0000000000404b07 in GAS_normalization_update_property (address=0x126ed50) at gnunet-service-ats_normalization.c:270
#9 0x0000000000402a65 in GAS_addresses_add (peer=0x125d638, plugin_name=0x125d67c "test", plugin_addr=0x125d678, plugin_addr_len=4,
    local_address_info=0, session_id=1, prop=0x7ffffaf0fb20) at gnunet-service-ats_addresses.c:249
#10 0x0000000000408542 in GAS_handle_address_add (cls=0x0, client=0x126e9b0, message=0x125d630) at gnunet-service-ats_scheduling.c:179
#11 0x00007f18b3ab80c8 in GNUNET_SERVER_inject (server=0x125c970, sender=0x126e9b0, message=0x125d630) at server.c:989
#12 0x00007f18b3ab8d1d in client_message_tokenizer_callback (cls=0x125c970, client=0x126e9b0, message=0x125d630) at server.c:1213
#13 0x00007f18b3abb105 in GNUNET_SERVER_mst_receive (mst=0x126ea50, client_identity=0x126e9b0, buf=0x0, size=0, purge=0, one_shot=-1)
    at server_mst.c:221
#14 0x00007f18b3ab83b1 in process_mst (client=0x126e9b0, ret=0) at server.c:1063
#15 0x00007f18b3ab89e0 in process_incoming (cls=0x126e9b0, buf=0x7ffffaf0fdb0, available=89, addr=0x126e8a0, addrlen=2, errCode=0)
    at server.c:1154
#16 0x00007f18b3a834c9 in receive_ready (cls=0x126e8c0, tc=0x7ffffaf1fe30) at connection.c:1095
#17 0x00007f18b3ab3711 in run_ready (rs=0x125c1b0, ws=0x125c240) at scheduler.c:587
#18 0x00007f18b3ab3f95 in GNUNET_SCHEDULER_run (task=0x7f18b3ac0948 <service_task>, task_cls=0x7ffffaf201b0) at scheduler.c:816
#19 0x00007f18b3ac2681 in GNUNET_SERVICE_run (argc=3, argv=0x7ffffaf20438, service_name=0x408f9c "ats",
    options=GNUNET_SERVICE_OPTION_NONE, task=0x402336 <run>, task_cls=0x0) at service.c:1503
#20 0x0000000000402502 in main (argc=3, argv=0x7ffffaf20438) at gnunet-service-ats.c:241

#8 0x0000000000404b07 in GAS_normalization_update_property (address=0x126ed50) at gnunet-service-ats_normalization.c:270
        prop = 0x126ed88
        range = {min = {utilization_out = 0, utilization_in = 0, scope = GNUNET_ATS_NET_UNSPECIFIED, distance = 0, delay = {
              rel_value_us = 0}}, max = {utilization_out = 0, utilization_in = 0, scope = GNUNET_ATS_NET_UNSPECIFIED, distance = 0,
            delay = {rel_value_us = 0}}}
        range_changed = 1
        __FUNCTION__ = "GAS_normalization_update_property"
#9 0x0000000000402a65 in GAS_addresses_add (peer=0x125d638, plugin_name=0x125d67c "test", plugin_addr=0x125d678, plugin_addr_len=4,
    local_address_info=0, session_id=1, prop=0x7ffffaf0fb20) at gnunet-service-ats_addresses.c:249
        new_address = 0x126ed50
        __FUNCTION__ = "GAS_addresses_add"
#10 0x0000000000408542 in GAS_handle_address_add (cls=0x0, client=0x126e9b0, message=0x125d630) at gnunet-service-ats_scheduling.c:179
        m = 0x125d630
        address = 0x125d678 ""
        plugin_name = 0x125d67c "test"
        address_length = 4
        plugin_name_length = 5
        size = 81
        prop = {utilization_out = 0, utilization_in = 0, scope = GNUNET_ATS_NET_LAN, distance = 0, delay = {rel_value_us = 0}}
        __FUNCTION__ = "GAS_handle_address_add"
#11 0x00007f18b3ab80c8 in GNUNET_SERVER_inject (server=0x125c970, sender=0x126e9b0, message=0x125d630) at server.c:989
        pos = 0x126c920
        mh = 0x409020 <handlers+96>
        i = 4
        type = 353
        size = 81
        found = 0
        __FUNCTION__ = "GNUNET_SERVER_inject"
#12 0x00007f18b3ab8d1d in client_message_tokenizer_callback (cls=0x125c970, client=0x126e9b0, message=0x125d630) at server.c:1213
        server = 0x125c970
        sender = 0x126e9b0
        ret = -1280864195
        __FUNCTION__ = "client_message_tokenizer_callback"

Christian Grothoff

2018-06-07 00:52

manager   ~0012993

Changing to won't fix, as ATS subsystem will need a major rewrite first anyway.

Issue History

Date Modified Username Field Change
2015-02-08 22:02 Christian Grothoff New Issue
2015-02-08 22:02 Christian Grothoff Status new => assigned
2015-02-08 22:02 Christian Grothoff Assigned To => Matthias Wachs
2015-02-09 00:18 Christian Grothoff Priority normal => high
2015-02-11 19:55 Christian Grothoff Note Added: 0008869
2015-02-11 19:56 Christian Grothoff Note Added: 0008870
2015-02-11 19:56 Christian Grothoff Note Edited: 0008870
2015-02-11 19:58 Christian Grothoff Relationship added child of 0003656
2017-02-26 02:16 Christian Grothoff Target Version => 0.11.0
2018-06-07 00:34 Christian Grothoff Target Version 0.11.0 =>
2018-06-07 00:52 Christian Grothoff Note Added: 0012993
2018-06-07 00:52 Christian Grothoff Status assigned => closed
2018-06-07 00:52 Christian Grothoff Resolution open => won't fix
2018-06-07 00:52 Christian Grothoff Fixed in Version => 0.11.0pre66
2024-05-03 13:48 Christian Grothoff Category ATS service => obsolete