GNOME Bugzilla – Bug 607677
crash in gtk_text_btree_get_chars_changed_stamp
Last modified: 2011-01-30 23:48:28 UTC
Version: 2.28.3 What were you doing when the application crashed? modifying an old iuhist.xml from a Windows 98 system to readable format for presentation of historical indications. This xml is in one long line of entries, hence must be chopped to readable formatting. GEdit is not set to auto limit/format line length. Thunderbird Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091130 SUSE/3.0.0-17.1 Thunderbird/3.0 and GNOME Commander were only other opened programs. Distribution: openSUSE 11.2 (i586) Gnome Release: 2.28.2 (null) (SUSE) BugBuddy Version: 2.28.0 System: Linux 2.6.31.8-0.1-default #1 SMP 2009-12-15 23:55:40 +0100 i686 X Vendor: The X.Org Foundation X Vendor Release: 10605000 Selinux: No Accessibility: Disabled GTK+ Theme: Glider Icon Theme: gnome GTK+ Modules: gnomebreakpad Memory status: size: 81014784 vsize: 81014784 resident: 32768000 share: 16527360 rss: 32768000 rss_rlim: 18446744073709551615 CPU usage: start_time: 1264092113 rtime: 14135 utime: 13112 stime: 1023 cutime:0 cstime: 2 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/gedit' [Thread debugging using libthread_db enabled] 0xffffe430 in __kernel_vsyscall ()
+ Trace 220185
Thread 1 (Thread 0xb67b4750 (LWP 2669))
A debugging session is active. Inferior 1 [process 2669] will be detached. Quit anyway? (y or n) [answered Y; input not from terminal] ---- Critical and fatal warnings logged during execution ---- ** GtkSourceView **: Highlighting a single line took too much time, syntax highlighting will be disabled ** GtkSourceView **: first_update_callback: assertion `ce->priv->buffer != NULL' failed Output of custom script "/usr/lib/gedit-2/gedit-bugreport.sh": Active plugins: - time - externaltools - filebrowser - spell - docinfo - modelines - sort No plugin installed in $HOME. Module versions: - glib - gtk+ - gtksourceview - pygobject - pygtk - pygtksourceview - enchant - iso-codes Python module versions: - python 2.6.2 - pygtk 2.16.0 (GTK+ 2.18.5) ----------- .xsession-errors (1225 sec old) --------------------- Nautilus-Share-Message: spawn arg "net" Nautilus-Share-Message: spawn arg "usershare" Nautilus-Share-Message: spawn arg "info" Nautilus-Share-Message: end of spawn args; SPAWNING Nautilus-Share-Message: returned from spawn: SUCCESS: Nautilus-Share-Message: exit code 255 Nautilus-Share-Message: ------------------------------------------ Nautilus-Share-Message: Called "net usershare info" but it failed: 'net usershare' returned error 255: net usershare: usershares are currently disabled (gnome-settings-daemon:1531): GLib-GObject-CRITICAL **: g_param_spec_flags: assertion `G_TYPE_IS_FLAGS (flags_type)' failed (gnome-settings-daemon:1531): GLib-GObject-CRITICAL **: g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed Failed to play sound: File or data not found --------------------------------------------------
*** Bug 607682 has been marked as a duplicate of this bug. ***
we have a similar bug report here: https://bugs.edge.launchpad.net/gedit/+bug/663309
This bug was reported against a GNOME version that is now not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use. By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME. The current stable GNOME is 2.32.1. Please check if the problem you reported here still occurs with a recent version of GNOME by reporting back which exact version you tested against Thank you for reporting this bug and we are sorry it could not be fixed for your version. Without feedback this report will be closed as INCOMPLETE in 6 weeks.
This bug is NOT incomplete. If you look in the downstream bug, you will see that it has been reported on gedit 2.30, which is the last stable version of Gedit atm.
Sorry, i didn't look at downstream bug.
Changing components as the bug is in GtkSourceview. Patch in next comment.
Created attachment 177057 [details] [review] patch fixing the issue The crash occurs when text_deleted in the contextengine calls invalidate region even when the highlighting is disabled (and then the buffer pointer is null). the attached patch fixes the issue.
Review of attachment 177057 [details] [review]: Thanks for the analysis, looks like a good catch to me! about the patch, I'd try to be consistent with with text_inserted which does /* Happens when highlighting is disabled */ if (ce->priv->buffer == NULL) { return; } since it would be strange that in one case we explicitely check the buffer and in the other we rely on the "disabled" flag.
I pushed a new patch reviewed by Paolo on IRC in commit abef41da8c541c814bf631f69c92e0c431c610ad that fixes this bug.
*** Bug 640836 has been marked as a duplicate of this bug. ***