-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MinimalWindowManagerTest failures #3470
Comments
My guess is that this is less of a race condition and more of an inability to shutdown some times |
Hmmm on my Nvidia card, I can't shutdown! Maybe this is related...? I am failing to join client runners when I stop miral-shell it seems. The culprit is the spinner because the spinner is crashing on my Nvidia card... To be honest, this is probably unrelated, but this is very annoying |
This isn't just riscv64 This is on armhf
This is on riscv64
|
Looks like this was infra trouble, we're now down to |
I feel we're just being lucky with racy/undefined behaviour on most platforms. |
I'm starting to think this has the same underlying cause as #3443, which we decided to ignore and skipped the tests in LP… |
I. Caught. The. Damn. Thing. @mattkae you were right to think it's shutdown. gdb.txt(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ff68fdb3020 (LWP 821339) "mir_window_mana" 0x00007ff690cd2626 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7fffcca79128, op=137, expected=0, futex_word=0x555f61a19200) at ./nptl/futex-internal.c:57
2 Thread 0x7ff68e7fffe0 (LWP 822025) "mtf/AsyncServer" 0x00007ff690d20776 in __GI___libc_write (nbytes=90, buf=0x555f61a18060, fd=<optimized out>) at ../sysdeps/unix/sysv/linux/write.c:26
3 Thread 0x7ff68ddfffe0 (LWP 821366) "gmain" 0x00007ff690d1fbaa in __GI___poll (fds=0x7ff67802c920, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
4 Thread 0x7ff68f1fffe0 (LWP 821348) "mir_window_-ust" syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140696975937536, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
5 Thread 0x7ff68fbfffe0 (LWP 821347) "mir_window_-ust" syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140696975941632, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
(gdb) bt full
#0 0x00007ff690cd2626 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7fffcca79128, op=137, expected=0, futex_word=0x555f61a19200) at ./nptl/futex-internal.c:57
__a7 = 98
__a1 = 137
__a3 = 140736626921768
__a5 = 4294967295
__a0 = 93868148232704
__a2 = 0
__a4 = 0
_arg0 = 93868148232704
_arg2 = 0
_arg4 = 0
_sys_result = <optimized out>
_arg1 = 137
_arg3 = 140736626921768
_arg5 = 4294967295
sc_cancel_oldtype = 0
sc_ret = <optimized out>
#1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x555f61a19200, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7fffcca79128, private=private@entry=0, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
err = <optimized out>
clockbit = 0
op = 137
#2 0x00007ff690cd2660 in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x555f61a19200, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7fffcca79128, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff690cd4c78 in __pthread_cond_wait_common (abstime=0x7fffcca79128, clockid=1, mutex=0x555f61a191b0, cond=0x555f61a191d8) at ./nptl/pthread_cond_wait.c:503
spin = 0
buffer = {__routine = 0x7ff690cd450c <__condvar_cleanup_waiting>, __arg = 0x7fffcca79088, __canceltype = -1857523704, __prev = 0x0}
cbuffer = {wseq = 0, cond = 0x555f61a191d8, mutex = 0x555f61a191b0, private = 0}
err = <optimized out>
g = 0
flags = <optimized out>
g1_start = <optimized out>
maxspin = 0
signals = <optimized out>
result = 0
wseq = 0
seq = 0
private = 0
maxspin = <optimized out>
err = <optimized out>
result = <optimized out>
wseq = <optimized out>
g = <optimized out>
seq = <optimized out>
flags = <optimized out>
private = <optimized out>
signals = <optimized out>
done = <optimized out>
g1_start = <optimized out>
spin = <optimized out>
buffer = {__routine = <optimized out>, __arg = <optimized out>, __canceltype = <optimized out>, __prev = <optimized out>}
cbuffer = {wseq = <optimized out>, cond = <optimized out>, mutex = <optimized out>, private = <optimized out>}
s = <optimized out>
#4 ___pthread_cond_clockwait64 (abstime=0x7fffcca79128, clockid=1, mutex=0x555f61a191b0, cond=0x555f61a191d8) at ./nptl/pthread_cond_wait.c:691
#5 ___pthread_cond_clockwait64 (cond=0x555f61a191d8, mutex=0x555f61a191b0, clockid=1, abstime=0x7fffcca79128) at ./nptl/pthread_cond_wait.c:679
#6 0x0000555f5c42a510 in std::__condvar::wait_until (__abs_time=..., __clock=1, __m=..., this=0x555f61a191d8) at /usr/include/c++/13/bits/std_mutex.h:185
#7 std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__lock=<synthetic pointer>..., __atime=<optimized out>, this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:203
__s = Python Exception <class 'gdb.error'>: value has been optimized out
__ns = std::chrono::duration = { <optimized out>ns }
__ts = {tv_sec = 330960, tv_nsec = 502329021}
__s = Python Exception <class 'gdb.error'>: value has been optimized out
__ns = std::chrono::duration = { <optimized out>ns }
__ts = {tv_sec = <optimized out>, tv_nsec = <optimized out>}
#8 std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__atime=<optimized out>, __lock=<synthetic pointer>..., this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:113
#9 std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> >, mir_test_framework::AsyncServerRunner::start_server()::<lambda()> > (__p=..., __atime=<optimized out>, __lock=<synthetic pointer>..., this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:154
#10 std::condition_variable::wait_for<long int, std::ratio<1>, mir_test_framework::AsyncServerRunner::start_server()::<lambda()> > (__rtime=<synthetic pointer>std::chrono::duration = { 20s }, __p=..., __lock=<synthetic pointer>..., this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:177
#11 mir_test_framework::AsyncServerRunner::start_server (this=this@entry=0x555f61a19160) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/async_server_runner.cpp:142
t = {thread = {_M_id = {_M_thread = 140696929435616}}}
lock = {_M_device = <optimized out>, _M_owns = <optimized out>}
#12 0x0000555f5c4230fa in mir_test_framework::HeadlessInProcessServer::SetUp (this=this@entry=0x555f61a19150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/headless_in_process_server.cpp:28
#13 0x0000555f5c425674 in mir_test_framework::WindowManagementTestHarness::SetUp (this=0x555f61a19150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/window_management_test_harness.cpp:117
policy = {builder = {<std::_Maybe_unary_or_binary_function<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> >, miral::WindowManagerTools const&>> = {<std::unary_function<miral::WindowManagerTools const&, std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> > >> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x555f61a19150, _M_const_object = 0x555f61a19150, _M_function_pointer = 0x555f61a19150, _M_member_pointer = (void (std::_Undefined_class::*)(class std::_Undefined_class * const)) 0x555f61a19150}, _M_pod_data = "P\221\241a_U\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x555f5c4254aa <std::_Function_handler<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> >(const miral::WindowManagerTools&), mir_test_framework::WindowManagementTestHarness::SetUp()::<lambda(const miral::WindowManagerTools&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x555f5c4254e0 <std::_Function_handler<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> >(const miral::WindowManagerTools&), mir_test_framework::WindowManagementTestHarness::SetUp()::<lambda(const miral::WindowManagerTools&)> >::_M_invoke(const std::_Any_data &, const miral::WindowManagerTools &)>}}
fake_display = std::unique_ptr<mir::test::doubles::FakeDisplay> = {get() = 0x0}
#14 0x0000555f5c45ed92 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#15 0x0000555f5c45158e in testing::Test::Run() ()
#16 0x0000555f5c451724 in testing::TestInfo::Run() ()
#17 0x0000555f5c45192e in testing::TestSuite::Run() ()
#18 0x0000555f5c4576e8 in testing::internal::UnitTestImpl::RunAllTests() ()
#19 0x0000555f5c45f22e in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#20 0x0000555f5c4519e8 in testing::UnitTest::Run() ()
#21 0x0000555f5c419f16 in RUN_ALL_TESTS () at /usr/include/gtest/gtest.h:2317
#22 mir_test_framework::main (argc=argc@entry=2, argv=argv@entry=0x7fffcca797f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/command_line_server_configuration.cpp:59
#23 0x0000555f5c419e92 in main (argc=2, argv=0x7fffcca797f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/main.cpp:30
path = "./tests/mir_test_framework/main.cpp"
(gdb) t a a bt
Thread 5 (Thread 0x7ff68fbfffe0 (LWP 821347) "mir_window_-ust"):
#0 syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140696975941632, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
#1 0x00007ff69098b3ea in lttng_ust_futex (val3=0, uaddr2=0x0, timeout=0x0, val=0, op=0, uaddr=0x7ff69145a000) at ../../../src/lib/lttng-ust/futex.h:56
#2 lttng_ust_futex_async (op=0, val=0, timeout=0x0, uaddr2=0x0, val3=0, uaddr=0x7ff69145a000) at ../../../src/lib/lttng-ust/futex.h:88
#3 wait_for_sessiond (sock_info=0x7ff6909f3068 <global_apps>) at lttng-ust-comm.c:1761
#4 ust_listener_thread (arg=0x7ff6909f3068 <global_apps>) at lttng-ust-comm.c:1832
#5 0x00007ff690cd50f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#6 0x00007ff690d27908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 4 (Thread 0x7ff68f1fffe0 (LWP 821348) "mir_window_-ust"):
#0 syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140696975937536, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
#1 0x00007ff69098b3ea in lttng_ust_futex (val3=0, uaddr2=0x0, timeout=0x0, val=0, op=0, uaddr=0x7ff691459000) at ../../../src/lib/lttng-ust/futex.h:56
#2 lttng_ust_futex_async (op=0, val=0, timeout=0x0, uaddr2=0x0, val3=0, uaddr=0x7ff691459000) at ../../../src/lib/lttng-ust/futex.h:88
#3 wait_for_sessiond (sock_info=0x7ff6909f1010 <local_apps>) at lttng-ust-comm.c:1761
#4 ust_listener_thread (arg=0x7ff6909f1010 <local_apps>) at lttng-ust-comm.c:1832
#5 0x00007ff690cd50f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#6 0x00007ff690d27908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 3 (Thread 0x7ff68ddfffe0 (LWP 821366) "gmain"):
#0 0x00007ff690d1fbaa in __GI___poll (fds=0x7ff67802c920, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
#1 0x00007ff690660380 in g_main_context_poll_unlocked (priority=<optimized out>, n_fds=2, fds=0x7ff67802c920, timeout=<optimized out>, context=0x7ff67802c6e0) at ../../../glib/gmain.c:4521
#2 g_main_context_iterate_unlocked (context=context@entry=0x7ff67802c6e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4212
#3 0x00007ff6906608be in g_main_context_iteration (context=0x7ff67802c6e0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4282
#4 0x00007ff690660904 in glib_worker_main (data=<optimized out>) at ../../../glib/gmain.c:6442
#5 0x00007ff690684ca8 in g_thread_proxy (data=0x7ff678029e30) at ../../../glib/gthread.c:835
#6 0x00007ff690cd50f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#7 0x00007ff690d27908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 2 (Thread 0x7ff68e7fffe0 (LWP 822025) "mtf/AsyncServer"):
#0 0x00007ff690d20776 in __GI___libc_write (nbytes=90, buf=0x555f61a18060, fd=<optimized out>) at ../sysdeps/unix/sysv/linux/write.c:26
#1 __GI___libc_write (fd=<optimized out>, buf=buf@entry=0x555f61a18060, nbytes=nbytes@entry=90) at ../sysdeps/unix/sysv/linux/write.c:24
#2 0x00007ff690ccf11a in _IO_new_file_write (f=0x7ff690dd7400 <_IO_2_1_stdout_>, data=0x555f61a18060, n=90) at ./libio/fileops.c:1181
#3 0x00007ff690ccda7e in new_do_write (fp=0x7ff690dd7400 <_IO_2_1_stdout_>, data=0x555f61a18060 "[2024-09-02 14:21:44.828336] <information> mirserver: (Unsupported by system environment)\nersion 2.18.0)\n18.0)\n42968d/build-riscv64/bin/../lib/server-modules/graphics-dummy.so\nic.so.22\n2\n", to_do=to_do@entry=90) at ./libio/libioP.h:1030
#4 0x00007ff690cce5be in _IO_new_do_write (fp=<optimized out>, data=<optimized out>, to_do=90) at ./libio/fileops.c:426
#5 0x00007ff690cceafe in _IO_new_file_sync (fp=0x7ff690dd7400 <_IO_2_1_stdout_>) at ./libio/fileops.c:799
#6 0x00007ff690cc4ef8 in __GI__IO_fflush (fp=0x7ff690dd7400 <_IO_2_1_stdout_>) at ./libio/libioP.h:1030
#7 0x00007ff690b188dc in std::basic_streambuf<char, std::char_traits<char> >::pubsync (this=<optimized out>) at /build/gcc-14-WnJGgd/gcc-14-14-20240412/build/riscv64-linux-gnu/libstdc++-v3/include/streambuf:278
#8 std::basic_ostream<char, std::char_traits<char> >::flush (this=0x7ff690c1ade0 <std::cout>) at /build/gcc-14-WnJGgd/gcc-14-14-20240412/build/riscv64-linux-gnu/libstdc++-v3/include/bits/ostream.tcc:237
#9 0x00007ff6912f41ec in std::flush<char, std::char_traits<char> > (__os=<optimized out>) at /usr/include/c++/13/ostream:758
#10 std::endl<char, std::char_traits<char> > (__os=<optimized out>) at /usr/include/c++/13/ostream:736
#11 std::basic_ostream<char, std::char_traits<char> >::operator<< (__pf=<optimized out>, this=<optimized out>) at /usr/include/c++/13/ostream:115
#12 mir::logging::format_message (out=<optimized out>, severity=<optimized out>, message="(Unsupported by system environment)", component="mirserver") at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/logging/logger.cpp:103
#13 0x00007ff6912f2368 in mir::logging::MultiLogger::log (this=<optimized out>, severity=mir::logging::Severity::informational, message="(Unsupported by system environment)", component="mirserver") at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/logging/multi_logger.cpp:33
#14 0x00007ff6912f3e4e in mir::logging::log (severity=severity@entry=mir::logging::Severity::informational, message="(Unsupported by system environment)", component="mirserver") at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/logging/logger.cpp:61
#15 0x00007ff6912eb2ce in mir::logv (sev=sev@entry=mir::logging::Severity::informational, component=component@entry=0x7ff6910a2498 "mirserver", fmt=fmt@entry=0x7ff6910a6f30 "(Unsupported by system environment)", va=va@entry=0x7ff68e7fea18) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/log.cpp:37
#16 0x00007ff690f692fa in mir::(anonymous namespace)::log_info (fmt=fmt@entry=0x7ff6910a6f30 "(Unsupported by system environment)") at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/include/common/mir/log.h:65
#17 0x00007ff690f6b06c in (anonymous namespace)::probe_module(const std::function<std::vector<mir::graphics::SupportedDevice, std::allocator<mir::graphics::SupportedDevice> >()> &, const mir::SharedLibrary &, const char *) (probe=..., module=..., platform_type_name=platform_type_name@entry=0x7ff6910a6f88 "display") at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/graphics/platform_probe.cpp:57
#18 0x00007ff690f6b188 in mir::graphics::probe_display_module (module=..., options=..., console=std::shared_ptr<mir::ConsoleServices> (use count 2, weak count 0) = {...}) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/graphics/platform_probe.cpp:99
#19 0x00007ff690f6d80e in mir::graphics::select_display_modules (options=..., console=std::shared_ptr<mir::ConsoleServices> (use count 2, weak count 0) = {...}, lib_loader_report=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/graphics/platform_probe.cpp:521
#20 0x00007ff690f5b3ee in mir::DefaultServerConfiguration::the_display_platforms (this=0x7ff678010828) at /usr/include/c++/13/bits/shared_ptr_base.h:1349
#21 0x00007ff690e9ce5a in (anonymous namespace)::extract_all_platform_modules (config=...) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/display_server.cpp:58
#22 mir::DisplayServer::Private::Private (this=0x7ff678010d10, config=...) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/display_server.cpp:75
#23 0x00007ff690e9c0ba in mir::DisplayServer::DisplayServer (this=this@entry=0x7ff68e7ff1b8, config=...) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/display_server.cpp:213
#24 0x00007ff690e98810 in mir::run_mir(mir::ServerConfiguration&, std::function<void (mir::DisplayServer&)>, std::function<void (int)> const&) (config=..., init=..., terminator_=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/run_mir.cpp:226
#25 0x00007ff690eb0770 in mir::Server::run (this=0x555f61a19160) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/server.cpp:410
#26 0x0000555f5c428ff2 in operator() (__closure=0x555f61a1de78) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/async_server_runner.cpp:126
#27 0x00007ff690acd772 in std::execute_native_thread_routine (__p=0x555f61a1de70) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#28 0x00007ff690cd50f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#29 0x00007ff690d27908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 1 (Thread 0x7ff68fdb3020 (LWP 821339) "mir_window_mana"):
#0 0x00007ff690cd2626 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7fffcca79128, op=137, expected=0, futex_word=0x555f61a19200) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x555f61a19200, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7fffcca79128, private=private@entry=0, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#2 0x00007ff690cd2660 in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x555f61a19200, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7fffcca79128, private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ff690cd4c78 in __pthread_cond_wait_common (abstime=0x7fffcca79128, clockid=1, mutex=0x555f61a191b0, cond=0x555f61a191d8) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_clockwait64 (abstime=0x7fffcca79128, clockid=1, mutex=0x555f61a191b0, cond=0x555f61a191d8) at ./nptl/pthread_cond_wait.c:691
#5 ___pthread_cond_clockwait64 (cond=0x555f61a191d8, mutex=0x555f61a191b0, clockid=1, abstime=0x7fffcca79128) at ./nptl/pthread_cond_wait.c:679
#6 0x0000555f5c42a510 in std::__condvar::wait_until (__abs_time=..., __clock=1, __m=..., this=0x555f61a191d8) at /usr/include/c++/13/bits/std_mutex.h:185
#7 std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__lock=<synthetic pointer>..., __atime=<optimized out>, this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:203
#8 std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__atime=<optimized out>, __lock=<synthetic pointer>..., this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:113
#9 std::condition_variable::wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> >, mir_test_framework::AsyncServerRunner::start_server()::<lambda()> > (__p=..., __atime=<optimized out>, __lock=<synthetic pointer>..., this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:154
#10 std::condition_variable::wait_for<long int, std::ratio<1>, mir_test_framework::AsyncServerRunner::start_server()::<lambda()> > (__rtime=<synthetic pointer>std::chrono::duration = { 20s }, __p=..., __lock=<synthetic pointer>..., this=0x555f61a191d8) at /usr/include/c++/13/condition_variable:177
#11 mir_test_framework::AsyncServerRunner::start_server (this=this@entry=0x555f61a19160) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/async_server_runner.cpp:142
#12 0x0000555f5c4230fa in mir_test_framework::HeadlessInProcessServer::SetUp (this=this@entry=0x555f61a19150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/headless_in_process_server.cpp:28
#13 0x0000555f5c425674 in mir_test_framework::WindowManagementTestHarness::SetUp (this=0x555f61a19150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/window_management_test_harness.cpp:117
#14 0x0000555f5c45ed92 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#15 0x0000555f5c45158e in testing::Test::Run() ()
#16 0x0000555f5c451724 in testing::TestInfo::Run() ()
#17 0x0000555f5c45192e in testing::TestSuite::Run() ()
#18 0x0000555f5c4576e8 in testing::internal::UnitTestImpl::RunAllTests() ()
#19 0x0000555f5c45f22e in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#20 0x0000555f5c4519e8 in testing::UnitTest::Run() ()
#21 0x0000555f5c419f16 in RUN_ALL_TESTS () at /usr/include/gtest/gtest.h:2317
#22 mir_test_framework::main (argc=argc@entry=2, argv=argv@entry=0x7fffcca797f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/command_line_server_configuration.cpp:59
#23 0x0000555f5c419e92 in main (argc=2, argv=0x7fffcca797f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/main.cpp:30
Detaching from program: /build/mir-tetrIJ/mir-2.17.0+dev494-g059d42968d/build-riscv64/bin/mir_window_management_tests.bin, process 821339
[Inferior 1 (process 821339) detached] |
Sorry, no - that was caught too early. This is the one: gdb.txt(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ff4bc281020 (LWP 829479) "mir_window_mana" 0x00007ff4bceee626 in __futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=<optimized out>, futex_word=0x7ff4bae000b0) at ./nptl/futex-internal.c:57
2 Thread 0x7ff4b99fffe0 (LWP 833562) "Mir/Wayland" 0x00007ff4bcf43bce in __GI_epoll_pwait (epfd=<optimized out>, events=events@entry=0x7ff4b99ff468, maxevents=maxevents@entry=32, timeout=timeout@entry=-1, set=set@entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:40
3 Thread 0x7ff4b3dfffe0 (LWP 833561) "Mir/Input Reade" 0x00007ff4bcf3bbaa in __GI___poll (fds=fds@entry=0x7ff4b3dff5f8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41
4 Thread 0x7ff4b8ffffe0 (LWP 833560) "Mir/Comp" syscall (syscall_number=98, arg1=140689123832640, arg2=0, arg3=33, arg4=0, arg5=0, arg6=-7478370696918001730, arg7=-4096) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
5 Thread 0x7ff4b29fffe0 (LWP 833559) "Mir/Comp" syscall (syscall_number=98, arg1=140689123832128, arg2=0, arg3=46, arg4=0, arg5=0, arg6=-7478370696918001730, arg7=-4096) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
6 Thread 0x7ff4badfffe0 (LWP 832654) "mtf/AsyncServer" 0x00007ff4bcf3bbaa in __GI___poll (fds=0x7ff4a40851e0, nfds=4, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
7 Thread 0x7ff4ba3fffe0 (LWP 829506) "gmain" 0x00007ff4bcf3bbaa in __GI___poll (fds=0x7ff4a402c920, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
8 Thread 0x7ff4bb7fffe0 (LWP 829488) "mir_window_-ust" syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140689129242624, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
9 Thread 0x7ff4bc1fffe0 (LWP 829487) "mir_window_-ust" syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140689129246720, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
(gdb) bt full
#0 0x00007ff4bceee626 in __futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=<optimized out>, futex_word=0x7ff4bae000b0) at ./nptl/futex-internal.c:57
__a7 = 98
__a1 = 265
__a3 = 0
__a5 = 4294967295
__a0 = 140689083990192
__a2 = 832654
__a4 = 0
_arg0 = 140689083990192
_arg2 = <optimized out>
_arg4 = 0
_sys_result = <optimized out>
_arg1 = 265
_arg3 = 0
_arg5 = 4294967295
sc_cancel_oldtype = 0
sc_ret = <optimized out>
#1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7ff4bae000b0, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
err = <optimized out>
clockbit = 256
op = 265
#2 0x00007ff4bceee660 in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ff4bae000b0, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128) at ./nptl/futex-internal.c:139
#3 0x00007ff4bcef28b8 in __pthread_clockjoin_ex (threadid=140689083989984, thread_return=0x0, clockid=0, abstime=0x0, block=<optimized out>) at ./nptl/pthread_join_common.c:102
ret = <optimized out>
_buffer = {__routine = 0x7ff4bcef2788 <cleanup>, __arg = 0x7ff4bae00400, __canceltype = 0, __prev = 0x0}
tid = <optimized out>
pd = 0x7ff4badfffe0
self = <optimized out>
result = 0
pd_result = <optimized out>
#4 0x00007ff4bd0cd88c in __gthread_join (__threadid=<optimized out>, __value_ptr=0x0) at /build/gcc-14-WnJGgd/gcc-14-14-20240412/build/riscv64-linux-gnu/libstdc++-v3/include/riscv64-linux-gnu/bits/gthr-default.h:682
#5 std::thread::join (this=this@entry=0x7fffefc48120) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:134
__e = 22
#6 0x0000555c5e0c1d7c in mir::test::AutoJoinThread::stop (this=0x7fffefc48120) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/include/test/mir/test/auto_unblock_thread.h:53
#7 mir::test::AutoJoinThread::~AutoJoinThread (this=0x7fffefc48120, __in_chrg=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/include/test/mir/test/auto_unblock_thread.h:47
#8 0x0000555c5e0c1640 in mir_test_framework::AsyncServerRunner::start_server (this=this@entry=0x555c7739f160) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/async_server_runner.cpp:149
t = {thread = {_M_id = {_M_thread = 140689083989984}}}
lock = {_M_device = <optimized out>, _M_owns = <optimized out>}
#9 0x0000555c5e0ba0fa in mir_test_framework::HeadlessInProcessServer::SetUp (this=this@entry=0x555c7739f150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/headless_in_process_server.cpp:28
#10 0x0000555c5e0bc674 in mir_test_framework::WindowManagementTestHarness::SetUp (this=0x555c7739f150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/window_management_test_harness.cpp:117
policy = {builder = {<std::_Maybe_unary_or_binary_function<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> >, miral::WindowManagerTools const&>> = {<std::unary_function<miral::WindowManagerTools const&, std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> > >> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x555c7739f150, _M_const_object = 0x555c7739f150, _M_function_pointer = 0x555c7739f150, _M_member_pointer = (void (std::_Undefined_class::*)(class std::_Undefined_class * const)) 0x555c7739f150}, _M_pod_data = "P\3619w\\U\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x555c5e0bc4aa <std::_Function_handler<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> >(const miral::WindowManagerTools&), mir_test_framework::WindowManagementTestHarness::SetUp()::<lambda(const miral::WindowManagerTools&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x555c5e0bc4e0 <std::_Function_handler<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> >(const miral::WindowManagerTools&), mir_test_framework::WindowManagementTestHarness::SetUp()::<lambda(const miral::WindowManagerTools&)> >::_M_invoke(const std::_Any_data &, const miral::WindowManagerTools &)>}}
fake_display = std::unique_ptr<mir::test::doubles::FakeDisplay> = {get() = 0x0}
#11 0x0000555c5e0f5d92 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#12 0x0000555c5e0e858e in testing::Test::Run() ()
#13 0x0000555c5e0e8724 in testing::TestInfo::Run() ()
#14 0x0000555c5e0e892e in testing::TestSuite::Run() ()
#15 0x0000555c5e0ee6e8 in testing::internal::UnitTestImpl::RunAllTests() ()
#16 0x0000555c5e0f622e in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#17 0x0000555c5e0e89e8 in testing::UnitTest::Run() ()
#18 0x0000555c5e0b0f16 in RUN_ALL_TESTS () at /usr/include/gtest/gtest.h:2317
#19 mir_test_framework::main (argc=argc@entry=2, argv=argv@entry=0x7fffefc487f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/command_line_server_configuration.cpp:59
#20 0x0000555c5e0b0e92 in main (argc=2, argv=0x7fffefc487f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/main.cpp:30
path = "./tests/mir_test_framework/main.cpp"
(gdb) t a a bt
Thread 9 (Thread 0x7ff4bc1fffe0 (LWP 829487) "mir_window_-ust"):
#0 syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140689129246720, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
#1 0x00007ff4bd2453ea in lttng_ust_futex (val3=0, uaddr2=0x0, timeout=0x0, val=0, op=0, uaddr=0x7ff4bd929000) at ../../../src/lib/lttng-ust/futex.h:56
#2 lttng_ust_futex_async (op=0, val=0, timeout=0x0, uaddr2=0x0, val3=0, uaddr=0x7ff4bd929000) at ../../../src/lib/lttng-ust/futex.h:88
#3 wait_for_sessiond (sock_info=0x7ff4bd2ad068 <global_apps>) at lttng-ust-comm.c:1761
#4 ust_listener_thread (arg=0x7ff4bd2ad068 <global_apps>) at lttng-ust-comm.c:1832
#5 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#6 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 8 (Thread 0x7ff4bb7fffe0 (LWP 829488) "mir_window_-ust"):
#0 syscall (syscall_number=syscall_number@entry=98, arg1=arg1@entry=140689129242624, arg2=arg2@entry=0, arg3=arg3@entry=0, arg4=arg4@entry=0, arg5=arg5@entry=0, arg6=arg6@entry=0, arg7=0) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
#1 0x00007ff4bd2453ea in lttng_ust_futex (val3=0, uaddr2=0x0, timeout=0x0, val=0, op=0, uaddr=0x7ff4bd928000) at ../../../src/lib/lttng-ust/futex.h:56
#2 lttng_ust_futex_async (op=0, val=0, timeout=0x0, uaddr2=0x0, val3=0, uaddr=0x7ff4bd928000) at ../../../src/lib/lttng-ust/futex.h:88
#3 wait_for_sessiond (sock_info=0x7ff4bd2ab010 <local_apps>) at lttng-ust-comm.c:1761
#4 ust_listener_thread (arg=0x7ff4bd2ab010 <local_apps>) at lttng-ust-comm.c:1832
#5 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#6 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 7 (Thread 0x7ff4ba3fffe0 (LWP 829506) "gmain"):
#0 0x00007ff4bcf3bbaa in __GI___poll (fds=0x7ff4a402c920, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
#1 0x00007ff4bcb66380 in g_main_context_poll_unlocked (priority=<optimized out>, n_fds=2, fds=0x7ff4a402c920, timeout=<optimized out>, context=0x7ff4a402c6e0) at ../../../glib/gmain.c:4521
#2 g_main_context_iterate_unlocked (context=context@entry=0x7ff4a402c6e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4212
#3 0x00007ff4bcb668be in g_main_context_iteration (context=0x7ff4a402c6e0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4282
#4 0x00007ff4bcb66904 in glib_worker_main (data=<optimized out>) at ../../../glib/gmain.c:6442
#5 0x00007ff4bcb8aca8 in g_thread_proxy (data=0x7ff4a4029e30) at ../../../glib/gthread.c:835
#6 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#7 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 6 (Thread 0x7ff4badfffe0 (LWP 832654) "mtf/AsyncServer"):
#0 0x00007ff4bcf3bbaa in __GI___poll (fds=0x7ff4a40851e0, nfds=4, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
#1 0x00007ff4bcb66380 in g_main_context_poll_unlocked (priority=<optimized out>, n_fds=4, fds=0x7ff4a40851e0, timeout=<optimized out>, context=0x7ff4a4007c30) at ../../../glib/gmain.c:4521
#2 g_main_context_iterate_unlocked (context=context@entry=0x7ff4a4007c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4212
#3 0x00007ff4bcb668be in g_main_context_iteration (context=0x7ff4a4007c30, may_block=1) at ../../../glib/gmain.c:4282
#4 0x00007ff4bd4a3858 in mir::GLibMainLoop::run (this=0x7ff4a400a8a8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/glib_main_loop.cpp:142
#5 0x00007ff4bd49c024 in mir::DisplayServer::run (this=this@entry=0x7ff4badff1b8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/display_server.cpp:241
#6 0x00007ff4bd4989a8 in mir::run_mir(mir::ServerConfiguration&, std::function<void (mir::DisplayServer&)>, std::function<void (int)> const&) (config=<optimized out>, init=..., terminator_=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/run_mir.cpp:281
#7 0x00007ff4bd4b0770 in mir::Server::run (this=0x555c7739f160) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/server.cpp:410
#8 0x0000555c5e0bfff2 in operator() (__closure=0x555c773a2718) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/async_server_runner.cpp:126
#9 0x00007ff4bd0cd772 in std::execute_native_thread_routine (__p=0x555c773a2710) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#10 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#11 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 5 (Thread 0x7ff4b29fffe0 (LWP 833559) "Mir/Comp"):
#0 syscall (syscall_number=98, arg1=140689123832128, arg2=0, arg3=46, arg4=0, arg5=0, arg6=-7478370696918001730, arg7=-4096) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
#1 0x00007ff4bd3dbc90 in std::__detail::__platform_wait<int> (__val=<optimized out>, __addr=0x7ff4bd3ff140 <std::__detail::__waiter_pool_base::_S_for(void const*)::__w+1344>) at /usr/include/c++/13/bits/atomic_wait.h:267
#2 std::__detail::__waiter_pool::_M_do_wait (__old=<optimized out>, __addr=0x7ff4bd3ff140 <std::__detail::__waiter_pool_base::_S_for(void const*)::__w+1344>, this=<optimized out>) at /usr/include/c++/13/bits/atomic_wait.h:267
#3 std::__detail::__waiter<std::integral_constant<bool, true> >::_M_do_wait_v<bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}>(bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}) (__vfn=..., __old=false, this=<synthetic pointer>) at /usr/include/c++/13/bits/atomic_wait.h:396
#4 std::__atomic_wait_address_v<bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}>(bool const*, bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}) (__addr=__addr@entry=0x7ff4a40605a8, __old=__old@entry=false, __vfn=...) at /usr/include/c++/13/bits/atomic_wait.h:426
#5 0x00007ff4bd3dbbfa in std::__atomic_base<bool>::wait (__m=std::memory_order::seq_cst, __old=false, this=0x7ff4a40605a8) at /usr/include/c++/13/atomic:170
#6 std::atomic<bool>::wait (__m=std::memory_order::seq_cst, __old=false, this=0x7ff4a40605a8) at /usr/include/c++/13/atomic:170
#7 mir::Signal::wait (this=this@entry=0x7ff4a40605a8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/signal.cpp:32
#8 0x00007ff4bd54ee0e in mir::compositor::CompositingFunctor::operator() (this=0x7ff4a4060580) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/compositor/multi_threaded_compositor.cpp:123
#9 0x00007ff4bd3d9610 in std::function<void ()>::operator()() const (this=0x7ff4a4035440) at /usr/include/c++/13/bits/std_function.h:591
#10 operator() (__closure=0x7ff4a4035420) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/thread_pool_executor.cpp:204
#11 std::__invoke_impl<void, (anonymous namespace)::ThreadPool::spawn(std::function<void()>&&)::<lambda()>&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#12 std::__invoke_r<void, (anonymous namespace)::ThreadPool::spawn(std::function<void()>&&)::<lambda()>&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#13 std::_Function_handler<void(), (anonymous namespace)::ThreadPool::spawn(std::function<void()>&&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=<optimized out>) at /usr/include/c++/13/bits/std_function.h:290
#14 0x00007ff4bd3d9b2a in std::function<void ()>::operator()() const (this=0x7ff4b29ff698) at /usr/include/c++/13/bits/std_function.h:591
#15 (anonymous namespace)::Worker::work_loop (me=0x7ff4a40620c8, shutdown_channel=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/thread_pool_executor.cpp:122
#16 0x00007ff4bd0cd772 in std::execute_native_thread_routine (__p=0x7ff4a4060750) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#17 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#18 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 4 (Thread 0x7ff4b8ffffe0 (LWP 833560) "Mir/Comp"):
#0 syscall (syscall_number=98, arg1=140689123832640, arg2=0, arg3=33, arg4=0, arg5=0, arg6=-7478370696918001730, arg7=-4096) at ../sysdeps/unix/sysv/linux/riscv/syscall.c:27
#1 0x00007ff4bd3dbc90 in std::__detail::__platform_wait<int> (__val=<optimized out>, __addr=0x7ff4bd3ff340 <std::__detail::__waiter_pool_base::_S_for(void const*)::__w+1856>) at /usr/include/c++/13/bits/atomic_wait.h:267
#2 std::__detail::__waiter_pool::_M_do_wait (__old=<optimized out>, __addr=0x7ff4bd3ff340 <std::__detail::__waiter_pool_base::_S_for(void const*)::__w+1856>, this=<optimized out>) at /usr/include/c++/13/bits/atomic_wait.h:267
#3 std::__detail::__waiter<std::integral_constant<bool, true> >::_M_do_wait_v<bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}>(bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}) (__vfn=..., __old=false, this=<synthetic pointer>) at /usr/include/c++/13/bits/atomic_wait.h:396
#4 std::__atomic_wait_address_v<bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}>(bool const*, bool, std::__atomic_base<bool>::wait(bool, std::memory_order) const::{lambda()#1}) (__addr=__addr@entry=0x7ff4a40607b8, __old=__old@entry=false, __vfn=...) at /usr/include/c++/13/bits/atomic_wait.h:426
#5 0x00007ff4bd3dbbfa in std::__atomic_base<bool>::wait (__m=std::memory_order::seq_cst, __old=false, this=0x7ff4a40607b8) at /usr/include/c++/13/atomic:170
#6 std::atomic<bool>::wait (__m=std::memory_order::seq_cst, __old=false, this=0x7ff4a40607b8) at /usr/include/c++/13/atomic:170
#7 mir::Signal::wait (this=this@entry=0x7ff4a40607b8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/signal.cpp:32
#8 0x00007ff4bd54ee0e in mir::compositor::CompositingFunctor::operator() (this=0x7ff4a4060790) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/server/compositor/multi_threaded_compositor.cpp:123
#9 0x00007ff4bd3d9610 in std::function<void ()>::operator()() const (this=0x7ff4a4014e50) at /usr/include/c++/13/bits/std_function.h:591
#10 operator() (__closure=0x7ff4a4014e30) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/thread_pool_executor.cpp:204
#11 std::__invoke_impl<void, (anonymous namespace)::ThreadPool::spawn(std::function<void()>&&)::<lambda()>&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
#12 std::__invoke_r<void, (anonymous namespace)::ThreadPool::spawn(std::function<void()>&&)::<lambda()>&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
#13 std::_Function_handler<void(), (anonymous namespace)::ThreadPool::spawn(std::function<void()>&&)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=<optimized out>) at /usr/include/c++/13/bits/std_function.h:290
#14 0x00007ff4bd3d9b2a in std::function<void ()>::operator()() const (this=0x7ff4b8fff698) at /usr/include/c++/13/bits/std_function.h:591
#15 (anonymous namespace)::Worker::work_loop (me=0x7ff4a4062048, shutdown_channel=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/thread_pool_executor.cpp:122
#16 0x00007ff4bd0cd772 in std::execute_native_thread_routine (__p=0x7ff4a4060980) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#17 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#18 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 3 (Thread 0x7ff4b3dfffe0 (LWP 833561) "Mir/Input Reade"):
#0 0x00007ff4bcf3bbaa in __GI___poll (fds=fds@entry=0x7ff4b3dff5f8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41
#1 0x00007ff4bd3cf6f4 in poll (__timeout=-1, __nfds=1, __fds=0x7ff4b3dff5f8) at /usr/include/riscv64-linux-gnu/bits/poll2.h:39
#2 (anonymous namespace)::dispatch_loop(const std::string &, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, const std::function<void()> &) (name=<optimized out>, thread_register=Python Exception <class 'gdb.error'>: value has been optimized out
, dispatcher=std::shared_ptr<mir::dispatch::Dispatchable> (use count 2, weak count 0) = {...}, exception_handler=...) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/src/common/dispatch/threaded_dispatcher.cpp:199
#3 0x00007ff4bd3d20e0 in std::__invoke_impl<void, void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()> >(std::__invoke_other, void (*&&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>&&, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>&&, std::function<void ()>&&) (__f=<optimized out>) at /usr/include/c++/13/bits/invoke.h:61
#4 std::__invoke<void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()> >(void (*&&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>&&, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>&&, std::function<void ()>&&) (__fn=<optimized out>) at /usr/include/c++/13/bits/invoke.h:96
#5 std::thread::_Invoker<std::tuple<void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()> > >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:292
#6 std::thread::_Invoker<std::tuple<void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()> > >::operator()() (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:299
#7 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::Dispatchable>, std::function<void ()> const&), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<mir::dispatch::ThreadedDispatcher::ThreadShutdownRequestHandler>, std::shared_ptr<mir::dispatch::MultiplexingDispatchable>, std::function<void ()> > > >::_M_run() (this=<optimized out>) at /usr/include/c++/13/bits/std_thread.h:244
#8 0x00007ff4bd0cd772 in std::execute_native_thread_routine (__p=0x7ff4a4061f90) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#9 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#10 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 2 (Thread 0x7ff4b99fffe0 (LWP 833562) "Mir/Wayland"):
#0 0x00007ff4bcf43bce in __GI_epoll_pwait (epfd=<optimized out>, events=events@entry=0x7ff4b99ff468, maxevents=maxevents@entry=32, timeout=timeout@entry=-1, set=set@entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:40
#1 0x00007ff4bcf43cd0 in epoll_wait (epfd=<optimized out>, events=events@entry=0x7ff4b99ff468, maxevents=maxevents@entry=32, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:32
#2 0x00007ff4bc96ee08 in wl_event_loop_dispatch (loop=0x7ff4a40035f0, timeout=timeout@entry=-1) at ../src/event-loop.c:1004
#3 0x00007ff4bc96cefa in wl_display_run (display=0x7ff4a4003500) at ../src/wayland-server.c:1493
#4 0x00007ff4bd0cd772 in std::execute_native_thread_routine (__p=0x7ff4a4060b20) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#5 0x00007ff4bcef10f4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#6 0x00007ff4bcf43908 in __thread_start_clone3 () at ../sysdeps/unix/sysv/linux/riscv/clone3.S:71
Thread 1 (Thread 0x7ff4bc281020 (LWP 829479) "mir_window_mana"):
#0 0x00007ff4bceee626 in __futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=<optimized out>, futex_word=0x7ff4bae000b0) at ./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7ff4bae000b0, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#2 0x00007ff4bceee660 in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ff4bae000b0, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128) at ./nptl/futex-internal.c:139
#3 0x00007ff4bcef28b8 in __pthread_clockjoin_ex (threadid=140689083989984, thread_return=0x0, clockid=0, abstime=0x0, block=<optimized out>) at ./nptl/pthread_join_common.c:102
#4 0x00007ff4bd0cd88c in __gthread_join (__threadid=<optimized out>, __value_ptr=0x0) at /build/gcc-14-WnJGgd/gcc-14-14-20240412/build/riscv64-linux-gnu/libstdc++-v3/include/riscv64-linux-gnu/bits/gthr-default.h:682
#5 std::thread::join (this=this@entry=0x7fffefc48120) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:134
#6 0x0000555c5e0c1d7c in mir::test::AutoJoinThread::stop (this=0x7fffefc48120) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/include/test/mir/test/auto_unblock_thread.h:53
#7 mir::test::AutoJoinThread::~AutoJoinThread (this=0x7fffefc48120, __in_chrg=<optimized out>) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/include/test/mir/test/auto_unblock_thread.h:47
#8 0x0000555c5e0c1640 in mir_test_framework::AsyncServerRunner::start_server (this=this@entry=0x555c7739f160) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/async_server_runner.cpp:149
#9 0x0000555c5e0ba0fa in mir_test_framework::HeadlessInProcessServer::SetUp (this=this@entry=0x555c7739f150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/headless_in_process_server.cpp:28
#10 0x0000555c5e0bc674 in mir_test_framework::WindowManagementTestHarness::SetUp (this=0x555c7739f150) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/window_management_test_harness.cpp:117
#11 0x0000555c5e0f5d92 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#12 0x0000555c5e0e858e in testing::Test::Run() ()
#13 0x0000555c5e0e8724 in testing::TestInfo::Run() ()
#14 0x0000555c5e0e892e in testing::TestSuite::Run() ()
#15 0x0000555c5e0ee6e8 in testing::internal::UnitTestImpl::RunAllTests() ()
#16 0x0000555c5e0f622e in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#17 0x0000555c5e0e89e8 in testing::UnitTest::Run() ()
#18 0x0000555c5e0b0f16 in RUN_ALL_TESTS () at /usr/include/gtest/gtest.h:2317
#19 mir_test_framework::main (argc=argc@entry=2, argv=argv@entry=0x7fffefc487f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/command_line_server_configuration.cpp:59
#20 0x0000555c5e0b0e92 in main (argc=2, argv=0x7fffefc487f8) at /usr/src/mir-2.17.0+dev494-g059d42968d-0ubuntu24.04/tests/mir_test_framework/main.cpp:30 |
That trace is spooky 👻 Here's what's happening:
|
I see nothing obvious in the code that would timeout. (I do note that there's no "touch" in "input-hub: Device configuration: basic-window-manager, capabilities={pointer}", could that really be a problem on riscv64 only?)
https://launchpadlibrarian.net/738599819/buildlog_ubuntu-noble-riscv64.mir_2.17.0+dev255-g96738e0cc6-0ubuntu24.04_BUILDING.txt.gz
The text was updated successfully, but these errors were encountered: