I encountered the error for different iterations of test_open_file_dialog; so, I don't think it's anything specific to one of the configurations.
Python backtrace
```
Thread 0x000073b01b4006c0 (most recent call first):
File "/usr/lib/python3.12/threading.py", line 355 in wait
File "/usr/lib/python3.12/concurrent/futures/_base.py", line 451 in result
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app/tests/conftest.py", line 117 in run_until_complete
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pytest_asyncio/plugin.py", line 902 in inner
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/python.py", line 162 in pytest_pyfunc_call
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/python.py", line 1632 in runtest
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pytest_asyncio/plugin.py", line 436 in runtest
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 173 in pytest_runtest_call
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 241 in
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 341 in from_call
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 240 in call_and_report
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 135 in runtestprotocol
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 116 in pytest_runtest_protocol
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/main.py", line 364 in pytest_runtestloop
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/main.py", line 339 in _main
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/main.py", line 285 in wrap_session
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/main.py", line 332 in pytest_cmdline_main
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/config/__init__.py", line 178 in main
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app/tests/testbed.py", line 31 in run_tests
File "/usr/lib/python3.12/threading.py", line 1010 in run
File "/usr/lib/python3.12/threading.py", line 1073 in _bootstrap_inner
File "/usr/lib/python3.12/threading.py", line 1030 in _bootstrap
Current thread 0x000073b0274f8740 (most recent call first):
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/gi/overrides/Gio.py", line 42 in run
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/gbulb/glib_events.py", line 839 in run
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/gbulb/gtk.py", line 39 in run
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/gbulb/glib_events.py", line 886 in run_forever
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/toga_gtk/app.py", line 198 in main_loop
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/toga/app.py", line 632 in main_loop
File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app/tests/testbed.py", line 165 in
File "", line 88 in _run_code
File "", line 198 in _run_module_as_main
Extension modules: gi._gi, cairo._cairo, gi._gi_cairo (total: 3)
Aborted (core dumped)
```
gdb backtrace
```c++
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x000077929864526e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#4 0x0000779298645320 in () at /lib/x86_64-linux-gnu/libc.so.6
#5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44
#6 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78
#7 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#8 0x000077929864526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#9 0x00007792986288ff in __GI_abort () at ./stdlib/abort.c:79
#10 0x0000779296afcf5b in g_assertion_message
(domain=domain@entry=0x779295431014 "Gtk", file=file@entry=0x77929543f229 "../../../gtk/gtkpathbar.c", line=line@entry=1342, func=func@entry=0x779295499740 <__func__.6.lto_priv.100> "set_button_image_get_info_cb", message=message@entry=0x5e4f6b320e60 "assertion failed: (cancellable == data->button_data->cancellable)") at ../../../glib/gtestutils.c:3331
#11 0x0000779296b65a97 in g_assertion_message_expr
(domain=domain@entry=0x779295431014 "Gtk", file=file@entry=0x77929543f229 "../../../gtk/gtkpathbar.c", line=line@entry=1342, func=func@entry=0x779295499740 <__func__.6.lto_priv.100> "set_button_image_get_info_cb", expr=expr@entry=0x7792954672a8 "cancellable == data->button_data->cancellable") at ../../../glib/gtestutils.c:3357
#12 0x000077929524286b in set_button_image_get_info_cb (cancellable=0x5e4f6b32b000 [GCancellable], info=0x779198002760 [GFileInfo], error=0x0, user_data=0x5e4f6739a340) at ../../../gtk/gtkpathbar.c:1342
#13 0x0000779295199623 in query_info_callback (source_object=, result=, user_data=0x5e4f6b302a10) at ../../../gtk/gtkfilesystem.c:417
#14 0x00007792961e17ab in g_task_return_now (task=0x5e4f6b2dc2c0 [GTask]) at ../../../gio/gtask.c:1361
#15 0x00007792961e17e5 in complete_in_idle_cb (task=0x5e4f6b2dc2c0) at ../../../gio/gtask.c:1375
#16 0x0000779296b3a48e in g_main_dispatch (context=0x5e4f66229c30) at ../../../glib/gmain.c:3344
#17 0x0000779296b99717 in g_main_context_dispatch_unlocked (context=0x5e4f66229c30) at ../../../glib/gmain.c:4152
#18 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5e4f66229c30, block=block@entry=1, dispatch=dispatch@entry=1, self=) at ../../../glib/gmain.c:4217
#19 0x0000779296b39a53 in g_main_context_iteration (context=context@entry=0x5e4f66229c30, may_block=may_block@entry=1) at ../../../glib/gmain.c:4282
#20 0x000077929621788d in g_application_run (application=0x5e4f663b1f40 [GtkApplication], argc=, argv=0x0) at ../../../gio/gapplication.c:2712
#21 0x0000779298158b16 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#22 0x00007792981553ef in ffi_call_int (cif=cif@entry=0x5e4f663c8858, fn=, rvalue=, avalue=, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#23 0x00007792981580be in ffi_call (cif=0x5e4f663c8858, fn=, rvalue=, avalue=) at ../src/x86/ffi64.c:710
#24 0x0000779296c6b711 in pygi_invoke_c_callable () at /home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/gi/_gi.cpython-312-x86_64-linux-gnu.so
#25 0x0000779296c6d90c in pygi_function_cache_invoke ()
at /home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/gi/_gi.cpython-312-x86_64-linux-gnu.so
#26 0x0000779298b8482c in _PyObject_Call (kwargs=0x7792958c8900, args=0x7792964bc640, callable=0x7792964087b0, tstate=0x77929929ff68 <_PyRuntime+459656>) at ../Objects/call.c:367
#27 _PyObject_Call (tstate=0x77929929ff68 <_PyRuntime+459656>, callable=0x7792964087b0, args=0x7792964bc640, kwargs=0x7792958c8900) at ../Objects/call.c:339
#28 0x0000779298b19dec in _PyEval_EvalFrameDefault (tstate=tstate@entry=0x77929929ff68 <_PyRuntime+459656>, frame=, frame@entry=0x7792994ad1b8, throwflag=throwflag@entry=0)
at Python/bytecodes.c:3254
#29 0x0000779298c9d1ff in _PyEval_EvalFrame (throwflag=0, frame=0x7792994ad1b8, tstate=0x77929929ff68 <_PyRuntime+459656>) at ../Include/internal/pycore_ceval.h:89
#30 _PyEval_Vector (args=0x0, argcount=0, kwnames=0x0, locals=0x7792989f92c0, func=0x7792989da2a0, tstate=0x77929929ff68 <_PyRuntime+459656>) at ../Python/ceval.c:1683
#31 PyEval_EvalCode (co=co@entry=0x5e4f65b24650, globals=globals@entry=0x7792989f92c0, locals=locals@entry=0x7792989f92c0) at ../Python/ceval.c:578
#32 0x0000779298c99180 in builtin_exec_impl (module=, closure=, locals=0x7792989f92c0, globals=0x7792989f92c0, source=0x5e4f65b24650) at ../Python/bltinmodule.c:1096
#33 builtin_exec (module=, args=, nargs=, kwnames=) at ../Python/clinic/bltinmodule.c.h:586
#34 0x0000779298bdc4ac in cfunction_vectorcall_FASTCALL_KEYWORDS (func=0x779298995e40, args=0x7792994ad180, nargsf=, kwnames=0x0) at ../Objects/methodobject.c:438
#35 0x0000779298b82afc in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=9223372036854775810, args=0x7792994ad180, callable=0x779298995e40, tstate=0x77929929ff68 <_PyRuntime+459656>)
at ../Include/internal/pycore_call.h:92
#36 PyObject_Vectorcall (callable=callable@entry=0x779298995e40, args=args@entry=0x7792994ad180, nargsf=9223372036854775810, kwnames=0x0) at ../Objects/call.c:325
#37 0x0000779298b1d5ee in _PyEval_EvalFrameDefault (tstate=, frame=, throwflag=) at Python/bytecodes.c:2706
#38 0x00005e4f63b3ca74 in ??? ()
#39 0x000077929862a1ca in __libc_start_call_main (main=main@entry=0x5e4f63b3c500, argc=argc@entry=2, argv=argv@entry=0x7ffd7e594728) at ../sysdeps/nptl/libc_start_call_main.h:58
#40 0x000077929862a28b in __libc_start_main_impl (main=0x5e4f63b3c500, argc=2, argv=0x7ffd7e594728, init=, fini=, rtld_fini=, stack_end=0x7ffd7e594718)
at ../csu/libc-start.c:360
#41 0x00005e4f63b3cbe5 in ??? ()
```
Steps to reproduce
Repeatedly run briefcase run --test for the testbed.
Describe the bug
Rare local testbed testing crash. Rooted out while evaluating https://github.com/beeware/toga/issues/2648.
Other apps, such as Handbrake, have had this crash reported to them. So, it isn't clear if this is a long standing bug in Gtk....or its use thereof.
I encountered the error for different iterations of
test_open_file_dialog
; so, I don't think it's anything specific to one of the configurations.Python backtrace
``` Thread 0x000073b01b4006c0 (most recent call first): File "/usr/lib/python3.12/threading.py", line 355 in wait File "/usr/lib/python3.12/concurrent/futures/_base.py", line 451 in result File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app/tests/conftest.py", line 117 in run_until_complete File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pytest_asyncio/plugin.py", line 902 in inner File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/python.py", line 162 in pytest_pyfunc_call File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__ File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/python.py", line 1632 in runtest File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pytest_asyncio/plugin.py", line 436 in runtest File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 173 in pytest_runtest_call File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_callers.py", line 103 in _multicall File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_manager.py", line 120 in _hookexec File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/pluggy/_hooks.py", line 513 in __call__ File "/home/user/github/beeware/toga/testbed/build/testbed/ubuntu/noble/testbed-0.0.1/usr/lib/testbed/app_packages/_pytest/runner.py", line 241 ingdb backtrace
```c++ (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=Steps to reproduce
Repeatedly run
briefcase run --test
for the testbed.Expected behavior
No crash.
Screenshots
No response
Environment
0.3.20.dev0+g20d73d6f
0.4.6.dev44+gef41da1ca
Logs
No response
Additional context
No response