After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 640836 - "Join lines" then "Undo" make gedit crashing
"Join lines" then "Undo" make gedit crashing
Status: RESOLVED DUPLICATE of bug 607677
Product: gtksourceview
Classification: Platform
Component: General
git master
Other Linux
: High critical
: ---
Assigned To: GTK Sourceview maintainers
GTK Sourceview maintainers
Depends on:
Blocks:
 
 
Reported: 2011-01-28 16:38 UTC by Jean-Philippe Fleury
Modified: 2011-01-30 23:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Sample file useful to reproduce the bug (58.87 KB, text/html)
2011-01-28 16:38 UTC, Jean-Philippe Fleury
Details
Valgrind log (91.26 KB, application/x-gzip)
2011-01-28 16:43 UTC, Jean-Philippe Fleury
Details
Valgrind log (205.92 KB, application/x-gzip)
2011-01-30 18:57 UTC, Jean-Philippe Fleury
Details

Description Jean-Philippe Fleury 2011-01-28 16:38:45 UTC
Created attachment 179527 [details]
Sample file useful to reproduce the bug

1) Make sure you have plugin "Join lines/ Split lines" activated: "Edit > Preferences > Plugins".

2) In gedit, open the attached file "sample.html".

3) Select all text ("Ctrl+a") and choose "Edit > Join lines".

4) Click on the "Undo" button.

Actual result: gedit crashes.

Expected result: undo the last action.

More information:

- my version: gedit 2.30.3
Comment 1 Jean-Philippe Fleury 2011-01-28 16:40:48 UTC
Backtrace obtained with gedit-dbgsym and gedit-plugins-dbgsym installed:

GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/gedit...Reading symbols from /usr/lib/debug/usr/bin/gedit...done.
done.
(gdb) handle SIG33 pass nostop noprint
Signal        Stop	Print	Pass to program	Description
SIG33         No	No	Yes		Real-time event 33
(gdb) set pagination 0
(gdb) tun[K[K[Krun /home/zz/Bureau/sample.html 
Starting program: /usr/bin/gedit /home/zz/Bureau/sample.html
[Thread debugging using libthread_db enabled]
[New Thread 0xb7c2eb70 (LWP 4168)]
[New Thread 0xb482fb70 (LWP 4169)]

(gedit:4165): GtkSourceView-CRITICAL **: La mise en surbrillance d'une seule ligne a pris trop de temps, la coloration syntaxique sera désactivée
sys:1: GtkWarning: IA__gtk_text_buffer_get_iter_at_offset: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed
sys:1: GtkWarning: IA__gtk_text_buffer_move_mark: assertion `GTK_IS_TEXT_MARK (mark)' failed
[Thread 0xb482fb70 (LWP 4169) exited]

Program received signal SIGSEGV, Segmentation fault.
0x0038e237 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
(gdb) backtrace full

Thread 1 (Thread 0xb7fe1850 (LWP 4165))

  • #0 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #1 gtk_text_iter_set_offset
    from /usr/lib/libgtk-x11-2.0.so.0
  • #2 ??
    from /usr/lib/libgtksourceview-2.0.so.0
  • #3 ??
    from /usr/lib/libgtksourceview-2.0.so.0
  • #4 ??
    from /usr/lib/libgtksourceview-2.0.so.0
  • #5 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #6 ??
    from /usr/lib/libgobject-2.0.so.0
  • #7 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #8 ??
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #11 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #12 ??
    from /usr/lib/libgtksourceview-2.0.so.0
  • #13 ??
    from /usr/lib/libgtksourceview-2.0.so.0
  • #14 gtk_source_undo_manager_undo
    from /usr/lib/libgtksourceview-2.0.so.0
  • #15 ??
    from /usr/lib/libgtksourceview-2.0.so.0
  • #16 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #17 ??
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #19 ??
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #22 gtk_source_buffer_undo
    from /usr/lib/libgtksourceview-2.0.so.0
  • #23 _gedit_cmd_edit_undo
    at gedit-commands-edit.c line 59
  • #24 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #26 ??
    from /usr/lib/libgobject-2.0.so.0
  • #27 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #28 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #29 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_action_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #32 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #34 ??
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #36 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #37 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #39 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #40 ??
    from /usr/lib/libgobject-2.0.so.0
  • #41 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #42 ??
    from /usr/lib/libgobject-2.0.so.0
  • #43 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #44 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #45 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #46 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #47 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #48 ??
    from /usr/lib/libgobject-2.0.so.0
  • #49 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #50 ??
    from /usr/lib/libgobject-2.0.so.0
  • #51 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #52 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #53 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #54 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #55 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #56 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #57 g_main_context_dispatch
    from /lib/libglib-2.0.so.0
  • #58 ??
    from /lib/libglib-2.0.so.0
  • #59 g_main_loop_run
    from /lib/libglib-2.0.so.0
  • #60 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #61 main
    at gedit.c line 747
A debugging session is active.

	Inferior 1 [process 4165] will be killed.

Quit anyway? (y or n)
Comment 2 Jean-Philippe Fleury 2011-01-28 16:43:46 UTC
Created attachment 179528 [details]
Valgrind log

Valgrind log obtained with the following command:

zz@ordi:~/bureau$ G_SLICE=always-malloc G_DEBUG=gc-friendly  valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log /usr/bin/gedit /home/zz/Bureau/sample.html

(gedit:4273): GtkSourceView-CRITICAL **: La mise en surbrillance d'une seule ligne a pris trop de temps, la coloration syntaxique sera désactivée
sys:1: GtkWarning: IA__gtk_text_buffer_get_iter_at_offset: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed
sys:1: GtkWarning: IA__gtk_text_buffer_move_mark: assertion `GTK_IS_TEXT_MARK (mark)' failed
Processus arrêté
zz@ordi:~/bureau$
Comment 3 André Klapper 2011-01-28 23:23:25 UTC
The stacktrace is missing any glib and gtk debug symbols...
Comment 4 Fabio Durán Verdugo 2011-01-29 01:13:05 UTC
Thanks for taking the time to report this bug.
Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so and reopen this bug or report a new one. Thanks in advance!
Comment 5 José Aliste 2011-01-29 11:46:37 UTC
Jean-Phillipe, you need also glib, gtksourceview and gobject debug symbols so this stacktrace.
Comment 6 Jean-Philippe Fleury 2011-01-30 05:20:00 UTC
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/gedit...Reading symbols from /usr/lib/debug/usr/bin/gedit...done.
done.
(gdb) handle SIG33 pass nostop noprint
Signal        Stop	Print	Pass to program	Description
SIG33         No	No	Yes		Real-time event 33
(gdb) set pagination 0
(gdb) run /home/zz/Bureau/sample.html 
Starting program: /usr/bin/gedit /home/zz/Bureau/sample.html
[Thread debugging using libthread_db enabled]
[New Thread 0xb7c2eb70 (LWP 7921)]
[New Thread 0xb4843b70 (LWP 7926)]
[New Thread 0xb402bb70 (LWP 7943)]

(gedit:7918): GtkSourceView-CRITICAL **: La mise en surbrillance d'une seule ligne a pris trop de temps, la coloration syntaxique sera désactivée
sys:1: GtkWarning: IA__gtk_text_buffer_get_iter_at_offset: assertion `GTK_IS_TEXT_BUFFER (buffer)' failed
sys:1: GtkWarning: IA__gtk_text_buffer_move_mark: assertion `GTK_IS_TEXT_MARK (mark)' failed
[Thread 0xb402bb70 (LWP 7943) exited]

Program received signal SIGSEGV, Segmentation fault.
_gtk_text_btree_get_chars_changed_stamp (tree=0x58fff4) at /build/buildd/gtk+2.0-2.22.0/gtk/gtktextbtree.c:541
541	/build/buildd/gtk+2.0-2.22.0/gtk/gtktextbtree.c: Aucun fichier ou dossier de ce type.
	in /build/buildd/gtk+2.0-2.22.0/gtk/gtktextbtree.c
(gdb) backtrace full

Thread 1 (Thread 0xb7fe1850 (LWP 7918))

  • #0 _gtk_text_btree_get_chars_changed_stamp
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtktextbtree.c line 541
  • #1 IA__gtk_text_iter_set_offset
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtktextiter.c line 3981
  • #2 invalidate_region
    at gtksourcecontextengine.c line 1832
  • #3 _gtk_source_engine_text_deleted
    at gtksourceengine.c line 76
  • #4 gtk_source_buffer_real_delete_range
    at gtksourcebuffer.c line 905
  • #5 _gtk_marshal_VOID__BOXED_BOXED
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkmarshalers.c line 1311
  • #6 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 877
  • #7 g_closure_invoke
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 766
  • #8 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3290
  • #9 g_signal_emit_valist
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 2983
  • #10 g_signal_emit
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3040
  • #11 gtk_text_buffer_emit_delete
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtktextbuffer.c line 1613
  • #12 delete_text
    at gtksourceundomanagerdefault.c line 514
  • #13 gtk_source_undo_manager_undo_impl
    at gtksourceundomanagerdefault.c line 623
  • #14 gtk_source_undo_manager_undo
    at gtksourceundomanager.c line 241
  • #15 gtk_source_buffer_real_undo
    at gtksourcebuffer.c line 1710
  • #16 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.26.0/gobject/gmarshal.c line 79
  • #17 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 877
  • #18 g_closure_invoke
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 766
  • #19 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3290
  • #20 g_signal_emit_valist
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 2983
  • #21 g_signal_emit
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3040
  • #22 gtk_source_buffer_undo
    at gtksourcebuffer.c line 1148
  • #23 _gedit_cmd_edit_undo
    at gedit-commands-edit.c line 59
  • #24 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.26.0/gobject/gmarshal.c line 79
  • #25 g_closure_invoke
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 766
  • #26 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3252
  • #27 g_signal_emit_valist
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 2983
  • #28 g_signal_emit
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3040
  • #29 _gtk_action_emit_activate
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkaction.c line 794
  • #30 IA__gtk_action_activate
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkaction.c line 824
  • #31 button_clicked
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtktoolbutton.c line 771
  • #32 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.26.0/gobject/gmarshal.c line 79
  • #33 g_closure_invoke
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 766
  • #34 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3252
  • #35 g_signal_emit_valist
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 2983
  • #36 g_signal_emit
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3040
  • #37 IA__gtk_button_clicked
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkbutton.c line 1128
  • #38 gtk_real_button_released
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkbutton.c line 1725
  • #39 g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.26.0/gobject/gmarshal.c line 79
  • #40 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 877
  • #41 g_closure_invoke
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 766
  • #42 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3182
  • #43 g_signal_emit_valist
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 2983
  • #44 g_signal_emit
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3040
  • #45 gtk_button_released
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkbutton.c line 1120
  • #46 gtk_button_button_release
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkbutton.c line 1617
  • #47 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkmarshalers.c line 86
  • #48 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 877
  • #49 g_closure_invoke
    at /build/buildd/glib2.0-2.26.0/gobject/gclosure.c line 766
  • #50 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3290
  • #51 g_signal_emit_valist
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 2993
  • #52 g_signal_emit
    at /build/buildd/glib2.0-2.26.0/gobject/gsignal.c line 3040
  • #53 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkwidget.c line 4985
  • #54 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkmain.c line 2465
  • #55 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkmain.c line 1665
  • #56 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.22.0/gdk/x11/gdkevents-x11.c line 2377
  • #57 g_main_dispatch
    at /build/buildd/glib2.0-2.26.0/glib/gmain.c line 2149
  • #58 g_main_context_dispatch
    at /build/buildd/glib2.0-2.26.0/glib/gmain.c line 2702
  • #59 g_main_context_iterate
    at /build/buildd/glib2.0-2.26.0/glib/gmain.c line 2780
  • #60 g_main_loop_run
    at /build/buildd/glib2.0-2.26.0/glib/gmain.c line 2988
  • #61 IA__gtk_main
    at /build/buildd/gtk+2.0-2.22.0/gtk/gtkmain.c line 1237
  • #62 main
    at gedit.c line 747
A debugging session is active.

	Inferior 1 [process 7918] will be killed.

Quit anyway? (y or n)
Comment 7 Jean-Philippe Fleury 2011-01-30 18:57:51 UTC
Created attachment 179647 [details]
Valgrind log
Comment 8 José Aliste 2011-01-30 23:48:28 UTC
Thanks for providing updated traces. This is a gtksourceview bug, and is already fixed.

*** This bug has been marked as a duplicate of bug 607677 ***