Skip to content

MLIR :: mlir-runner/async-error.mlir etc. FAIL on Solaris/x86_64 #175171

@rorth

Description

@rorth

Several mlir-runner/async-* tests FAIL on Solaris/x86_64:

  MLIR :: mlir-runner/async-error.mlir
  MLIR :: mlir-runner/async-func.mlir
  MLIR :: mlir-runner/async-group.mlir
  MLIR :: mlir-runner/async-value.mlir
  MLIR :: mlir-runner/async.mlir

E.g.

# executed command: /var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/bin/mlir-runner -e main -entry-point-result=void -O0 -shared-libs=/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_c_runner_utils.so -shared-libs=/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_runner_utils.so -shared-libs=/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
# .---command stderr------------             
# | terminate called after throwing an instance of 'std::system_error'
# |   what():  Unknown error
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
# | 0  mlir-runner                      0x00000000014616fb llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
# | 1  mlir-runner                      0x000000000145fceb llvm::sys::RunSignalHandlers() + 283
# | 2  mlir-runner                      0x0000000001461d8e llvm::sys::PrintStackTraceOnErrorSignal(llvm::StringRef, bool) + 654
# | 3  libc.so.1                        0x00007fffbe35aa76 __sighndlr + 6
# | 4  libc.so.1                        0x00007fffbe34b8ff call_user_handler + 815
# | 5  libc.so.1                        0x00007fffbe36189a __lwp_sigqueue + 10
# | 6  libc.so.1                        0x00007fffbe2978ac raise + 28
# | 7  libc.so.1                        0x00007fffbe25eb86 abort + 182
# | 8  libstdc++.so.6.0.34              0x00007fffbb17ae3f __gnu_cxx::__verbose_terminate_handler() (.cold) + 101
# | 9  libstdc++.so.6.0.34              0x00007fffbb177e56 __cxxabiv1::__terminate(void (*)()) + 6
# | 10 libstdc++.so.6.0.34              0x00007fffbb177eac std::terminate() + 17
# | 11 libstdc++.so.6.0.34              0x00007fffbb1780fc __cxa_rethrow.cold + 0
# | 12 libstdc++.so.6.0.34              0x00007fffbb1b01a0 std::__throw_system_error(int) + 135
# | 13 libmlir_async_runtime.so.22.0git 0x00007fffafe680e6 __gthread_trigger() + 2086
# | 14 libmlir_async_runtime.so.22.0git 0x00007fffafe6860c __gthread_trigger() + 3404
# | 15 libmlir_async_runtime.so.22.0git 0x00007fffafe68776 __gthread_trigger() + 3766
# | 16 mlir-runner                      0x0000000005a2f3f1 llvm::StdThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) + 833
# | 17 mlir-runner                      0x0000000005a31d34 std::deque<std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>, std::allocator<std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>>>::_M_destroy_data_aux(std::_Deque_iterator<std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>, std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>&, std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>*>, std::_Deque_iterator<std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>, std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>&, std::pair<llvm::unique_function<void ()>, llvm::ThreadPoolTaskGroup*>*>) + 612
# | 18 libc.so.1                        0x00007fffbe35a623 _thrp_setup + 179
# | 19 libc.so.1                        0x00007fffbe35a950 _lwp_start + 0
# `-----------------------------
# error: command failed with exit status: -6

  from mlir/test/mlir-runner/async-value.mlir

/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/bin/mlir-opt /vol/llvm/src/llvm-project/dist/mlir/test/mlir-runner/async-value.mlir '-pass-pipeline=builtin.module(async-to-async-runtime,func.func(async-runtime-ref-counting,async-runtime-ref-counting-opt),convert-async-to-llvm,func.func(convert-arith-to-llvm),convert-vector-to-llvm,finalize-memref-to-llvm,convert-func-to-llvm,convert-cf-to-llvm,reconcile-unrealized-casts)' > async-value.out
/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/bin/mlir-runner -e main -entry-point-result=void -O0 -shared-libs=/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_c_runner_utils.so -shared-libs=/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_runner_utils.so -shared-libs=/var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so < async-value.out

#0  0x00007fffbe36189a in __lwp_sigqueue () from /lib/64/libc.so.1
#1  0x00007fffbe357c92 in thr_kill () from /lib/64/libc.so.1
#2  0x00007fffbe2978ac in raise () from /lib/64/libc.so.1
#3  0x00007fffbe25eb86 in abort () from /lib/64/libc.so.1
#4  0x00007fffbb17ae3f in __gnu_cxx::__verbose_terminate_handler ()
    at /builds/ulhg/mrcarson-trunk_208/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/vterminate.cc:95
#5  0x00007fffbb177e56 in __cxxabiv1::__terminate (handler=<optimized out>)
    at /builds/ulhg/mrcarson-trunk_208/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:48
#6  0x00007fffbb177eac in std::terminate ()
    at /builds/ulhg/mrcarson-trunk_208/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:58
#7  0x00007fffbb1780fc in __cxxabiv1::__cxa_throw (obj=<optimized out>, 
    tinfo=0x7fffbb3c7dd0 <typeinfo for std::system_error>, 
    dest=0x7fffbb1affd0 <std::system_error::~system_error()>)
    at /builds/ulhg/mrcarson-trunk_208/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/eh_throw.cc:98
#8  0x00007fffbb1b01a0 in std::__throw_system_error (__i=-1)
    at /builds/ulhg/mrcarson-trunk_208/components/gcc15/gcc-15.2.0/libstdc++-v3/src/c++11/system_error.cc:599
#9  0x00007fffafe680e6 in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) ()
   from /var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
#10 0x00007fffafe6860c in std::__future_base::_Deferred_state<std::thread::_Invoker<std::tuple<llvm::unique_function<void ()> > >, void>::_M_complete_async()
    ()
   from /var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
#11 0x00007fffafe68776 in std::__future_base::_State_baseV2::wait() ()
   from /var/llvm/dist-amd64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
#12 0x0000000005a2f3f1 in llvm::StdThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) ()
#13 0x0000000005a31d34 in void* llvm::thread::ThreadProxy<std::tuple<llvm::StdThreadPool::grow(int)::$_0> >(void*) ()
#14 0x00007fffbe35a623 in _thrp_setup () from /lib/64/libc.so.1
#15 0x00007fffbe35a950 in ?? () from /lib/64/libc.so.1
#16 0x0000000000000000 in ?? ()

Can be reproduced with

bin/mlir-runner -e main -entry-point-result=void -O0 -shared-libs=lib/libmlir_c_runner_utils.so -shared-libs=lib/libmlir_runner_utils.so -shared-libs=lib/libmlir_async_runtime.so < async-value.out

gdb shows

Thread 11 received signal SIGABRT, Aborted.
[Switching to Thread 9 (LWP 9)]
0x00007fffbf2618aa in __lwp_sigqueue () from /lib/64/libc.so.1
(gdb) bt
#0  0x00007fffbf2618aa in __lwp_sigqueue () from /lib/64/libc.so.1
#1  0x00007fffbf257ca2 in thr_kill () from /lib/64/libc.so.1
#2  0x00007fffbf1978bc in raise () from /lib/64/libc.so.1
#3  0x00007fffbf15eb86 in abort () from /lib/64/libc.so.1
#4  0x00007fffbae7ae3f in __gnu_cxx::__verbose_terminate_handler ()
    at /builds/ulhg/jenkins-nightly_212/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/vterminate.cc:95
#5  0x00007fffbae77e56 in __cxxabiv1::__terminate (handler=<optimized out>)
    at /builds/ulhg/jenkins-nightly_212/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:48
#6  0x00007fffbae77eac in std::terminate ()
    at /builds/ulhg/jenkins-nightly_212/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:58
#7  0x00007fffbae780fc in __cxxabiv1::__cxa_throw (obj=<optimized out>, 
    tinfo=0x7fffbb0c7dd0 <typeinfo for std::system_error>, 
    dest=0x7fffbaeaffd0 <std::system_error::~system_error()>)
    at /builds/ulhg/jenkins-nightly_212/components/gcc15/gcc-15.2.0/libstdc++-v3/libsupc++/eh_throw.cc:98
#8  0x00007fffbaeb01a0 in std::__throw_system_error (__i=-1)
    at /builds/ulhg/jenkins-nightly_212/components/gcc15/gcc-15.2.0/libstdc++-v3/src/c++11/system_error.cc:599
#9  0x00007fff9d2a8f06 in std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool) ()
   from /var/llvm/local-x86_64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
#10 0x00007fff9d2a942c in std::__future_base::_Deferred_state<std::thread::_Invoker<std::tuple<llvm::unique_function<void ()> > >, void>::_M_complete_async()
    ()
   from /var/llvm/local-x86_64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
#11 0x00007fff9d2a9596 in std::__future_base::_State_baseV2::wait() ()
   from /var/llvm/local-x86_64-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/libmlir_async_runtime.so
#12 0x0000000008d7f20f in llvm::StdThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) ()
#13 0x0000000008d81c04 in void* llvm::thread::ThreadProxy<std::tuple<llvm::StdThreadPool::grow(int)::$_0> >(void*) ()
#14 0x00007fffbf25a633 in _thrp_setup () from /lib/64/libc.so.1
#15 0x00007fffbf25a960 in ?? () from /lib/64/libc.so.1
#16 0x0000000000000000 in ?? ()

I have no idea where even to start looking.

In contrast, the tests are UNSUPPORTED on Solaris/sparcv9.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Needs Fix

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions