Bug#595271: gedit crash when saving empty file

Mathieu Malaterre mathieu.malaterre at gmail.com
Thu Sep 16 17:14:47 UTC 2010


On Thu, Sep 16, 2010 at 6:47 PM, Josselin Mouette <joss at debian.org> wrote:
> Le jeudi 16 septembre 2010 à 16:28 +0200, Mathieu Malaterre a écrit :
>> No. There is no libtracker-client-0.7.so.0 on my system. Here what
>> strace reveals:
>>
>> ...
>> writev(16, [{"l\1\1\1V\0\0\0\4\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"...,
>> 144}, {"Q\0\0\0sender='org.gtk.vfs.Daemon',"..., 86}], 2) = 230
>> writev(16, [{"l\1\1\1X\0\0\0\5\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"...,
>> 144}, {"S\0\0\0sender='org.gtk.vfs.Daemon',"..., 88}], 2) = 232
>> open("/home/mathieu/.gtk-bookmarks", O_RDONLY) = -1 ENOENT (No such
>> file or directory)
>> stat("libtracker-client-0.7.so.0", 0x7fffeb481900) = -1 ENOENT (No
>> such file or directory)
>> stat("libtracker-client-0.7.so.0.so", 0x7fffeb481900) = -1 ENOENT (No
>> such file or directory)
>> stat("libtracker-client-0.7.so.0.la", 0x7fffeb481900) = -1 ENOENT (No
>> such file or directory)
>> open("/usr/lib/tls/libtracker-client-0.7.so.0", O_RDONLY) = -1 ENOENT
>> (No such file or directory)
>> open("/usr/lib/libtracker-client-0.7.so.0", O_RDONLY) = -1 ENOENT (No
>> such file or directory)
>> open("/lib/libtracker-client-0.7.so.0", O_RDONLY) = -1 ENOENT (No such
>> file or directory)
>> open("/home/mathieu/local/lib/tls/x86_64/libtracker-client-0.7.so.0",
>> O_RDONLY) = -1 ENOENT (No such file or directory)
>> stat("/home/mathieu/local/lib/tls/x86_64", 0x7fffeb4810a0) = -1 ENOENT
>> (No such file or directory)
>> open("/home/mathieu/local/lib/tls/libtracker-client-0.7.so.0",
>> O_RDONLY) = -1 ENOENT (No such file or directory)
>> stat("/home/mathieu/local/lib/tls", 0x7fffeb4810a0) = -1 ENOENT (No
>> such file or directory)
>> open("/home/mathieu/local/lib/x86_64/libtracker-client-0.7.so.0",
>> O_RDONLY) = -1 ENOENT (No such file or directory)
>> stat("/home/mathieu/local/lib/x86_64", 0x7fffeb4810a0) = -1 ENOENT (No
>> such file or directory)
>> open("/home/mathieu/local/lib/libtracker-client-0.7.so.0", O_RDONLY) =
>> -1 ENOENT (No such file or directory)
>> stat("/home/mathieu/local/lib", 0x7fffeb4810a0) = -1 ENOENT (No such
>> file or directory)
>> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
>> +++ killed by SIGSEGV +++
>
> Ah, so it doesn’t manage to open it at all.
>
> It looks like the following code is only called in case a RPATH exists
> in the binary (which is the case for gedit on amd64).
>
> #0  0x00007ffff7de4dcc in open_path (name=<value optimized out>, namelen=<value optimized out>, preloaded=<value optimized out>, sps=<value optimized out>,
>    realname=<value optimized out>, fbp=<value optimized out>, loader=0x7ffff7ff49b8, whatcode=2, found_other_class=0x7fffffffc37f) at dl-load.c:1946
> #1  0x00007ffff7de66fb in _dl_map_object (loader=0x7ffff7ffce20, name=0x9d3570 "libtracker-client-0.7.so.0", preloaded=<value optimized out>, type=<value optimized out>,
>    trace_mode=<value optimized out>, mode=-1879048191, nsid=0) at dl-load.c:2082
>
> #0 looks like it is trying to free the memory area from which the RPATH
> comes, incorrectly thinking it is allocated. Which means this could well
> be a glibc bug.
>
> And here we come to the glibc version you have installed on your
> system:
> ii  libc6                   2.11.1-3         Embedded GNU C Library: Shared lib
>
> This version doesn’t come from either of lenny nor squeeze/sid. Could
> you please try again with the one from squeeze?

sudo apt-get install libc6
...

I can still get the crash:

writev(16, [{"l\1\1\1X\0\0\0\5\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"...,
144}, {"S\0\0\0sender='org.gtk.vfs.Daemon',"..., 88}], 2) = 232
open("/home/mathieu/.gtk-bookmarks", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat("libtracker-client-0.7.so.0", 0x7ffff54fc1d0) = -1 ENOENT (No
such file or directory)
stat("libtracker-client-0.7.so.0.so", 0x7ffff54fc1d0) = -1 ENOENT (No
such file or directory)
stat("libtracker-client-0.7.so.0.la", 0x7ffff54fc1d0) = -1 ENOENT (No
such file or directory)
open("/usr/lib/tls/libtracker-client-0.7.so.0", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/usr/lib/libtracker-client-0.7.so.0", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/lib/libtracker-client-0.7.so.0", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/home/mathieu/local/lib/tls/x86_64/libtracker-client-0.7.so.0",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/home/mathieu/local/lib/tls/x86_64", 0x7ffff54fb970) = -1 ENOENT
(No such file or directory)
open("/home/mathieu/local/lib/tls/libtracker-client-0.7.so.0",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/home/mathieu/local/lib/tls", 0x7ffff54fb970) = -1 ENOENT (No
such file or directory)
open("/home/mathieu/local/lib/x86_64/libtracker-client-0.7.so.0",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/home/mathieu/local/lib/x86_64", 0x7ffff54fb970) = -1 ENOENT (No
such file or directory)
open("/home/mathieu/local/lib/libtracker-client-0.7.so.0", O_RDONLY) =
-1 ENOENT (No such file or directory)
stat("/home/mathieu/local/lib", 0x7ffff54fb970) = -1 ENOENT (No such
file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
[1]    1273 segmentation fault  strace gedit

and system is now:

ii  gconf2                  2.22.0-1         GNOME configuration database syste
ii  gedit-common            2.22.3-1+lenny1  official text editor of the GNOME
ii  iso-codes               3.5.1-1          ISO language, territory, currency,
ii  libatk1.0-0             1.30.0-1         The ATK accessibility toolkit
ii  libattr1                1:2.4.43-2       Extended attribute shared library
ii  libc6                   2.11.2-5         Embedded GNU C Library: Shared lib
ii  libcairo2               1.8.8-2~bpo50+1  The Cairo 2D vector graphics libra
ii  libenchant1c2a          1.4.2-3.3        a wrapper library for various spel
ii  libgconf2-4             2.22.0-1         GNOME configuration database syste
ii  libglade2-0             1:2.6.2-1        library to load .glade files at ru
ii  libglib2.0-0            2.24.0-1         The GLib library of C routines
ii  libgnome2-0             2.20.1.1-1       The GNOME 2 library - runtime file
ii  libgnomeui-0            2.20.1.1-2       The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0          1:2.22.0-5       GNOME Virtual File System (runtime
ii  libgtk2.0-0             2.18.6-1~bpo50+1 The GTK+ graphical user interface
ii  libgtksourceview2.0-0   2.2.2-1          shared libraries for the GTK+ synt
ii  libpango1.0-0           1.20.5-5         Layout and rendering of internatio
ii  libx11-6                2:1.3.3-1        X11 client-side library
ii  libxml2                 2.7.6.dfsg-2+b1  GNOME XML library
ii  python                  2.5.4-9          An interactive high-level object-o
ii  python-glade2           2.12.1-6         GTK+ bindings: Glade support
ii  python-gobject          2.14.2-2         Python bindings for the GObject li
ii  python-gtk2             2.12.1-6         Python bindings for the GTK+ widge
ii  python-gtksourceview2   2.2.0-1+b1       Python bindings for the GtkSourceV
ii  python-support          1.0.3~bpo50+1    automated rebuilding support for P
ii  python2.5               2.5.5-6          An interactive high-level object-o
ii  rarian-compat [scrollke 0.8.1-1          Rarian is a documentation meta-dat

Thanks again

-- 
Mathieu





More information about the pkg-gnome-maintainers mailing list