GNOME Bugzilla – Bug 677946
Crash while switching tabs
Last modified: 2012-06-20 18:15:57 UTC
Created attachment 216206 [details] stacktrace Fairly easy to reproduce crash. Open the control-center, then use shell menus to switch pages a few times: a11y, sound, bt, network is enough to make it crash here.
Can't reproduce it here. Ran gnome-control-center in one terminal and run this in another: for i in `seq 1 20` ; do gnome-control-center universal-access & gnome-control-center screen & done It took a while to finish, but it worked without crashing. What clutter did you use? Can you try with the latest gnome-control-center master?
$ rpm -q control-center clutter control-center-3.5.2-1.fc18.x86_64 clutter-1.11.4-1.fc18.x86_64
Created attachment 216228 [details] some hint whats going on After instrumenting the delayed remove machinery a bit, it seems that we occasionally get more than one ClutterTimeline::completed. Which is bad news for the code as currently written...
Created attachment 216229 [details] [review] Be robust against extraneous signal emissions It seems that we are occasionally get duplicate ClutterTimeline::completed emissions. Make the code robust against that.
setup_delayed_remove connects to the "completed" signal of the "scroll-to" transition of the scroll actor. _cc_notebook_select_page changes the "scroll-to" transition (potentially mid flight?). On theory is "completed" is called on the old transition after the new one is put in place.
(In reply to comment #5) > setup_delayed_remove connects to the "completed" signal of the "scroll-to" > transition of the scroll actor. > > _cc_notebook_select_page changes the "scroll-to" transition (potentially mid > flight?). > > On theory is "completed" is called on the old transition after the new one is > put in place. The problem is that unexpectedly (for me at least) this line: clutter_actor_remove_transition (self->priv->scroll, "scroll-to"); still emits a "completed" signal. Matthias' patch should be enough to avoid that.
Attachment 216229 [details] pushed as 8c9a1ee - Be robust against extraneous signal emissions