phylanx icon indicating copy to clipboard operation
phylanx copied to clipboard

Failure to insert into typename registry

Open stevenrbrandt opened this issue 4 years ago • 2 comments

Not sure what to make of this error. I am getting it from the phy_rand.py code. I don't have a small example that causes this issue at the moment.

terminate called after throwing an instance of 'hpx::detail::exception_with_info<hpx::exception>'
  what():  failed to insert base_set_event_action into typename to id registry.: HPX(invalid_status)

stack trace is

#0  0x00007ffff6ec69fb in raise () from /lib64/libc.so.6
#1  0x00007ffff6ec8800 in abort () from /lib64/libc.so.6
#2  0x00007fffe38a2025 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3  0x00007fffe389fc16 in ?? () from /lib64/libstdc++.so.6
#4  0x00007fffe389eb19 in ?? () from /lib64/libstdc++.so.6
#5  0x00007fffe389f508 in __gxx_personality_v0 () from /lib64/libstdc++.so.6
#6  0x00007ffff396cee3 in ?? () from /lib64/libgcc_s.so.1
#7  0x00007ffff396d70e in _Unwind_Resume () from /lib64/libgcc_s.so.1
#8  0x00007fffe034653f in _GLOBAL__sub_I_base_lco.cpp () from /usr/local/lib64/libhpx.so.1
#9  0x00007ffff7de7b33 in _dl_init () from /lib64/ld-linux-x86-64.so.2
#10 0x00007ffff7deca8a in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#11 0x00007ffff6fe4ebf in _dl_catch_error () from /lib64/libc.so.6
#12 0x00007ffff7debf99 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#13 0x00007ffff777ef26 in dlopen_doit () from /lib64/libdl.so.2
#14 0x00007ffff6fe4ebf in _dl_catch_error () from /lib64/libc.so.6
#15 0x00007ffff777f6a5 in _dlerror_run () from /lib64/libdl.so.2
#16 0x00007ffff777efb1 in dlopen@@GLIBC_2.2.5 () from /lib64/libdl.so.2
#17 0x00007fffe6962716 in hpx::util::plugin::dll::LoadLibrary (this=0x7fffffff6a00, ec=..., force=false)
    at /hpx/libs/core/plugin/include/hpx/plugin/detail/dll_dlopen.hpp:292
#18 0x00007fffe69624d0 in hpx::util::plugin::dll::load_library (this=0x7fffffff6a00, ec=...)
    at /hpx/libs/core/plugin/include/hpx/plugin/detail/dll_dlopen.hpp:148
#19 0x00007fffe6e09397 in hpx::util::init_ini_data_default (libs="/usr/local/lib64/hpx", ini=..., basenames=std::map with 6 elements = {...},
    modules=std::map with 1 element = {...}, component_registries=std::vector of length 0, capacity 0)
    at /hpx/libs/full/runtime_configuration/src/init_ini_data.cpp:510
#20 0x00007fffe6e15271 in hpx::util::runtime_configuration::load_component_path (this=0x7fffffffb3d0,
    plugin_registries=std::vector of length 0, capacity 0, component_registries=std::vector of length 0, capacity 0, path="/usr/local/lib64/hpx",
    component_paths=std::set with 1 element = {...}, basenames=std::map with 6 elements = {...})
    at /hpx/libs/full/runtime_configuration/src/runtime_configuration.cpp:591
#21 0x00007fffe6e1558a in hpx::util::runtime_configuration::load_component_paths (this=0x7fffffffb3d0,
    plugin_registries=std::vector of length 0, capacity 0, component_registries=std::vector of length 0, capacity 0,
---Type <return> to continue, or q <return> to quit---
    component_base_paths="/usr/local:/usr/local:/home/jovyan/phylanx/build.Debug:/home/jovyan/phylanx/build.Debug",
    component_path_suffixes="/lib64/hpx:/bin/hpx:/lib/hpx:/bin/hpx:/lib/phylanx:/bin/phylanx:/lib/phylanx:/bin/phylanx",
    component_paths=std::set with 1 element = {...}, basenames=std::map with 6 elements = {...})
    at /hpx/libs/full/runtime_configuration/src/runtime_configuration.cpp:635
#22 0x00007fffe6e1596f in hpx::util::runtime_configuration::load_modules (this=0x7fffffffb3d0,
    component_registries=std::vector of length 0, capacity 0) at /hpx/libs/full/runtime_configuration/src/runtime_configuration.cpp:671
#23 0x00007fffe6c2c399 in hpx::util::command_line_handling::call (this=0x7fffffffb330, desc_cmdline=..., argc=2, argv=0x7fffffffdc08,
    component_registries=std::vector of length 0, capacity 0) at /hpx/libs/full/command_line_handling/src/command_line_handling.cpp:1587
#24 0x00007fffe6c6463d in hpx::detail::run_or_start(hpx::util::function<int (hpx::program_options::variables_map&), false> const&, int, char**, hpx::init_params const&, bool) (f=..., argc=2, argv=0x7fffffffdc08, params=..., blocking=false) at /hpx/libs/full/init_runtime/src/hpx_init.cpp:826
#25 0x00007fffee6755b7 in hpx::start(hpx::util::function<int (hpx::program_options::variables_map&), false> const&, int, char**, hpx::init_params const&) (f=..., argc=2, argv=0x7fffffffdc08, params=...) at /usr/local/include/hpx/hpx_start_impl.hpp:76
#26 0x00007fffee6756f8 in hpx::start(hpx::util::function<int (int, char**), false> const&, int, char**, hpx::init_params const&) (f=..., argc=2,
    argv=0x7fffffffdc08, params=...) at /usr/local/include/hpx/hpx_start_impl.hpp:97
#27 0x00007fffee675f72 in phylanx::bindings::manage_global_runtime::manage_global_runtime (this=0xe47ca0,
    config=std::vector of length 6, capacity 6 = {...}) at /home/jovyan/phylanx/python/src/init_hpx.cpp:180
#28 0x00007fffee674253 in phylanx::bindings::init_hpx_runtime (cfg=std::vector of length 6, capacity 6 = {...})
    at /home/jovyan/phylanx/python/src/init_hpx.cpp:280
#29 0x00007fffee67cd11 in pybind11::detail::argument_loader<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&>::call_impl<void, void (*&)(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&), 0ul, pybind11::detail::void_type>(void (*&)(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&), std::integer_sequence<unsigned long, 0ul>, pybind11::detail::void_type&&) && (this=0x7fffffffc550,
    f=@0xdec068: 0x7fffee67420b <phylanx::bindings::init_hpx_runtime(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)>)
    at /usr/local/include/pybind11/cast.h:2032

stevenrbrandt avatar Jan 25 '21 19:01 stevenrbrandt

The only scenario I could think of for this to happen would be that HPX finds the same component module twice (Release/Debug?) At the point of failure, could you ask gdb for the list of loaded modules, please?

hkaiser avatar Jan 25 '21 20:01 hkaiser

As suspected, this has turned out to be an issue happening when both, a release and a debug version are installed in the same place.

hkaiser avatar Jan 27 '21 23:01 hkaiser