The program crashed when using the LCI parcelport #6526
-
My two hosts are using Mellanox ConnectX-3 Pro network cards, set to ROCE v2 mode, and the functionality has been tested with IB tools and is working fine. I enabled the LCI-related configuration options when compiling the HPX source code, but my application crashes directly when executed. Here is the information: python3 hpxrun.py ./HpxDemo_d.elf --parcelport lci -l 2
2024-08-02 09:40:26.617 - INFO - hpx demostration running...
2024-08-02 09:40:26.617 - INFO - hpx version: 1-10-0
{config}:
Core library:
HPX_AGAS_LOCAL_CACHE_SIZE=4096
HPX_HAVE_MALLOC=tcmalloc
HPX_PARCEL_MAX_CONNECTIONS=512
HPX_PARCEL_MAX_CONNECTIONS_PER_LOCALITY=4
HPX_PREFIX (configured)=
HPX_PREFIX=
HPX_FILESYSTEM_WITH_BOOST_FILESYSTEM_COMPATIBILITY=OFF
HPX_ITERATOR_SUPPORT_WITH_BOOST_ITERATOR_TRAVERSAL_TAG_COMPATIBILITY=OFF
HPX_WITH_AGAS_DUMP_REFCNT_ENTRIES=OFF
HPX_WITH_APEX=OFF
HPX_WITH_ASYNC_MPI=OFF
HPX_WITH_ATTACH_DEBUGGER_ON_TEST_FAILURE=OFF
HPX_WITH_AUTOMATIC_SERIALIZATION_REGISTRATION=ON
HPX_WITH_COROUTINE_COUNTERS=OFF
HPX_WITH_DISTRIBUTED_RUNTIME=ON
HPX_WITH_DYNAMIC_HPX_MAIN=ON
HPX_WITH_IO_COUNTERS=ON
HPX_WITH_IO_POOL=ON
HPX_WITH_ITTNOTIFY=OFF
HPX_WITH_LOGGING=ON
HPX_WITH_NETWORKING=ON
HPX_WITH_PAPI=OFF
HPX_WITH_PARALLEL_TESTS_BIND_NONE=OFF
HPX_WITH_PARCELPORT_ACTION_COUNTERS=OFF
HPX_WITH_PARCELPORT_COUNTERS=OFF
HPX_WITH_PARCELPORT_GASNET=OFF
HPX_WITH_PARCELPORT_LCI=ON
HPX_WITH_PARCELPORT_LIBFABRIC=OFF
HPX_WITH_PARCELPORT_MPI=OFF
HPX_WITH_PARCELPORT_TCP=ON
HPX_WITH_PARCEL_COALESCING=ON
HPX_WITH_PARCEL_PROFILING=OFF
HPX_WITH_SANITIZERS=OFF
HPX_WITH_SCHEDULER_LOCAL_STORAGE=OFF
HPX_WITH_SPINLOCK_DEADLOCK_DETECTION=OFF
HPX_WITH_STACKTRACES=ON
HPX_WITH_STACKTRACES_DEMANGLE_SYMBOLS=ON
HPX_WITH_STACKTRACES_STATIC_SYMBOLS=OFF
HPX_WITH_TESTS_DEBUG_LOG=OFF
HPX_WITH_THREAD_BACKTRACE_ON_SUSPENSION=OFF
HPX_WITH_THREAD_CREATION_AND_CLEANUP_RATES=OFF
HPX_WITH_THREAD_CUMULATIVE_COUNTS=ON
HPX_WITH_THREAD_DEBUG_INFO=OFF
HPX_WITH_THREAD_DESCRIPTION_FULL=OFF
HPX_WITH_THREAD_GUARD_PAGE=ON
HPX_WITH_THREAD_IDLE_RATES=OFF
HPX_WITH_THREAD_LOCAL_STORAGE=OFF
HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF=ON
HPX_WITH_THREAD_QUEUE_WAITTIME=OFF
HPX_WITH_THREAD_STACK_MMAP=ON
HPX_WITH_THREAD_STEALING_COUNTS=OFF
HPX_WITH_THREAD_TARGET_ADDRESS=OFF
HPX_WITH_TIMER_POOL=ON
HPX_WITH_TUPLE_RVALUE_SWAP=ON
HPX_WITH_VALGRIND=OFF
HPX_WITH_VERIFY_LOCKS=OFF
HPX_WITH_VERIFY_LOCKS_BACKTRACE=OFF
HPX_WITH_WORK_REQUESTING_SCHEDULERS=ON
Module allocator_support:
HPX_ALLOCATOR_SUPPORT_WITH_CACHING=ON
Module command_line_handling_local:
HPX_COMMAND_LINE_HANDLING_LOCAL_WITH_JSON_CONFIGURATION_FILES=OFF
Module coroutines:
HPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=OFF
HPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=OFF
Module datastructures:
HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE=ON
HPX_DATASTRUCTURES_WITH_ADAPT_STD_VARIANT=OFF
Module logging:
HPX_LOGGING_WITH_SEPARATE_DESTINATIONS=ON
Module serialization:
HPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=OFF
HPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=OFF
HPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=OFF
HPX_SERIALIZATION_WITH_BOOST_TYPES=OFF
HPX_SERIALIZATION_WITH_SUPPORTS_ENDIANESS=OFF
Module topology:
HPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=OFF
{version}: V1.10.0 (AGAS: V3.0), Git: unknown
{boost}: V1.84.0
{build-type}: release
{date}: Aug 1 2024 10:05:34
{platform}: linux
{compiler}: GNU C++ version 9.4.0
{stdlib}: GNU libstdc++ version 20210601
{config}:
Core library:
HPX_AGAS_LOCAL_CACHE_SIZE=4096
HPX_HAVE_MALLOC=tcmalloc
HPX_PARCEL_MAX_CONNECTIONS=512
HPX_PARCEL_MAX_CONNECTIONS_PER_LOCALITY=4
HPX_PREFIX (configured)=
HPX_PREFIX=
HPX_FILESYSTEM_WITH_BOOST_FILESYSTEM_COMPATIBILITY=OFF
HPX_ITERATOR_SUPPORT_WITH_BOOST_ITERATOR_TRAVERSAL_TAG_COMPATIBILITY=OFF
HPX_WITH_AGAS_DUMP_REFCNT_ENTRIES=OFF
HPX_WITH_APEX=OFF
HPX_WITH_ASYNC_MPI=OFF
HPX_WITH_ATTACH_DEBUGGER_ON_TEST_FAILURE=OFF
HPX_WITH_AUTOMATIC_SERIALIZATION_REGISTRATION=ON
HPX_WITH_COROUTINE_COUNTERS=OFF
HPX_WITH_DISTRIBUTED_RUNTIME=ON
HPX_WITH_DYNAMIC_HPX_MAIN=ON
HPX_WITH_IO_COUNTERS=ON
HPX_WITH_IO_POOL=ON
HPX_WITH_ITTNOTIFY=OFF
HPX_WITH_LOGGING=ON
HPX_WITH_NETWORKING=ON
HPX_WITH_PAPI=OFF
HPX_WITH_PARALLEL_TESTS_BIND_NONE=OFF
HPX_WITH_PARCELPORT_ACTION_COUNTERS=OFF
HPX_WITH_PARCELPORT_COUNTERS=OFF
HPX_WITH_PARCELPORT_GASNET=OFF
HPX_WITH_PARCELPORT_LCI=ON
HPX_WITH_PARCELPORT_LIBFABRIC=OFF
HPX_WITH_PARCELPORT_MPI=OFF
HPX_WITH_PARCELPORT_TCP=ON
HPX_WITH_PARCEL_COALESCING=ON
HPX_WITH_PARCEL_PROFILING=OFF
HPX_WITH_SANITIZERS=OFF
HPX_WITH_SCHEDULER_LOCAL_STORAGE=OFF
HPX_WITH_SPINLOCK_DEADLOCK_DETECTION=OFF
HPX_WITH_STACKTRACES=ON
HPX_WITH_STACKTRACES_DEMANGLE_SYMBOLS=ON
HPX_WITH_STACKTRACES_STATIC_SYMBOLS=OFF
HPX_WITH_TESTS_DEBUG_LOG=OFF
HPX_WITH_THREAD_BACKTRACE_ON_SUSPENSION=OFF
HPX_WITH_THREAD_CREATION_AND_CLEANUP_RATES=OFF
HPX_WITH_THREAD_CUMULATIVE_COUNTS=ON
HPX_WITH_THREAD_DEBUG_INFO=OFF
HPX_WITH_THREAD_DESCRIPTION_FULL=OFF
HPX_WITH_THREAD_GUARD_PAGE=ON
HPX_WITH_THREAD_IDLE_RATES=OFF
HPX_WITH_THREAD_LOCAL_STORAGE=OFF
HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF=ON
HPX_WITH_THREAD_QUEUE_WAITTIME=OFF
HPX_WITH_THREAD_STACK_MMAP=ON
HPX_WITH_THREAD_STEALING_COUNTS=OFF
HPX_WITH_THREAD_TARGET_ADDRESS=OFF
HPX_WITH_TIMER_POOL=ON
HPX_WITH_TUPLE_RVALUE_SWAP=ON
HPX_WITH_VALGRIND=OFF
HPX_WITH_VERIFY_LOCKS=OFF
HPX_WITH_VERIFY_LOCKS_BACKTRACE=OFF
HPX_WITH_WORK_REQUESTING_SCHEDULERS=ON
Module allocator_support:
HPX_ALLOCATOR_SUPPORT_WITH_CACHING=ON
Module command_line_handling_local:
HPX_COMMAND_LINE_HANDLING_LOCAL_WITH_JSON_CONFIGURATION_FILES=OFF
Module coroutines:
HPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=OFF
HPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=OFF
Module datastructures:
HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE=ON
HPX_DATASTRUCTURES_WITH_ADAPT_STD_VARIANT=OFF
Module logging:
HPX_LOGGING_WITH_SEPARATE_DESTINATIONS=ON
Module serialization:
HPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=OFF
HPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=OFF
HPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=OFF
HPX_SERIALIZATION_WITH_BOOST_TYPES=OFF
HPX_SERIALIZATION_WITH_SUPPORTS_ENDIANESS=OFF
Module topology:
HPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=OFF
{version}: V1.10.0 (AGAS: V3.0), Git: unknown
{boost}: V1.84.0
{build-type}: release
{date}: Aug 1 2024 10:05:34
{platform}: linux
{compiler}: GNU C++ version 9.4.0
{stdlib}: GNU libstdc++ version 20210601
{config}:
Core library:
HPX_AGAS_LOCAL_CACHE_SIZE=4096
HPX_HAVE_MALLOC=tcmalloc
HPX_PARCEL_MAX_CONNECTIONS=512
HPX_PARCEL_MAX_CONNECTIONS_PER_LOCALITY=4
HPX_PREFIX (configured)=
HPX_PREFIX=
HPX_FILESYSTEM_WITH_BOOST_FILESYSTEM_COMPATIBILITY=OFF
HPX_ITERATOR_SUPPORT_WITH_BOOST_ITERATOR_TRAVERSAL_TAG_COMPATIBILITY=OFF
HPX_WITH_AGAS_DUMP_REFCNT_ENTRIES=OFF
HPX_WITH_APEX=OFF
HPX_WITH_ASYNC_MPI=OFF
HPX_WITH_ATTACH_DEBUGGER_ON_TEST_FAILURE=OFF
HPX_WITH_AUTOMATIC_SERIALIZATION_REGISTRATION=ON
HPX_WITH_COROUTINE_COUNTERS=OFF
HPX_WITH_DISTRIBUTED_RUNTIME=ON
HPX_WITH_DYNAMIC_HPX_MAIN=ON
HPX_WITH_IO_COUNTERS=ON
HPX_WITH_IO_POOL=ON
HPX_WITH_ITTNOTIFY=OFF
HPX_WITH_LOGGING=ON
HPX_WITH_NETWORKING=ON
HPX_WITH_PAPI=OFF
HPX_WITH_PARALLEL_TESTS_BIND_NONE=OFF
HPX_WITH_PARCELPORT_ACTION_COUNTERS=OFF
HPX_WITH_PARCELPORT_COUNTERS=OFF
HPX_WITH_PARCELPORT_GASNET=OFF
HPX_WITH_PARCELPORT_LCI=ON
HPX_WITH_PARCELPORT_LIBFABRIC=OFF
HPX_WITH_PARCELPORT_MPI=OFF
HPX_WITH_PARCELPORT_TCP=ON
HPX_WITH_PARCEL_COALESCING=ON
HPX_WITH_PARCEL_PROFILING=OFF
HPX_WITH_SANITIZERS=OFF
HPX_WITH_SCHEDULER_LOCAL_STORAGE=OFF
HPX_WITH_SPINLOCK_DEADLOCK_DETECTION=OFF
HPX_WITH_STACKTRACES=ON
HPX_WITH_STACKTRACES_DEMANGLE_SYMBOLS=ON
HPX_WITH_STACKTRACES_STATIC_SYMBOLS=OFF
HPX_WITH_TESTS_DEBUG_LOG=OFF
HPX_WITH_THREAD_BACKTRACE_ON_SUSPENSION=OFF
HPX_WITH_THREAD_CREATION_AND_CLEANUP_RATES=OFF
HPX_WITH_THREAD_CUMULATIVE_COUNTS=ON
HPX_WITH_THREAD_DEBUG_INFO=OFF
HPX_WITH_THREAD_DESCRIPTION_FULL=OFF
HPX_WITH_THREAD_GUARD_PAGE=ON
HPX_WITH_THREAD_IDLE_RATES=OFF
HPX_WITH_THREAD_LOCAL_STORAGE=OFF
HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF=ON
HPX_WITH_THREAD_QUEUE_WAITTIME=OFF
HPX_WITH_THREAD_STACK_MMAP=ON
HPX_WITH_THREAD_STEALING_COUNTS=OFF
HPX_WITH_THREAD_TARGET_ADDRESS=OFF
HPX_WITH_TIMER_POOL=ON
HPX_WITH_TUPLE_RVALUE_SWAP=ON
HPX_WITH_VALGRIND=OFF
HPX_WITH_VERIFY_LOCKS=OFF
HPX_WITH_VERIFY_LOCKS_BACKTRACE=OFF
HPX_WITH_WORK_REQUESTING_SCHEDULERS=ON
Module allocator_support:
HPX_ALLOCATOR_SUPPORT_WITH_CACHING=ON
Module command_line_handling_local:
HPX_COMMAND_LINE_HANDLING_LOCAL_WITH_JSON_CONFIGURATION_FILES=OFF
Module coroutines:
HPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=OFF
HPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=OFF
Module datastructures:
HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE=ON
HPX_DATASTRUCTURES_WITH_ADAPT_STD_VARIANT=OFF
Module logging:
HPX_LOGGING_WITH_SEPARATE_DESTINATIONS=ON
Module serialization:
HPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=OFF
HPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=OFF
HPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=OFF
HPX_SERIALIZATION_WITH_BOOST_TYPES=OFF
HPX_SERIALIZATION_WITH_SUPPORTS_ENDIANESS=OFF
Module topology:
HPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=OFF
{version}: V1.10.0 (AGAS: V3.0), Git: unknown
{boost}: V1.84.0
{build-type}: release
{date}: Aug 1 2024 10:05:34
{platform}: linux
{compiler}: GNU C++ version 9.4.0
{stdlib}: GNU libstdc++ version 20210601
{stack-trace}: {stack-trace}:
{stack-trace}: 19 frames:
0x7f767087a420 : /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7f767087a420] in /lib/x86_64-linux-gnu/libpthread.so.0
0x7f7671415f6d : hpx::parcelset::policies::lci::parcelport::create_connection(hpx::parcelset::locality const&, hpx::error_code&) [0x2d] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f767142a045 : hpx::parcelset::parcelport_implhpx::parcelset::policies::lci::parcelport::get_connection_and_send_parcels(hpx::parcelset::locality const&, bool) [0x295] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f7671418673 : /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1(+0x516673) [0x7f7671418673] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f7671454a7a : hpx::parcelset::detail::parcel_await_apply(hpx::parcelset::parcel&&, hpx::function<void (std::error_code const&, hpx::parcelset::parcel const&), false>&&, unsigned int, hpx::move_only_function<void (hpx::parcelset::parcel&&, hpx::function<void (std::error_code const&, hpx::parcelset::parcel const&), false>&&), false>) [0x3fa] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f7671415a0d : hpx::parcelset::policies::lci::parcelport::send_early_parcel(hpx::parcelset::locality const&, hpx::parcelset::parcel) [0x16d] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f767153c2f7 : /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1(+0x63a2f7) [0x7f767153c2f7] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f7671454a7a : hpx::parcelset::detail::parcel_await_apply(hpx::parcelset::parcel&&, hpx::function<void (std::error_code const&, hpx::parcelset::parcel const&), false>&&, unsigned int, hpx::move_only_function<void (hpx::parcelset::parcel&&, hpx::function<void (std::error_code const&, hpx::parcelset::parcel const&), false>&&), false>) [0x3fa] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f767153de79 : void hpx::agas::big_boot_barrier::apply<hpx::actions::direct_action<void ()(hpx::agas::registration_header const&), &hpx::agas::register_worker, void>, hpx::agas::registration_header>(unsigned int, unsigned int, hpx::parcelset::locality, hpx::actions::direct_action<void ()(hpx::agas::registration_header const&), &hpx::agas::register_worker, void>, hpx::agas::registration_header&&) [0x2b9] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f767153bfa8 : hpx::agas::big_boot_barrier::wait_hosted(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, void*, void*) [0x4e8] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f7671554e0f : hpx::runtime_distributed::initialize_agas() [0x19f] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f7671557ce3 : hpx::runtime_distributed::runtime_distributed(hpx::util::runtime_configuration&, int ()(hpx::runtime_mode), void ()()) [0x17f3] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f76713f026d : hpx::detail::run_or_start(hpx::function<int (hpx::program_options::variables_map&), false> const&, int, char**, hpx::init_params const&, bool) [0x74d] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f76713f0e7c : hpx::detail::start_impl(hpx::function<int (hpx::program_options::variables_map&), false> const&, int, char**, hpx::init_params const&, char const*, char**) [0x6c] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x5591e403b7e8 : ./HpxDemo_d.elf(+0xb47e8) [0x5591e403b7e8] in ./HpxDemo_d.elf
0x5591e403b1f6 : ./HpxDemo_d.elf(+0xb41f6) [0x5591e403b1f6] in ./HpxDemo_d.elf
0x7f767034c083 : __libc_start_main [0xf3] in /lib/x86_64-linux-gnu/libc.so.6
0x5591e3fa028e : ./HpxDemo_d.elf(+0x1928e) [0x5591e3fa028e] in ./HpxDemo_d.elf
2024-08-02 09:40:26.636 - INFO - hpx demostration running...
2024-08-02 09:40:26.636 - INFO - hpx version: 1-10-0
{config}:
Core library:
HPX_AGAS_LOCAL_CACHE_SIZE=4096
HPX_HAVE_MALLOC=tcmalloc
HPX_PARCEL_MAX_CONNECTIONS=512
HPX_PARCEL_MAX_CONNECTIONS_PER_LOCALITY=4
HPX_PREFIX (configured)=
HPX_PREFIX=
HPX_FILESYSTEM_WITH_BOOST_FILESYSTEM_COMPATIBILITY=OFF
HPX_ITERATOR_SUPPORT_WITH_BOOST_ITERATOR_TRAVERSAL_TAG_COMPATIBILITY=OFF
HPX_WITH_AGAS_DUMP_REFCNT_ENTRIES=OFF
HPX_WITH_APEX=OFF
HPX_WITH_ASYNC_MPI=OFF
HPX_WITH_ATTACH_DEBUGGER_ON_TEST_FAILURE=OFF
HPX_WITH_AUTOMATIC_SERIALIZATION_REGISTRATION=ON
HPX_WITH_COROUTINE_COUNTERS=OFF
HPX_WITH_DISTRIBUTED_RUNTIME=ON
HPX_WITH_DYNAMIC_HPX_MAIN=ON
HPX_WITH_IO_COUNTERS=ON
HPX_WITH_IO_POOL=ON
HPX_WITH_ITTNOTIFY=OFF
HPX_WITH_LOGGING=ON
HPX_WITH_NETWORKING=ON
HPX_WITH_PAPI=OFF
HPX_WITH_PARALLEL_TESTS_BIND_NONE=OFF
HPX_WITH_PARCELPORT_ACTION_COUNTERS=OFF
HPX_WITH_PARCELPORT_COUNTERS=OFF
HPX_WITH_PARCELPORT_GASNET=OFF
HPX_WITH_PARCELPORT_LCI=ON
HPX_WITH_PARCELPORT_LIBFABRIC=OFF
HPX_WITH_PARCELPORT_MPI=OFF
HPX_WITH_PARCELPORT_TCP=ON
HPX_WITH_PARCEL_COALESCING=ON
HPX_WITH_PARCEL_PROFILING=OFF
HPX_WITH_SANITIZERS=OFF
HPX_WITH_SCHEDULER_LOCAL_STORAGE=OFF
HPX_WITH_SPINLOCK_DEADLOCK_DETECTION=OFF
HPX_WITH_STACKTRACES=ON
HPX_WITH_STACKTRACES_DEMANGLE_SYMBOLS=ON
HPX_WITH_STACKTRACES_STATIC_SYMBOLS=OFF
HPX_WITH_TESTS_DEBUG_LOG=OFF
HPX_WITH_THREAD_BACKTRACE_ON_SUSPENSION=OFF
HPX_WITH_THREAD_CREATION_AND_CLEANUP_RATES=OFF
HPX_WITH_THREAD_CUMULATIVE_COUNTS=ON
HPX_WITH_THREAD_DEBUG_INFO=OFF
HPX_WITH_THREAD_DESCRIPTION_FULL=OFF
HPX_WITH_THREAD_GUARD_PAGE=ON
HPX_WITH_THREAD_IDLE_RATES=OFF
HPX_WITH_THREAD_LOCAL_STORAGE=OFF
HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF=ON
HPX_WITH_THREAD_QUEUE_WAITTIME=OFF
HPX_WITH_THREAD_STACK_MMAP=ON
HPX_WITH_THREAD_STEALING_COUNTS=OFF
HPX_WITH_THREAD_TARGET_ADDRESS=OFF
HPX_WITH_TIMER_POOL=ON
HPX_WITH_TUPLE_RVALUE_SWAP=ON
HPX_WITH_VALGRIND=OFF
HPX_WITH_VERIFY_LOCKS=OFF
HPX_WITH_VERIFY_LOCKS_BACKTRACE=OFF
HPX_WITH_WORK_REQUESTING_SCHEDULERS=ON
Module allocator_support:
HPX_ALLOCATOR_SUPPORT_WITH_CACHING=ON
Module command_line_handling_local:
HPX_COMMAND_LINE_HANDLING_LOCAL_WITH_JSON_CONFIGURATION_FILES=OFF
Module coroutines:
HPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=OFF
HPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=OFF
Module datastructures:
HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE=ON
HPX_DATASTRUCTURES_WITH_ADAPT_STD_VARIANT=OFF
Module logging:
HPX_LOGGING_WITH_SEPARATE_DESTINATIONS=ON
Module serialization:
HPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=OFF
HPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=OFF
HPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=OFF
HPX_SERIALIZATION_WITH_BOOST_TYPES=OFF
HPX_SERIALIZATION_WITH_SUPPORTS_ENDIANESS=OFF
Module topology:
HPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=OFF
{version}: V1.10.0 (AGAS: V3.0), Git: unknown
{boost}: V1.84.0
{build-type}: release
{date}: Aug 1 2024 10:05:34
{platform}: linux
{compiler}: GNU C++ version 9.4.0
{stdlib}: GNU libstdc++ version 20210601
{config}:
Core library:
HPX_AGAS_LOCAL_CACHE_SIZE=4096
HPX_HAVE_MALLOC=tcmalloc
HPX_PARCEL_MAX_CONNECTIONS=512
HPX_PARCEL_MAX_CONNECTIONS_PER_LOCALITY=4
HPX_PREFIX (configured)=
HPX_PREFIX=
HPX_FILESYSTEM_WITH_BOOST_FILESYSTEM_COMPATIBILITY=OFF
HPX_ITERATOR_SUPPORT_WITH_BOOST_ITERATOR_TRAVERSAL_TAG_COMPATIBILITY=OFF
HPX_WITH_AGAS_DUMP_REFCNT_ENTRIES=OFF
HPX_WITH_APEX=OFF
HPX_WITH_ASYNC_MPI=OFF
HPX_WITH_ATTACH_DEBUGGER_ON_TEST_FAILURE=OFF
HPX_WITH_AUTOMATIC_SERIALIZATION_REGISTRATION=ON
HPX_WITH_COROUTINE_COUNTERS=OFF
HPX_WITH_DISTRIBUTED_RUNTIME=ON
HPX_WITH_DYNAMIC_HPX_MAIN=ON
HPX_WITH_IO_COUNTERS=ON
HPX_WITH_IO_POOL=ON
HPX_WITH_ITTNOTIFY=OFF
HPX_WITH_LOGGING=ON
HPX_WITH_NETWORKING=ON
HPX_WITH_PAPI=OFF
HPX_WITH_PARALLEL_TESTS_BIND_NONE=OFF
HPX_WITH_PARCELPORT_ACTION_COUNTERS=OFF
HPX_WITH_PARCELPORT_COUNTERS=OFF
HPX_WITH_PARCELPORT_GASNET=OFF
HPX_WITH_PARCELPORT_LCI=ON
HPX_WITH_PARCELPORT_LIBFABRIC=OFF
HPX_WITH_PARCELPORT_MPI=OFF
HPX_WITH_PARCELPORT_TCP=ON
HPX_WITH_PARCEL_COALESCING=ON
HPX_WITH_PARCEL_PROFILING=OFF
HPX_WITH_SANITIZERS=OFF
HPX_WITH_SCHEDULER_LOCAL_STORAGE=OFF
HPX_WITH_SPINLOCK_DEADLOCK_DETECTION=OFF
HPX_WITH_STACKTRACES=ON
HPX_WITH_STACKTRACES_DEMANGLE_SYMBOLS=ON
HPX_WITH_STACKTRACES_STATIC_SYMBOLS=OFF
HPX_WITH_TESTS_DEBUG_LOG=OFF
HPX_WITH_THREAD_BACKTRACE_ON_SUSPENSION=OFF
HPX_WITH_THREAD_CREATION_AND_CLEANUP_RATES=OFF
HPX_WITH_THREAD_CUMULATIVE_COUNTS=ON
HPX_WITH_THREAD_DEBUG_INFO=OFF
HPX_WITH_THREAD_DESCRIPTION_FULL=OFF
HPX_WITH_THREAD_GUARD_PAGE=ON
HPX_WITH_THREAD_IDLE_RATES=OFF
HPX_WITH_THREAD_LOCAL_STORAGE=OFF
HPX_WITH_THREAD_MANAGER_IDLE_BACKOFF=ON
HPX_WITH_THREAD_QUEUE_WAITTIME=OFF
HPX_WITH_THREAD_STACK_MMAP=ON
HPX_WITH_THREAD_STEALING_COUNTS=OFF
HPX_WITH_THREAD_TARGET_ADDRESS=OFF
HPX_WITH_TIMER_POOL=ON
HPX_WITH_TUPLE_RVALUE_SWAP=ON
HPX_WITH_VALGRIND=OFF
HPX_WITH_VERIFY_LOCKS=OFF
HPX_WITH_VERIFY_LOCKS_BACKTRACE=OFF
HPX_WITH_WORK_REQUESTING_SCHEDULERS=ON
Module allocator_support:
HPX_ALLOCATOR_SUPPORT_WITH_CACHING=ON
Module command_line_handling_local:
HPX_COMMAND_LINE_HANDLING_LOCAL_WITH_JSON_CONFIGURATION_FILES=OFF
Module coroutines:
HPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=OFF
HPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=OFF
Module datastructures:
HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE=ON
HPX_DATASTRUCTURES_WITH_ADAPT_STD_VARIANT=OFF
Module logging:
HPX_LOGGING_WITH_SEPARATE_DESTINATIONS=ON
Module serialization:
HPX_SERIALIZATION_WITH_ALLOW_CONST_TUPLE_MEMBERS=OFF
HPX_SERIALIZATION_WITH_ALLOW_RAW_POINTER_SERIALIZATION=OFF
HPX_SERIALIZATION_WITH_ALL_TYPES_ARE_BITWISE_SERIALIZABLE=OFF
HPX_SERIALIZATION_WITH_BOOST_TYPES=OFF
HPX_SERIALIZATION_WITH_SUPPORTS_ENDIANESS=OFF
Module topology:
HPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=OFF
{version}: V1.10.0 (AGAS: V3.0), Git: unknown
{boost}: V1.84.0
{build-type}: release
{date}: Aug 1 2024 10:05:34
{platform}: linux
{compiler}: GNU C++ version 9.4.0
{stdlib}: GNU libstdc++ version 20210601
{stack-trace}: {stack-trace}: 10 frames:
0x7f2c8771f420 : /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7f2c8771f420] in /lib/x86_64-linux-gnu/libpthread.so.0
0x7f2c882d20a6 : /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1(+0x52b0a6) [0x7f2c882d20a6] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f2c882bb48b : hpx::parcelset::policies::lci::parcelport::io_service_work() [0x3b] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f2c882bf810 : /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1(+0x518810) [0x7f2c882bf810] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f2c882e3ed8 : asio::detail::scheduler::run(std::error_code&) [0x518] in /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
0x7f2c87bf3948 : hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const [0xa8] in /usr/local/lib/Skillwon/Hpx/lib/libhpx_core.so
0x7f2c875ffdf4 : /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6df4) [0x7f2c875ffdf4] in /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0x7f2c87713609 : /lib/x86_64-linux-gnu/libpthread.so.0(+0x8609) [0x7f2c87713609] in /lib/x86_64-linux-gnu/libpthread.so.0
0x7f2c872ec353 : clone [0x43] in /lib/x86_64-linux-gnu/libc.so.6
Process 1 failed with an unexpected error code of -11 (expected 0)
Process 0 failed with an unexpected error code of -11 (expected 0) Here is the gdb debug information: gdb ./HpxDemo_d.elf
(gdb) set args --hpx:localities=2 --hpx:agas=192.168.199.219:7910 --hpx:hpx=192.168.199.219:7910
(gdb) run
Starting program: /path/to/bin/debug/HpxDemo_d.elf --hpx:localities=2 --hpx:agas=192.168.199.219:7910 --hpx:hpx=192.168.199.219:7910
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff6978700 (LWP 237858)]
2024-08-02 10:03:50.330 - INFO - hpx demostration running...
2024-08-02 10:03:50.330 - INFO - hpx version: 1-10-0
2024-08-02 10:03:50.330 - INFO - hpx version string: 1.10.0
[New Thread 0x7ffff6777700 (LWP 237859)]
[New Thread 0x7ffff5f76700 (LWP 237860)]
Thread 3 "HpxDemo_d.elf" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff6777700 (LWP 237859)]
0x00007ffff7ca20a6 in hpx::parcelset::policies::lci::sender_base::background_work(unsigned long) () from /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
(gdb) bt
#0 0x00007ffff7ca20a6 in hpx::parcelset::policies::lci::sender_base::background_work(unsigned long) () from /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
#1 0x00007ffff7c8b48b in hpx::parcelset::policies::lci::parcelport::io_service_work() () from /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
#2 0x00007ffff7c8f810 in asio::detail::completion_handler<hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport>, asio::io_context::basic_executor_type<std::allocator, 0ul> >::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long) () from /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
#3 0x00007ffff7cb3ed8 in asio::detail::scheduler::run(std::error_code&) () from /usr/local/lib/Skillwon/Hpx/lib/libhpx.so.1
#4 0x00007ffff75c3948 in hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const () from /usr/local/lib/Skillwon/Hpx/lib/libhpx_core.so
#5 0x00007ffff6fcfdf4 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff70e3609 in start_thread (arg=) at pthread_create.c:477
#7 0x00007ffff6cbc353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Am I using it incorrectly? How should I use LCI in an HPX-based application? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 37 replies
-
gdb information(build hpx with debug): Thread 3 "HpxDemo_d.elf" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5571700 (LWP 652998)]
0x00007ffff7737f15 in hpx::parcelset::policies::lci::sender_base::background_work (this=0x0) at /home/skillwon/Work/3rdParty/hpx-1.10.0/libs/full/parcelport_lci/src/sender_base.cpp:35
35 auto completion_manager_p = pp_->get_tls_device().completion_manager_p;
(gdb) where
#0 0x00007ffff7737f15 in hpx::parcelset::policies::lci::sender_base::background_work (this=0x0) at /home/skillwon/Work/3rdParty/hpx-1.10.0/libs/full/parcelport_lci/src/sender_base.cpp:35
#1 0x00007ffff77000a7 in hpx::parcelset::policies::lci::parcelport::io_service_work (this=0x555555f50000) at /home/skillwon/Work/3rdParty/hpx-1.10.0/libs/full/parcelport_lci/src/parcelport_lci.cpp:266
#2 0x00007ffff772d396 in hpx::util::detail::invoke_mem_fun<void (), hpx::parcelset::policies::lci::parcelport>::operator()<hpx::parcelset::policies::lci::parcelport*&>(hpx::parcelset::policies::lci::parcelport*&) const (this=0x7ffff556ca80,
t1=@0x7ffff556cc30: 0x555555f50000) at /home/skillwon/Work/3rdParty/hpx-1.10.0/libs/core/tag_invoke/include/hpx/functional/detail/invoke.hpp:110
#3 0x00007ffff772bddf in hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*>::operator()<>() & (this=0x7ffff556cc20)
at /home/skillwon/Work/3rdParty/hpx-1.10.0/libs/core/functional/include/hpx/functional/bind.hpp:187
#4 0x00007ffff77288a4 in asio::asio_handler_invoke<hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*> > (function=...)
at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/handler_invoke_hook.hpp:87
#5 0x00007ffff7724488 in asio_handler_invoke_helpers::invoke<hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*>, hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*> > (function=..., context=...) at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/detail/handler_invoke_helpers.hpp:54
#6 0x00007ffff771f262 in asio::detail::handler_work<hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*>, asio::io_context::basic_executor_type<std::allocator<void>, 0ul>, void>::complete<hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*> > (this=0x7ffff556cbf6, function=..., handler=...)
at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/detail/handler_work.hpp:523
#7 0x00007ffff77195f7 in asio::detail::completion_handler<hpx::detail::bound<void (hpx::parcelset::policies::lci::parcelport::*)(), hpx::util::pack_c<unsigned long, 0ul>, hpx::parcelset::policies::lci::parcelport*>, asio::io_context::basic_executor_type<std::allocator<void>, 0ul> >::do_complete (owner=0x555555f18b00, base=0x555555f575c0) at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/detail/completion_handler.hpp:73
#8 0x00007ffff6778db4 in asio::detail::scheduler_operation::complete (this=0x555555f575c0, owner=0x555555f18b00, Python Exception <class 'gdb.error'> Couldn't find method std::_V2::error_category::name:
ec=, bytes_transferred=0) at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/detail/scheduler_operation.hpp:39
#9 0x00007ffff677b53b in asio::detail::scheduler::do_run_one (this=0x555555f18b00, lock=..., this_thread=..., Python Exception <class 'gdb.error'> Couldn't find method std::_V2::error_category::name:
ec=) at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/detail/impl/scheduler.ipp:492
#10 0x00007ffff677afa3 in asio::detail::scheduler::run (this=0x555555f18b00, Python Exception <class 'gdb.error'> Couldn't find method std::_V2::error_category::name:
ec=) at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/detail/impl/scheduler.ipp:209
#11 0x00007ffff6847a60 in asio::io_context::run (this=0x555555e88610) at /home/skillwon/Work/3rdParty/asio-1.28.1/include/asio/impl/io_context.ipp:63
#12 0x00007ffff68463f8 in hpx::util::io_service_pool::thread_run (this=0x555555f500c8, index=0, startup=0x0) at /home/skillwon/Work/3rdParty/hpx-1.10.0/libs/core/io_service/src/io_service_pool.cpp:105
#13 0x00007ffff684cc70 in std::__invoke_impl<void, void (hpx::util::io_service_pool::*)(unsigned long, hpx::util::barrier*) const, hpx::util::io_service_pool*, unsigned long, hpx::util::barrier*> (__f=
@0x555555f3aaa0: (void (hpx::util::io_service_pool::*)(const hpx::util::io_service_pool * const, unsigned long, hpx::util::barrier *)) 0x7ffff6846372 <hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const>,
__t=@0x555555f3aa98: 0x555555f500c8) at /usr/include/c++/9/bits/invoke.h:73
#14 0x00007ffff684cb08 in std::__invoke<void (hpx::util::io_service_pool::*)(unsigned long, hpx::util::barrier*) const, hpx::util::io_service_pool*, unsigned long, hpx::util::barrier*> (__fn=
@0x555555f3aaa0: (void (hpx::util::io_service_pool::*)(const hpx::util::io_service_pool * const, unsigned long, hpx::util::barrier *)) 0x7ffff6846372 <hpx::util::io_service_pool::thread_run(unsigned long, hpx::util::barrier*) const>)
at /usr/include/c++/9/bits/invoke.h:95
#15 0x00007ffff684c9e7 in std::thread::_Invoker<std::tuple<void (hpx::util::io_service_pool::*)(unsigned long, hpx::util::barrier*) const, hpx::util::io_service_pool*, unsigned long, hpx::util::barrier*> >::_M_invoke<0ul, 1ul, 2ul, 3ul> (this=0x555555f3aa88)
at /usr/include/c++/9/thread:244
#16 0x00007ffff684c966 in std::thread::_Invoker<std::tuple<void (hpx::util::io_service_pool::*)(unsigned long, hpx::util::barrier*) const, hpx::util::io_service_pool*, unsigned long, hpx::util::barrier*> >::operator() (this=0x555555f3aa88)
at /usr/include/c++/9/thread:251
#17 0x00007ffff684c946 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (hpx::util::io_service_pool::*)(unsigned long, hpx::util::barrier*) const, hpx::util::io_service_pool*, unsigned long, hpx::util::barrier*> > >::_M_run (this=0x555555f3aa80)
at /usr/include/c++/9/thread:195
#18 0x00007ffff5ff5df4 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#19 0x00007ffff6109609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#20 0x00007ffff5ce2353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 |
Beta Was this translation helpful? Give feedback.
-
Tagging @JiakunYan |
Beta Was this translation helpful? Give feedback.
-
@phil-skillwon Thanks for reporting the error! The cause is that
The io service pool is started here (inside In my understanding
Second thoughts: Also, could you let me know whether you enabled |
Beta Was this translation helpful? Give feedback.
@phil-skillwon Sorry for the delay. I am on a road trip right now.
Could you try this PR to see whether it works for you? For now, you need to manually select the GID index for specifying the env var
LCI_IBV_GID_IDX
. GID auto selection will come later.