Created attachment 44228 [details] [review] Patch. When dbus_*_setup_with_g_main gets called to move a connection to a new main loop context, connection_setup_new_from_old is called. It tries to iterate through ios and timeouts on the old context. However, it calls dbus_watch_set_data, which ias the side-effect of freeing the old data, which has the side-effect of removing the handler from the old context, so we set tmp to tmp->next where tmp now points to an element which has just been freed.
Created attachment 44359 [details] [review] patch; same as before but with --format-patch
The regression test for Bug #30574 seems to exhibit this when run under valgrind.
Thanks, fixed in git for 0.94.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.