gio - g_action_group_activate_action() doesn't flush dbus connection
- version:
2.66.4
- os:
debian unstable
I am facing issues when g_action_group_activate_action()
is immediately followed by an exit()
call. This is a remote process action activation. The client process exits before the d-bus request gets out, so the remote activation never happens. This issue happens 100% in a single core / uniprocessor ( e.g. virtualbox with 1 processor ). When I increase the CPU core by 1, the failure percent drops significantly.
Steps to reproduce:
- Have a VM with 1 processor.
- Start
rhythmbox
. - Run
rhythmbox-client --quit --debug
in a terminal.
Expected: Rhythmbox should exit
Actual: Rhythmbox will stay open
Workaround:
Adding delay of 1 second before the exit()
call seems to contain the issue, though it's not the right fix.
Client code:
https://gitlab.gnome.org/GNOME/rhythmbox/-/blob/master/remote/dbus/rb-client.c#L1167
Edited by crvi