Bug#358372: eog: Segfaults when opening two jpeg files

Martin Hawlisch Martin.Hawlisch at gmx.de
Wed Mar 22 13:34:57 UTC 2006


Package: eog
Version: 2.12.3-1
Severity: important


I have two jpeg images that I pass as command line argument to eog. I tried
multiple times and I get different segfaults or errors. I closed and
restarted gdb each time when debugging.

The failure occures when doing:
$ eog w_A0_20.jpg  w_A0_21.jpg

All is fine, when opening both images separately:
$ eog w_A0_20.jpg
$ eog w_A0_21.jpg

So this looks like a bug when giving multiple files as command line
argument, the images itself are fine.

You can use another testcase too that workd reliably for me:
cd /tmp/
mkdir test
cd test
wget http://veimages.gsfc.nasa.gov//2430/land_ocean_ice_2048.jpg
wget http://veimages.gsfc.nasa.gov/2433/land_shallow_topo_2048.jpg
eog land*




One error:
$ gdb eog
(gdb) run w_A0_20.jpg  w_A0_21.jpg
...

eog-image_load.c
eog-image_load.c
(no debugging symbols found)

(eog:11732): GLib-GObject-WARNING **: cannot register existing type
`GdkPixbufNonAnim'

(eog:11732): GLib-GObject-CRITICAL **: g_object_new: assertion
`G_TYPE_IS_OBJECT (object_type)' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1226806352 (LWP 11735)]
0xb79812f9 in gdk_pixbuf_non_anim_new () from
/usr/lib/libgdk_pixbuf-2.0.so.0
(gdb) bt
#0  0xb79812f9 in gdk_pixbuf_non_anim_new () from
/usr/lib/libgdk_pixbuf-2.0.so.0
#1  0xb7984e7b in gdk_pixbuf_loader_set_size () from
/usr/lib/libgdk_pixbuf-2.0.so.0
#2  0xb6e20145 in ?? () from
/usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-jpeg.so
#3  0x08102500 in ?? ()
#4  0x00000000 in ?? ()
(gdb) q




second try:
(gdb) run w_A0_20.jpg  w_A0_21.jpg
...


GLib-GObject-ERROR **: g_type_plugin_*() invalidly modified type `EogImage'
aborting...
eog-image_load.c

Program received signal SIGABRT, Aborted.
[Switching to Thread -1237320784 (LWP 11747)]
0xb76237c7 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb76237c7 in raise () from /lib/tls/libc.so.6
#1  0xb762506b in abort () from /lib/tls/libc.so.6
#2  0xb77bc1a0 in g_logv () from /usr/lib/libglib-2.0.so.0
#3  0xb77bc1d9 in g_log () from /usr/lib/libglib-2.0.so.0
#4  0xb784011f in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
#5  0xb7826588 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
#6  0xb7826987 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
#7  0xb7826b40 in g_object_new () from /usr/lib/libgobject-2.0.so.0
#8  0x080661cd in eog_image_new_uri ()
#9  0x0806bd71 in eog_image_list_add_uris ()
#10 0x080629cf in eog_statusbar_set_progress ()
#11 0x0806dfec in eog_job_call_action ()
#12 0x0806cdc1 in eog_image_list_iter_equal ()
#13 0xb77d0a01 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#14 0xb7737ced in start_thread () from /lib/tls/libpthread.so.0
#15 0xb76cbd7e in clone () from /lib/tls/libc.so.6
(gdb)




third try:
(gdb) run w_A0_20.jpg  w_A0_21.jpg
...

(eog:11822): GdkPixbuf-CRITICAL **: gdk_pixbuf_animation_get_width:
assertion `GDK_IS_PIXBUF_ANIMATION (animation)' failed

(eog:11822): GdkPixbuf-CRITICAL **: gdk_pixbuf_animation_get_width:
assertion `GDK_IS_PIXBUF_ANIMATION (animation)' failed

... hundreds of there errors in between ...

(eog:11822): GdkPixbuf-CRITICAL **: gdk_pixbuf_animation_get_static_image:
assertion `GDK_IS_PIXBUF_ANIMATION (animation)' failed

Eog-ERROR **: file eog-image.c: line 827 (eog_image_real_load): assertion
failed: (priv->image != NULL)
aborting...

Program received signal SIGABRT, Aborted.
[Switching to Thread -1235219536 (LWP 11826)]
0xb76957c7 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb76957c7 in raise () from /lib/tls/libc.so.6
#1  0xb769706b in abort () from /lib/tls/libc.so.6
#2  0xb782e1a0 in g_logv () from /usr/lib/libglib-2.0.so.0
#3  0xb782e1d9 in g_log () from /usr/lib/libglib-2.0.so.0
#4  0xb782e251 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
#5  0x08068505 in eog_image_load ()
#6  0x08062a39 in eog_statusbar_set_progress ()
#7  0x0806dfec in eog_job_call_action ()
#8  0x0806cdc1 in eog_image_list_iter_equal ()
#9  0xb7842a01 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#10 0xb77a9ced in start_thread () from /lib/tls/libpthread.so.0
#11 0xb773dd7e in clone () from /lib/tls/libc.so.6
(gdb)




One more:
(gdb) run w_A0_20.jpg  w_A0_21.jpg
...
eog-image_load.c
eog-image_load.c
(no debugging symbols found)

(eog:11860): GdkPixbuf-CRITICAL **: _gdk_pixbuf_load_module_unlocked:
assertion `image_module->module == NULL' failed
load success: 0

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1237320784 (LWP 11864)]
0x08067d84 in eog_image_load ()
(gdb) bt
#0  0x08067d84 in eog_image_load ()
#1  0x08062a39 in eog_statusbar_set_progress ()
#2  0x0806dfec in eog_job_call_action ()
#3  0x0806cdc1 in eog_image_list_iter_equal ()
#4  0xb77b4a01 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#5  0xb771bced in start_thread () from /lib/tls/libpthread.so.0
#6  0xb76afd7e in clone () from /lib/tls/libc.so.6
(gdb)




One more try:
(eog:11877): GLib-GObject-WARNING **: cannot register existing type
`GdkPixbufLoader'

(eog:11877): GLib-GObject-CRITICAL **: g_object_new: assertion
`G_TYPE_IS_OBJECT (object_type)' failed

(eog:11877): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(eog:11877): GLib-GObject-CRITICAL **: g_signal_connect_object: assertion
`G_TYPE_CHECK_INSTANCE (instance)' failed

(eog:11877): GdkPixbuf-CRITICAL **: gdk_pixbuf_loader_write: assertion
`loader != NULL' failed

(eog:11877): GdkPixbuf-CRITICAL **: gdk_pixbuf_loader_close: assertion
`loader != NULL' failed

(eog:11877): GLib-GObject-CRITICAL **: g_object_unref: assertion
`G_IS_OBJECT (object)' failed
load success: 0
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1227572304 (LWP 11880)]
0x08067d84 in eog_image_load ()
(gdb) bt
#0  0x08067d84 in eog_image_load ()
#1  0x08062a39 in eog_statusbar_set_progress ()
#2  0x0806dfec in eog_job_call_action ()
#3  0x0806cdc1 in eog_image_list_iter_equal ()
#4  0xb778da01 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#5  0xb76f4ced in start_thread () from /lib/tls/libpthread.so.0
#6  0xb7688d7e in clone () from /lib/tls/libc.so.6
(gdb)


And one more:
GLib-GObject-ERROR **: file gtype.c: line 1773 (type_class_init_Wm):
assertion failed: (node->is_classed && node->data &&
node->data->class.class_size && !node->data->class.class &&
node->data->class.init_state == UNINITIALIZED)
aborting...

Program received signal SIGABRT, Aborted.
[Switching to Thread -1237320784 (LWP 11941)]
0xb76887c7 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb76887c7 in raise () from /lib/tls/libc.so.6
#1  0xb768a06b in abort () from /lib/tls/libc.so.6
#2  0xb78211a0 in g_logv () from /usr/lib/libglib-2.0.so.0
#3  0xb78211d9 in g_log () from /usr/lib/libglib-2.0.so.0
#4  0xb7821251 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
#5  0xb78a4d55 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
#6  0xb788b588 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
#7  0xb788b987 in g_object_new_valist () from /usr/lib/libgobject-2.0.so.0
#8  0xb788bb40 in g_object_new () from /usr/lib/libgobject-2.0.so.0
#9  0x080661cd in eog_image_new_uri ()
#10 0x0806bd71 in eog_image_list_add_uris ()
#11 0x080629cf in eog_statusbar_set_progress ()
#12 0x0806dfec in eog_job_call_action ()
#13 0x0806cdc1 in eog_image_list_iter_equal ()
#14 0xb7835a01 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#15 0xb779cced in start_thread () from /lib/tls/libpthread.so.0
#16 0xb7730d7e in clone () from /lib/tls/libc.so.6
(gdb)





Cheers, Martin.


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-686-smp
Locale: LANG=de_DE at euro, LC_CTYPE=de_DE at euro (charmap=ISO-8859-15)

Versions of packages eog depends on:
ii  gconf2                    2.12.1-12      GNOME configuration database
syste
ii  libart-2.0-2              2.3.17-1       Library of functions for 2D
graphi
ii  libc6                     2.3.6-4        GNU C Library: Shared libraries
an
ii  libexif12                 0.6.13-4       library to parse EXIF files
ii  libgconf2-4               2.12.1-12      GNOME configuration database
syste
ii  libglade2-0               1:2.5.1-2      library to load .glade files at
ru
ii  libglib2.0-0              2.10.1-2       The GLib library of C routines
ii  libgnome2-0               2.12.0.1-5     The GNOME 2 library - runtime
file
ii  libgnomecanvas2-0         2.14.0-1       A powerful object-oriented
display
ii  libgnomeprint2.2-0        2.12.1-3       The GNOME 2.2 print
architecture -
ii  libgnomeprintui2.2-0      2.12.1-2       GNOME 2.2 print architecture
User 
ii  libgnomeui-0              2.12.1-1       The GNOME 2 libraries (User
Interf
ii  libgnomevfs2-0            2.12.2-7       GNOME virtual file-system
(runtime
ii  libgtk2.0-0               2.8.13-1       The GTK+ graphical user
interface 
ii  libjpeg62                 6b-12          The Independent JPEG Group's
JPEG 
ii  libpango1.0-0             1.12.0-2       Layout and rendering of
internatio
ii  libpopt0                  1.7-5          lib for parsing cmdline
parameters
ii  libx11-6                  6.9.0.dfsg.1-4 X Window System protocol client
li

Versions of packages eog recommends:
ii  librsvg2-common              2.12.7-5+b1 SAX-based renderer library for
SVG

-- no debconf information

-- 
Echte DSL-Flatrate dauerhaft für 0,- Euro*!
"Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl





More information about the Pkg-gnome-maintainers mailing list