Bug 178020

Summary: Thumbnailer crashes when thumbnailing jpg files (eog, nautilus, gthumb, f-spot, etc)
Product: [Fedora] Fedora Reporter: Chris Chabot <chabotc>
Component: libgnomeuiAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-01-27 17:34:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 150221    

Description Chris Chabot 2006-01-17 14:17:02 UTC
Description:

Any thumbnail generation or view of a jpg image makes any gnome app crash
(nautilus, f-spot, eog, gthumb)

This test report has be done using:
http://ftp.gnome.org/pub/GNOME/teams/art.gnome.org/backgrounds/GNOME-Peyrouse_1280x1024.jpg

I open it up in firefox. Works perfectly 

Then i save it with firefox and it opens up nautilus for me, and ... *shiver* it
tells me nautilus crashed the moment it tries to render a thumbnail! Nautilus is
as i write this in a never ending loop of crashing, restarting, opening a root
folder window, and crashing, repeat ad-infintum.

Then installed all the relavant -debuginfo packages!" 
- Did a rpm -qf on all of /usr/lib/*.so.* and everything checks out
- cat /dev/null > .recently-used
- removed everything from ~/.thumbnails
- made sure yum thought i was fully upgraded

Easiest way to 'crash and burn' is to simply 
 # eog GNOME-Peyrouse_1280x1024.jpg

Which reports:
# eog GNOME-Peyrouse_1280x1024.jpg 
Instantiate job with id 1.
Starting thread with id 0.
eog-image_load.c
JPEG is sRGB
load success: 1
n_images: 4/4
  1 /root/gnome.jpg (-1/-1)
  2 /root/GNOME-Peyrouse_1280x1024.jpg (1280/960)
  3 /root/logo_sm.gif (-1/-1)
  4 /root/tmp.png (-1/-1)
EogWindow.c: eog_window_open
No profile, not correcting
No profile, not correcting
No profile, not correcting
No profile, not correcting
setting window size: 1284/1046
Instantiate job with id 2.
Instantiate job with id 3.

GLib-CRITICAL **: g_convert: assertion `str != NULL' failed
aborting...
Instantiate job with id 4.
Instantiate job with id 5.
Show exif data
Starting thread with id 1.
Job 001: disposing ...
Job 001: disposing end
Instantiate job with id 6.
Instantiate job with id 7.
Instantiate job with id 8.
Instantiate job with id 9.

GLib-CRITICAL **: g_convert: assertion `str != NULL' failed
aborting...
Multiple segmentation faults occurred; can't display error dialog

So i go on to gdb it, run eog, file->open the same pic, it displays it and then
crashes with the error in the gdb console:
GLib-CRITICAL **: g_convert: assertion `str != NULL' failed
aborting...

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread -1236591712 (LWP 2253)]
IA__g_logv (log_domain=Variable "log_domain" is not available.
) at gmessages.c:502
502               depth--;

(gdb) bt
#0  IA__g_logv (log_domain=Variable "log_domain" is not available.
) at gmessages.c:502
#1  0x03664e47 in IA__g_log (log_domain=0x36862c6 "GLib",
log_level=G_LOG_LEVEL_CRITICAL, 
    format=0x368c04f "%s: assertion `%s' failed") at gmessages.c:517
#2  0x03664f15 in IA__g_return_if_fail_warning (log_domain=0x36862c6 "GLib",
pretty_function=0x3686f9a "g_convert", 
    expression=0x3686e31 "str != NULL") at gmessages.c:532
#3  0x03649902 in IA__g_convert (str=0x0, len=-1, to_codeset=0x3a6da3
"ISO-8859-1", from_codeset=0x3a6d9d "UTF-8", 
    bytes_read=0x0, bytes_written=0x8581724, error=0x0) at gconvert.c:713
#4  0x003a5b31 in real_save_png (pixbuf=0x85460e0, keys=0x8546408,
values=0x857c4d0, error=0x0, to_callback=0, f=0x8546700, 
    save_func=0, user_data=0x0) at io-png.c:863
#5  0x00d82b6e in IA__gdk_pixbuf_savev (pixbuf=0x85460e0, 
    filename=0x854e188
"/root/.thumbnails/normal/b95641d3e35f490d96f35b331582f878.png.BtJlX9",
type=0x38443ab "png", 
    option_keys=0x8546408, option_values=0x857c4d0, error=0x0) at
gdk-pixbuf-io.c:1417
#6  0x00d82e31 in IA__gdk_pixbuf_save (pixbuf=0x85460e0, 
    filename=0x854e188
"/root/.thumbnails/normal/b95641d3e35f490d96f35b331582f878.png.BtJlX9",
type=0x38443ab "png", 
    error=0x0) at gdk-pixbuf-io.c:1644
#7  0x0382f954 in gnome_thumbnail_factory_save_thumbnail (factory=0x8394db0,
thumbnail=0x85460e0, 
    uri=0x85505b8 "file:///root/GNOME-Peyrouse_1280x1024.jpg",
original_mtime=1137506653) at gnome-thumbnail.c:1175
#8  0x08067e85 in eog_thumbnail_load (uri=0x855d550, job=0x854f370,
error=0x8557660) at eog-thumbnail.c:100
#9  0x08074d68 in job_thumb_create (job=0x854f370, data=0x84ed378,
error=0x8557660) at eog-collection-item.c:318
#10 0x0806a598 in eog_job_call_action (job=0x854f370) at eog-job.c:382
#11 0x0806a10c in thread_start_func (data=0x0) at eog-job-manager.c:85
#12 0x03678925 in g_thread_create_proxy (data=0x8556f50) at gthread.c:582
#13 0x00d9d262 in start_thread (arg=0xb63e5ba0) at pthread_create.c:261
#14 0x00b1d14e in ?? () from /lib/libc.so.6

"ls -al /root/.thumbnails/normal/b95641d3e35f490d96f35b331582f878.png.BtJlX9"
tells me this file is 0 bytes large.

So it seems its the thumbnailer makes it go boom ... more as soon as it starts
to gnome_thumbnail_factory_save_thumbnail, it blows up

Same happens with F-Spot, gives me a:
GLib-CRITICAL **: g_convert: assertion `str != NULL' failed
aborting...

And if i gdb gthumb:
(gdb) run
Starting program: /usr/bin/gthumb 
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x4ba000
[Thread debugging using libthread_db enabled]
[New Thread -1208404304 (LWP 2432)]
[New Thread -1210504288 (LWP 2435)]
[New Thread -1246434400 (LWP 2436)]
[New Thread -1272140896 (LWP 2437)]
[New Thread -1308877920 (LWP 2441)]
[New Thread -1319367776 (LWP 2442)]
[New Thread -1329857632 (LWP 2443)]
[New Thread -1340347488 (LWP 2444)]
[New Thread -1351373920 (LWP 2445)]
[New Thread -1361863776 (LWP 2446)]
[Thread -1361863776 (LWP 2446) exited]

GLib-CRITICAL **: g_convert: assertion `str != NULL' failed
aborting...

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread -1208404304 (LWP 2432)]
IA__g_logv (log_domain=Variable "log_domain" is not available.
) at gmessages.c:502
502               depth--;
(gdb) bt
#0  IA__g_logv (log_domain=Variable "log_domain" is not available.
) at gmessages.c:502
#1  0x03664e47 in IA__g_log (log_domain=0x36862c6 "GLib",
log_level=G_LOG_LEVEL_CRITICAL, 
    format=0x368c04f "%s: assertion `%s' failed") at gmessages.c:517
#2  0x03664f15 in IA__g_return_if_fail_warning (log_domain=0x36862c6 "GLib",
pretty_function=0x3686f9a "g_convert", 
    expression=0x3686e31 "str != NULL") at gmessages.c:532
#3  0x03649902 in IA__g_convert (str=0x0, len=-1, to_codeset=0x12ada3
"ISO-8859-1", from_codeset=0x12ad9d "UTF-8", 
    bytes_read=0x0, bytes_written=0xa2f8e9c, error=0x0) at gconvert.c:713
#4  0x00129b31 in real_save_png (pixbuf=0xa283330, keys=0xa2f8ba8,
values=0xa296c30, error=0x0, to_callback=0, f=0xa2edc30, 
    save_func=0, user_data=0x0) at io-png.c:863
#5  0x00d82b6e in IA__gdk_pixbuf_savev (pixbuf=0xa283330, 
    filename=0xa2e9e40
"/root/.thumbnails/normal/b95641d3e35f490d96f35b331582f878.png.D2R83S",
type=0x38443ab "png", 
    option_keys=0xa2f8ba8, option_values=0xa296c30, error=0x0) at
gdk-pixbuf-io.c:1417
#6  0x00d82e31 in IA__gdk_pixbuf_save (pixbuf=0xa283330, 
    filename=0xa2e9e40
"/root/.thumbnails/normal/b95641d3e35f490d96f35b331582f878.png.D2R83S",
type=0x38443ab "png", 
    error=0x0) at gdk-pixbuf-io.c:1644
#7  0x0382f954 in gnome_thumbnail_factory_save_thumbnail (factory=0xa0ed7a0,
thumbnail=0xa283330, 
    uri=0xa2f5108 "file:///root/GNOME-Peyrouse_1280x1024.jpg",
original_mtime=1137506653) at gnome-thumbnail.c:1175
#8  0x0726e988 in thumb_loader_done_cb (il=0xa0f2830, data=0xa0ed750) at
thumb-loader.c:597
#9  0x00cdd8b8 in IA__g_cclosure_marshal_VOID__VOID (closure=0xa0edca0,
return_value=0x0, n_param_values=1, 
    param_values=0xbf8baa6c, invocation_hint=0xbf8ba94c, marshal_data=0x726e60e)
at gmarshal.c:77
#10 0x00cd0dba in IA__g_closure_invoke (closure=0xa0edca0, return_value=0x0,
n_param_values=1, param_values=0xbf8baa6c, 
    invocation_hint=0xbf8ba94c) at gclosure.c:490
#11 0x00ce1f78 in signal_emit_unlocked_R (node=0xa0ee018, detail=0,
instance=0xa0f2830, emission_return=0x0, 
    instance_and_params=0xbf8baa6c) at gsignal.c:2438
#12 0x00ce33f2 in IA__g_signal_emit_valist (instance=0xa0f2830, signal_id=173,
detail=0, var_args=0x0) at gsignal.c:2197
#13 0x00ce3695 in IA__g_signal_emit (instance=0xa0f2830, signal_id=173,
detail=0) at gsignal.c:2241
#14 0x0725cc96 in image_loader_stop_common (il=0xa0f2830, done_func=0xa283458,
done_func_data=0x0, emit_sig=1)
    at image-loader.c:643
#15 0x0725d3ef in check_thread (data=0xa0f2830) at image-loader.c:519
#16 0x0365d0f0 in g_timeout_dispatch (source=0xa2f8fe0, callback=0x725d34e
<check_thread>, user_data=0xa0f2830)
    at gmain.c:3292
#17 0x0365ca43 in IA__g_main_context_dispatch (context=0xa036ae8) at gmain.c:1916
#18 0x0365fa83 in g_main_context_iterate (context=0xa036ae8, block=1,
dispatch=1, self=0xa01aa30) at gmain.c:2547
#19 0x0365fe2c in IA__g_main_loop_run (loop=0xa2c68d8) at gmain.c:2751
#20 0x03fdafec in IA__gtk_main () at gtkmain.c:991
#21 0x0809e588 in main (argc=Cannot access memory at address 0x0
) at main.c:724


Ps this all crashing and burning does NOT happen with .gif and .png etc images,
it seems to be jpg only..

Pps not sure if gnomeui is the right component, but it handles the thumbnailing
doesn't it?

Comment 1 Chris Chabot 2006-01-17 14:29:30 UTC
Ps i can open the original .jpg image in gimp just fine, it only crashes when it
tries to make / save a thumbnail of it

Comment 2 Chris Chabot 2006-01-17 17:14:46 UTC
Incase this is usefull information:
# rpm -q libgnomeui gnome-session libgnome libjpeg nautilus eog gthumb
libgnomeui-2.13.2-1
gnome-session-2.13.4-2
libgnome-2.13.7-1
libjpeg-6b-36.1
nautilus-2.13.3-2
eog-2.13.5-1
gthumb-2.7.2-1


Comment 3 Matthias Clasen 2006-01-23 13:30:57 UTC
Tracked upstream in http://bugzilla.gnome.org/show_bug.cgi?id=327323

Comment 4 Matthias Clasen 2006-01-27 16:15:12 UTC
Fixed upstream

Comment 5 Ray Strode [halfline] 2006-01-27 17:34:38 UTC
Great, we'll get it on the next update then.

Closing -> UPSTREAM