user [email protected] usertags 1148127 python3.15 tags 1148127 patch thanks
Hi! While rebuilding the python related packages against the Python 3.15rc2 version I ran into this FTBFS, although in arm64 [1]. The error is the same: 9/10 at-spi2-core:direct-connection FAIL 2.05s killed by signal 6 SIGABRT But in my case, this was not intermittent, by running an emulated arm64 VM in my local machine, I could reproduce this problem consistently. The issue is that the dbus connection needs to be warmed up, otherwise it fails. I've created a patch to do a connection and disconnection before starting the test, to solve this problem. This patch should probably be sent upstream. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4746439/ -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
Description: Fix baseline race in direct connection test The background accessibility registry daemon connects to the application asynchronously shortly after startup. Perform an initial warmup connection and settle delay before sampling baseline pidfds so background connections stabilize. Author: Maximiliano Curia <[email protected]> Forwarded: no --- --- a/tests/at-spi2-atk/test-direct-connection.c +++ b/tests/at-spi2-atk/test-direct-connection.c @@ -218,6 +218,29 @@ test_direct_connection_is_released (void goto out; } + /* Perform an initial connection and disconnection (warmup) to let any + background registration and connection setup settle. */ + direct_connection = open_direct_connection (application_address, &error); + if (!direct_connection) + { + g_test_fail_printf ("Failed to open direct connection: %s", error->message); + goto out; + } + + if (!query_direct_connection (direct_connection, &error)) + { + g_test_fail_printf ("Failed to query direct connection: %s", error->message); + goto out; + } + + if (!g_dbus_connection_close_sync (direct_connection, NULL, &error)) + { + g_test_fail_printf ("Failed to close direct connection: %s", error->message); + goto out; + } + g_clear_object (&direct_connection); + g_usleep (100 * 1000); + baseline = count_pidfds (app_pid); direct_connection = open_direct_connection (application_address, &error); if (!direct_connection)

