GNOME Bugzilla – Bug 630811
Autocompletion suggestion popup hangs/freezes Anjuta frequently.
Last modified: 2010-09-28 13:13:51 UTC
Overview: Anjuta frequently hangs/freezes on me when typing function calls (only tested with a C++ shared library project) and the autocompletion thing pops up. First I had the idea that it happened more often when the popup is shown while anjuta autosaves my documents, but I am not sure about this. It appears to happen more or less at random, sometimes it works, sometimes it hangs anjuta. Now I decided to run anjuta in the terminal to be able to see the error messages, see output below. Steps to Reproduce: 1) Create a C++ shared library project in Anjuta (not tested with other project types or single documents). 2) Start coding, and type many function calls to functions that anjuta recognises and tries to autocomplete/suggest. 3) Eventually anjuta will hang while the autosuggestion popup is shown. Actual Results: The last time it hanged I ran Anjuta in the terminal, and while it hang I checked the output in the terminal. A lot of messages where scrolling through the terminal, it didn't stop untill I terminated the process. The last portion of the output was the following: (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `-g-type-private--GTypeFlags' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider' (anjuta:17139): GtkSourceView-CRITICAL **: gtk_source_completion_provider_populate: assertion `GTK_IS_SOURCE_COMPLETION_PROVIDER (provider)' failed (anjuta:17139): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkSourceCompletionProvider Expected Results: The autosuggestion thing should popup and not hang anjuta, and let me type on or choose one of the suggested functions/symbols. Build Date & Platform: I am using Anjuta 2.30.2.1, compiled from source, on Ubuntu 10.04. uname -a output: Linux <username> 2.6.32-24-generic #43-Ubuntu SMP Thu Sep 16 14:58:24 UTC 2010 x86_64 GNU/Linux. As I mentioned it happens pretty frequently and this is very annoying, the only way to continue work is to terminate the process, load project again and open all files again etc. This bug is bothering me since some versions ago which I just installed from the ubuntu repos, actually the only reason I compiled this version from source is that I hoped it would solve the problem. I don't know the exact version where I first encountered this bug.
This has been fixed in our new stable version (2.32.0) which was released yesterday. You can find it here: http://ftp.gnome.org/pub/GNOME/sources/anjuta/2.32/ As it was a multi-threading issue that required a bigger rewrite it wasn't possible to merge it in the stable series.