Bug#738352: gedit: Gedit crashes in open file dialog when I run an intensive process that access many files in the directory currently open in the dialog

Andrew McDonnell bugs at andrewmcdonnell.net
Sun Feb 9 13:25:05 UTC 2014


Package: gedit
Version: 3.4.2-1
Severity: important

Dear Maintainer,

My specific steps to repeat - this can probably be distilled a little, but everything reported in case the context is important:

0. Run gedit from command line on my home directory
1. In another terminal run apt-get source on some package and change into it
2. From gedit, open a file in the package source root
3. From gedit, open a file in the package debian/ directory; this sets gedits CWD to debian/
4. From gedit, open the file open dialog, change up one level to display files in the source root, and leave it open
5. In the terminal, start to build the package, for example dpkg-buildpackage -rfakeroot...
6. In the gedit file open window, scroll the file list or do some other manipulations, and in fairly short order, it will segfault

In abstract, it seems that gedit file/open dialog doesnt lots of like other stuff happening in the directory it is displaying

There are at least two different assertions that can occur:

Gtk:ERROR:/tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkfilesystemmodel.c:751:gtk_file_system_model_sort: assertion failed: (r == n_visible_rows)

or

Gtk:ERROR:/tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkfilesystemmodel.c:328:node_set_visible: assertion failed: (row < model->files->len)

The first assertion generates the following stacktrace:
(gdb) bt
#0  0x00007fec01b4b475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007fec01b4e6f0 in *__GI_abort () at abort.c:92
#2  0x00007fec023ac477 in g_assertion_message () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fec023ac994 in g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fec044ce308 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#5  0x00007fec044cf8b0 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007fec02f4e537 in g_simple_async_result_complete () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#7  0x00007fec02f4e5b8 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#8  0x00007fec0238b355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fec0238b688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fec0238ba82 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fec0450b3b5 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x000000000042b0dd in main ()

I subsequently rebuilt the package from source with DEB_BUILD_OPTIONS="nostrip noopt" and obtained the folllowing stacktrace on the second of the above assertions:

Program received signal SIGABRT, Aborted.
0x00007ffff47b0475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff47b0475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff47b36f0 in *__GI_abort () at abort.c:92
#2  0x00007ffff5011477 in g_assertion_message () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff5011994 in g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff713300e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#5  0x00007ffff7133d1e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#6  0x00007ffff3b577bc in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.5
#7  0x00007ffff3b57237 in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.5
#8  0x00007ffff52b06cb in g_cclosure_marshal_generic_va () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff52af9a7 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff52c8006 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff52c8852 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff5b98c69 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#13 0x00007ffff4ff0355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff4ff0688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff4ff0a82 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007ffff71703d5 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x000000000042b243 in gedit_main (service=0) at gedit.c:205
#18 0x000000000042b395 in main (argc=1, argv=0x7fffffffe508) at gedit.c:331

Both assertions occur, but which of the assertions occurs appears to be random, I cant narrow it down exactly.

-- Package-specific info:
Active plugins:
  - 'bookmarks'
  -  'filebrowser'
  -  'time'
  -  'charmap'
  -  'docinfo'
  -  'modelines'
  -  'spell'
  -  'changecase'
  -  'quickopen'
  -  'codecomment'

No plugin installed in $HOME.

Module versions:
  - glib                  2.32.4
  - gtk+                  3.4.2
  - gtksourceview         3.4.2
  - pygobject             
  - enchant               1.6.0
  - iso-codes             3.41


-- System Information:
Debian Release: 7.2
  APT prefers stable
  APT policy: (700, 'stable'), (650, 'stable'), (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gedit depends on:
ii  gedit-common               3.4.2-1
ii  gir1.2-atk-1.0             2.4.0-2
ii  gir1.2-freedesktop         1.32.1-1
ii  gir1.2-gdkpixbuf-2.0       2.26.1-1
ii  gir1.2-glib-2.0            1.32.1-1
ii  gir1.2-gtk-3.0             3.4.2-7
ii  gir1.2-gtksource-3.0       3.4.2-1
ii  gir1.2-pango-1.0           1.30.0-1
ii  gir1.2-peas-1.0            1.4.0-2
ii  gsettings-desktop-schemas  3.4.2-3
ii  iso-codes                  3.41-1
ii  libatk1.0-0                2.4.0-2
ii  libc6                      2.13-38
ii  libcairo-gobject2          1.12.2-3
ii  libcairo2                  1.12.2-3
ii  libenchant1c2a             1.6.0-7
ii  libffi5                    3.0.10-3
ii  libgdk-pixbuf2.0-0         2.26.1-1
ii  libgirepository-1.0-1      1.32.1-1
ii  libglib2.0-0               2.33.12+really2.32.4-5
ii  libgtk-3-0                 3.4.2-7
ii  libgtksourceview-3.0-0     3.4.2-1
ii  libice6                    2:1.0.8-2
ii  libpango1.0-0              1.30.0-1
ii  libpeas-1.0-0              1.4.0-2
ii  libsm6                     2:1.2.1-2
ii  libx11-6                   2:1.5.0-1+deb7u1
ii  libxml2                    2.8.0+dfsg1-7+nmu2
ii  python                     2.7.3-4+deb7u1
ii  python-gi                  3.2.2-2
ii  python-gi-cairo            3.2.2-2
ii  python2.7                  2.7.3-6

Versions of packages gedit recommends:
ii  yelp    3.4.2-1+b1
ii  zenity  3.4.0-2

Versions of packages gedit suggests:
ii  gedit-plugins  3.4.0-1

-- no debconf information



More information about the pkg-gnome-maintainers mailing list