Skip to content

gdbus-proxy test fails with GLib-GIO:ERROR:glib/gio/tests/gdbus-proxy.c:832:fail_test: code should not be reached

Iain Lane requested to merge iainl/glib:gdbus-proxy-test-fixes into master

Don't know if you've ever seen this on CI, but a couple of our build machines hit this with a 2.58 upload I did the other day, so I thought I'd investigate.

The first commit is the real fix. The second one is because I initially thought that the test server might be lingering from an early test run, and this helps ensure it isn't.

I've ran this 1000 times (with --num-processes 10) twice on the s390x machine that could reproduce the problem, with no failures.

Trace of the failure:

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff707d801 in __GI_abort () at abort.c:79
#2  0x00007ffff7b218e3 in g_assertion_message (domain=0x55555555a893 "GLib-GIO", file=0x55555555a860 "../../../../dev/gnome/glib/gio/tests/gdbus-proxy.c", line=832, func=0x55555555bc48 <__FUNCTION__.27196> "fail_test", message=0x7fffe8005bd0 "code should not be reached") at ../../../../dev/gnome/glib/glib/gtestutils.c:2878
#3  0x00007ffff7b21964 in g_assertion_message_expr (domain=0x55555555a893 "GLib-GIO", file=0x55555555a860 "../../../../dev/gnome/glib/gio/tests/gdbus-proxy.c", line=832, func=0x55555555bc48 <__FUNCTION__.27196> "fail_test", expr=0x0) at ../../../../dev/gnome/glib/glib/gtestutils.c:2904
#4  0x0000555555559c9b in fail_test (user_data=0x0) at ../../../../dev/gnome/glib/gio/tests/gdbus-proxy.c:832
#5  0x00007ffff7af27bb in g_timeout_dispatch (source=0x55555578da20, callback=0x555555559c6a <fail_test>, user_data=0x0) at ../../../../dev/gnome/glib/glib/gmain.c:4678
#6  0x00007ffff7af084b in g_main_dispatch (context=0x55555576e730) at ../../../../dev/gnome/glib/glib/gmain.c:3189
#7  0x00007ffff7af17b2 in g_main_context_dispatch (context=0x55555576e730) at ../../../../dev/gnome/glib/glib/gmain.c:3854
#8  0x00007ffff7af19a5 in g_main_context_iterate (context=0x55555576e730, block=1, dispatch=1, self=0x55555576f380) at ../../../../dev/gnome/glib/glib/gmain.c:3927
#9  0x00007ffff7af1ddf in g_main_loop_run (loop=0x555555768f00) at ../../../../dev/gnome/glib/glib/gmain.c:4123
#10 0x000055555555a3f9 in _g_assert_property_notify_run (object=0x55555577a500, property_name=0x55555555ba10 "g-name-owner") at ../../../../dev/gnome/glib/gio/tests/gdbus-tests.c:74
#11 0x0000555555559bbe in proxy_ready (source=0x55555577a500, result=0x55555578ba30, user_data=0x0) at ../../../../dev/gnome/glib/gio/tests/gdbus-proxy.c:816
#12 0x00007ffff74f39f8 in g_task_return_now (task=0x55555578ba30) at ../../../../dev/gnome/glib/gio/gtask.c:1202
#13 0x00007ffff74f3b41 in g_task_return (task=0x55555578ba30, type=G_TASK_RETURN_SUCCESS) at ../../../../dev/gnome/glib/gio/gtask.c:1263
#14 0x00007ffff74f49e6 in g_task_return_boolean (task=0x55555578ba30, result=1) at ../../../../dev/gnome/glib/gio/gtask.c:1779
#15 0x00007ffff757bb48 in init_second_async_cb (source_object=0x55555577a500, res=0x55555578b8d0, user_data=0x55555578ba30) at ../../../../dev/gnome/glib/gio/gdbusproxy.c:1809
#16 0x00007ffff74f39f8 in g_task_return_now (task=0x55555578b8d0) at ../../../../dev/gnome/glib/gio/gtask.c:1202
#17 0x00007ffff74f3b41 in g_task_return (task=0x55555578b8d0, type=G_TASK_RETURN_SUCCESS) at ../../../../dev/gnome/glib/gio/gtask.c:1263
#18 0x00007ffff74f460a in g_task_return_pointer (task=0x55555578b8d0, result=0x7fffe8012010, result_destroy=0x7ffff7b40911 <g_variant_unref>) at ../../../../dev/gnome/glib/gio/gtask.c:1667
#19 0x00007ffff757b0e9 in async_init_get_all_cb (connection=0x55555577f360, res=0x55555578bc40, user_data=0x55555578b8d0) at ../../../../dev/gnome/glib/gio/gdbusproxy.c:1443
#20 0x00007ffff74f39f8 in g_task_return_now (task=0x55555578bc40) at ../../../../dev/gnome/glib/gio/gtask.c:1202
#21 0x00007ffff74f3b41 in g_task_return (task=0x55555578bc40, type=G_TASK_RETURN_SUCCESS) at ../../../../dev/gnome/glib/gio/gtask.c:1263
#22 0x00007ffff74f460a in g_task_return_pointer (task=0x55555578bc40, result=0x7fffe8012010, result_destroy=0x7ffff7b40911 <g_variant_unref>) at ../../../../dev/gnome/glib/gio/gtask.c:1667
#23 0x00007ffff756b083 in g_dbus_connection_call_done (source=0x55555577f360, result=0x55555578bae0, user_data=0x55555578bc40) at ../../../../dev/gnome/glib/gio/gdbusconnection.c:5747
#24 0x00007ffff74f39f8 in g_task_return_now (task=0x55555578bae0) at ../../../../dev/gnome/glib/gio/gtask.c:1202
#25 0x00007ffff74f3a5e in complete_in_idle_cb (task=0x55555578bae0) at ../../../../dev/gnome/glib/gio/gtask.c:1216
#26 0x00007ffff7af3580 in g_idle_dispatch (source=0x7fffe8009350, callback=0x7ffff74f3a46 <complete_in_idle_cb>, user_data=0x55555578bae0) at ../../../../dev/gnome/glib/glib/gmain.c:5627
#27 0x00007ffff7af084b in g_main_dispatch (context=0x55555576e730) at ../../../../dev/gnome/glib/glib/gmain.c:3189
#28 0x00007ffff7af17b2 in g_main_context_dispatch (context=0x55555576e730) at ../../../../dev/gnome/glib/glib/gmain.c:3854
#29 0x00007ffff7af19a5 in g_main_context_iterate (context=0x55555576e730, block=1, dispatch=1, self=0x55555576f380) at ../../../../dev/gnome/glib/glib/gmain.c:3927
#30 0x00007ffff7af1ddf in g_main_loop_run (loop=0x55555576e7f0) at ../../../../dev/gnome/glib/glib/gmain.c:4123
#31 0x0000555555559d5a in test_async () at ../../../../dev/gnome/glib/gio/tests/gdbus-proxy.c:854
#32 0x00007ffff7b20cfc in test_case_run (tc=0x55555576ea90) at ../../../../dev/gnome/glib/glib/gtestutils.c:2597
#33 0x00007ffff7b210db in g_test_run_suite_internal (suite=0x55555576cce0, path=0x0) at ../../../../dev/gnome/glib/glib/gtestutils.c:2685
#34 0x00007ffff7b21184 in g_test_run_suite_internal (suite=0x55555576cc00, path=0x0) at ../../../../dev/gnome/glib/glib/gtestutils.c:2697
#35 0x00007ffff7b21184 in g_test_run_suite_internal (suite=0x55555576cc20, path=0x0) at ../../../../dev/gnome/glib/glib/gtestutils.c:2697
#36 0x00007ffff7b2139b in g_test_run_suite (suite=0x55555576cc20) at ../../../../dev/gnome/glib/glib/gtestutils.c:2772
#37 0x00007ffff7b1ff21 in g_test_run () at ../../../../dev/gnome/glib/glib/gtestutils.c:2007
#38 0x000055555555a2d0 in session_bus_run () at ../../../../dev/gnome/glib/gio/tests/gdbus-sessionbus.c:54
#39 0x000055555555a189 in main (argc=1, argv=0x7fffffffd488) at ../../../../dev/gnome/glib/gio/tests/gdbus-proxy.c:939

Merge request reports