Bug#657713: nautilus: deadlock while thumbnailing certain files
Simon McVittie
smcv at debian.org
Sat Jan 28 10:01:08 UTC 2012
Package: nautilus
Version: 2.30.1-2squeeze1
Severity: normal
Nautilus frequently stops responding when browsing a particular
directory, which contains:
* 4 0.5 - 1.8 MiB TIFF files, one of which has been converted to PNG
(1.1 MiB) and embedded in a SVG file (4 KiB)
* 5 0.5 - 2.2 MiB PDF files
* a 4.3 MiB OpenOffice document (ODT)
The backtrace suggests that this is some sort of deadlock in the
thumbnailing code. Both threads appear to be trying to acquire the same
lock: perhaps it wasn't previously released correctly?
This can be worked around by switching off thumbnailing.
I have taken a copy of the offending directory, and a core dump at the
time of the deadlock. Here are the backtraces:
(gdb) set pagination off
Current language: auto
The current source language is "auto; currently asm".
(gdb) thread apply all bt
Thread 2 (Thread 0x7f40c780c700 (LWP 32668)):
#0 __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1 0x00007f40d17ed0e9 in _L_lock_953 () from /lib/libpthread.so.0
#2 0x00007f40d17ecf0b in __pthread_mutex_lock (mutex=0x7f40d0aed9a8) at
pthread_mutex_lock.c:61
#3 0x00007f40d08d95a9 in _gdk_pixbuf_lock (image_module=<value
optimized out>) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-io.c:119
#4 0x00007f40d08dcde5 in gdk_pixbuf_loader_load_module
(loader=0x226e180, image_type=<value optimized out>, error=0x0) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:379
#5 0x00007f40d08dd8b3 in gdk_pixbuf_loader_eat_header_write
(loader=0x226e180, buf=0x7f40c7206010 "II*", count=1788584, error=0x0)
at /scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:417
#6 IA__gdk_pixbuf_loader_write (loader=0x226e180, buf=0x7f40c7206010
"II*", count=1788584, error=0x0) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:463
#7 0x00007f40bf62a99e in rsvg_pixbuf_new_from_href (href=0x1b7d480
"file:///home/helen/Documents/Uni/MRes/fluorescence%20microscopy%20practical/wf_cy2.tif",
base_uri=<value optimized out>, error=0x0) at rsvg-image.c:394
#8 0x00007f40bf62ab80 in rsvg_node_image_set_atts (self=0x23de6d0,
ctx=0x7f40b000e5a0, atts=0x22290a0) at rsvg-image.c:532
#9 0x00007f40bf646e8f in rsvg_standard_element_start
(ctx=0x7f40b000e5a0, name=0x207d480 "image", atts=0x22290a0) at
rsvg-base.c:268
#10 0x00007f40bf64784b in rsvg_start_element (data=0x7f40b000e5a0,
name=0x207d480 "image", atts=<value optimized out>) at rsvg-base.c:663
#11 0x00007f40cf2a749b in xmlParseStartTag__internal_alias
(ctxt=0x2123930) at ../../parser.c:8285
#12 0x00007f40cf2ad653 in xmlParseTryOrFinish (ctxt=0x2123930,
terminate=0) at ../../parser.c:10968
#13 0x00007f40cf2ae2ab in xmlParseChunk__internal_alias (ctxt=0x2123930,
chunk=0x7f40c780af40 " orient=\"auto\"\n refY=\"0.0\"\n
refX=\"0.0\"\n id=\"StopL\"\n style=\"overflow:visible\">\n
<path\n id=\"path3765\"\n d=\"M 0.0,5.65 L
0.0,-5.65\"\n style=\"fill:no"..., size=2884, terminate=0) at
../../parser.c:11739
#14 0x00007f40bf645ba2 in rsvg_handle_write_impl (handle=0x7f40b000e5a0,
buf=0x7f40c780af40 " orient=\"auto\"\n refY=\"0.0\"\n
refX=\"0.0\"\n id=\"StopL\"\n style=\"overflow:visible\">\n
<path\n id=\"path3765\"\n d=\"M 0.0,5.65 L
0.0,-5.65\"\n style=\"fill:no"..., count=2884, error=0x0) at
rsvg-base.c:1128
#15 0x00007f40bf855d91 in gdk_pixbuf__svg_image_load_increment
(data=0x23ec900, buf=0x7f40c780af40 " orient=\"auto\"\n
refY=\"0.0\"\n refX=\"0.0\"\n id=\"StopL\"\n
style=\"overflow:visible\">\n <path\n id=\"path3765\"\n
d=\"M 0.0,5.65 L 0.0,-5.65\"\n style=\"fill:no"...,
size=3501119848, error=0x0) at io-svg.c:128
#16 0x00007f40d08dd81f in IA__gdk_pixbuf_loader_write (loader=0x2244d20,
buf=0x7f40c780af40 " orient=\"auto\"\n refY=\"0.0\"\n
refX=\"0.0\"\n id=\"StopL\"\n style=\"overflow:visible\">\n
<path\n id=\"path3765\"\n d=\"M 0.0,5.65 L
0.0,-5.65\"\n style=\"fill:no"..., count=2884, error=0x0) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:473
#17 0x00007f40d1e45fe2 in ?? () from /usr/lib/libgnome-desktop-2.so.17
#18 0x00007f40d1e4635c in
gnome_desktop_thumbnail_factory_generate_thumbnail () from
/usr/lib/libgnome-desktop-2.so.17
#19 0x0000000000501ca1 in thumbnail_thread_start (data=<value optimized
out>) at nautilus-thumbnails.c:1000
#20 0x00007f40d17ea8ba in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#21 0x00007f40ce2b802d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#22 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7f40d2a79980 (LWP 5110)):
#0 __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1 0x00007f40d17ed0e9 in _L_lock_953 () from /lib/libpthread.so.0
#2 0x00007f40d17ecf0b in __pthread_mutex_lock (mutex=0x7f40d0aed9a8) at
pthread_mutex_lock.c:61
#3 0x00007f40d08d95a9 in _gdk_pixbuf_lock (image_module=<value
optimized out>) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-io.c:119
#4 0x00007f40d08dcde5 in gdk_pixbuf_loader_load_module
(loader=0x1c0e520, image_type=<value optimized out>,
error=0x7f40c0036448) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:379
#5 0x00007f40d08dd8b3 in gdk_pixbuf_loader_eat_header_write
(loader=0x1c0e520, buf=0x7fff6ba5ea80 "<?xml version=\"1.0\"
encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC
\"-//W3C//DTD SVG
20010904//EN\"\n\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\n<!--
Created with Sodipodi (\"http"..., count=65536, error=0x7f40c0036448) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:417
#6 IA__gdk_pixbuf_loader_write (loader=0x1c0e520, buf=0x7fff6ba5ea80
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE
svg PUBLIC \"-//W3C//DTD SVG
20010904//EN\"\n\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\">\n<!--
Created with Sodipodi (\"http"..., count=65536, error=0x7f40c0036448) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-loader.c:463
#7 0x00007f40d08da79f in load_from_stream (loader=0x1c0e520,
stream=0x1b83f00, cancellable=0x0, error=0x7f40c0036448) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-io.c:1533
#8 0x00007f40d08da8f1 in IA__gdk_pixbuf_new_from_stream_at_scale
(stream=0x1b83f00, width=96, height=96, preserve_aspect_ratio=<value
optimized out>, cancellable=0x0, error=0x7f40c0036448) at
/scratch/build-area/gtk+2.0-2.20.1/gdk-pixbuf/gdk-pixbuf-io.c:1613
#9 0x00007f40d10c83cc in icon_info_ensure_scale_and_pixbuf
(icon_info=0x7f40c0036400, scale_only=<value optimized out>) at
/scratch/build-area/gtk+2.0-2.20.1/gtk/gtkicontheme.c:2925
#10 0x00007f40d10c8af2 in IA__gtk_icon_info_load_icon
(icon_info=0x7f40c0036400, error=0x0) at
/scratch/build-area/gtk+2.0-2.20.1/gtk/gtkicontheme.c:3066
#11 0x00000000004eeeae in nautilus_icon_info_new_for_icon_info
(icon=<value optimized out>, size=96) at nautilus-icon-info.c:144
#12 nautilus_icon_info_lookup (icon=<value optimized out>, size=96) at
nautilus-icon-info.c:405
#13 0x00000000004d4306 in nautilus_file_get_icon (file=<value optimized
out>, size=96, flags=9) at nautilus-file.c:4248
#14 0x00000000004d45ce in nautilus_file_get_icon_pixbuf
(file=0x7f40d0aed9a8, size=128, force_size=1, flags=4294967295) at
nautilus-file.c:4269
#15 0x000000000045ccec in update_icon (sidebar_title=0x198d8c0) at
nautilus-sidebar-title.c:311
#16 0x000000000045d1a6 in update_all (sidebar_title=0x7f40d0aed9a8) at
nautilus-sidebar-title.c:576
#17 0x000000000043f08c in selection_changed_callback (window=<value
optimized out>, panel=0x1f9a700) at nautilus-information-panel.c:1132
#18 0x00007f40cfedc47e in IA__g_closure_invoke (closure=0x20eb7d0,
return_value=0x0, n_param_values=1, param_values=0x7f40b008ff80,
invocation_hint=0x7fff6ba6ee00) at
/scratch/build-area/glib2.0-2.24.2/gobject/gclosure.c:767
#19 0x00007f40cfef23f7 in signal_emit_unlocked_R (node=0x199d540,
detail=<value optimized out>, instance=<value optimized out>,
emission_return=<value optimized out>, instance_and_params=<value
optimized out>) at /scratch/build-area/glib2.0-2.24.2/gobject/gsignal.c:3248
#20 0x00007f40cfef3a76 in IA__g_signal_emit_valist (instance=0x1cf8280,
signal_id=<value optimized out>, detail=0, var_args=0x7fff6ba6f010) at
/scratch/build-area/glib2.0-2.24.2/gobject/gsignal.c:2981
#21 0x00007f40cfef3d93 in IA__g_signal_emit_by_name (instance=0x1cf8280,
detailed_signal=0x57e508 "selection_changed") at
/scratch/build-area/glib2.0-2.24.2/gobject/gsignal.c:3075
#22 0x0000000000471683 in fm_directory_view_send_selection_change
(view=0x2070380) at fm-directory-view.c:2313
#23 0x00000000004760ab in display_selection_info_idle_callback
(data=<value optimized out>) at fm-directory-view.c:2916
#24 0x00007f40cf5ec6f2 in g_main_dispatch (context=0x18d91b0) at
/scratch/build-area/glib2.0-2.24.2/glib/gmain.c:1960
#25 IA__g_main_context_dispatch (context=0x18d91b0) at
/scratch/build-area/glib2.0-2.24.2/glib/gmain.c:2513
#26 0x00007f40cf5f0568 in g_main_context_iterate (context=0x18d91b0,
block=<value optimized out>, dispatch=<value optimized out>, self=<value
optimized out>) at /scratch/build-area/glib2.0-2.24.2/glib/gmain.c:2591
#27 0x00007f40cf5f0a75 in IA__g_main_loop_run (loop=0x1a96db0) at
/scratch/build-area/glib2.0-2.24.2/glib/gmain.c:2799
#28 0x00007f40d10f76b7 in IA__gtk_main () at
/scratch/build-area/gtk+2.0-2.20.1/gtk/gtkmain.c:1219
#29 0x0000000000442f42 in main (argc=1, argv=0x7fff6ba6f6c8) at
nautilus-main.c:544
(gdb)
-- System Information:
Debian Release: 6.0.3
APT prefers stable
APT policy: (900, 'stable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages nautilus depends on:
ii desktop-file-utils 0.15-2 Utilities for .desktop files
ii gvfs 1.6.4-3 userspace virtual
filesystem - ser
ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit
ii libc6 2.11.2-10 Embedded GNU C Library:
Shared lib
ii libcairo2 1.10.2-6~bpo60+1 The Cairo 2D vector
graphics libra
ii libdbus-glib-1-2 0.88-2.1 simple interprocess
messaging syst
ii libexempi3 2.1.1-1 library to parse XMP
metadata (Lib
ii libexif12 0.6.19-1 library to parse EXIF files
ii libgail18 2.20.1-2 GNOME Accessibility
Implementation
ii libgconf2-4 2.28.1-6 GNOME configuration
database syste
ii libglib2.0-0 2.24.2-1 The GLib library of C routines
ii libglib2.0-data 2.24.2-1 Common files for GLib library
ii libgnome-desktop-2 2.30.2-2 Utility library for loading
.deskt
ii libgtk2.0-0 2.20.1-2 The GTK+ graphical user
interface ii libice6 2:1.0.6-2 X11 Inter-Client
Exchange library
ii libnautilus-extens 2.30.1-2squeeze1 libraries for nautilus
components ii libpango1.0-0 1.28.3-1+squeeze2 Layout and
rendering of internatio
ii libselinux1 2.0.96-1 SELinux runtime shared
libraries
ii libsm6 2:1.1.1-1 X11 Session Management library
ii libunique-1.0-0 1.1.6-1.1 Library for writing single
instanc
ii libx11-6 2:1.3.3-4 X11 client-side library
ii libxml2 2.7.8.dfsg-2+squeeze1 GNOME XML library
ii libxrender1 1:0.9.6-1 X Rendering Extension
client libra
ii nautilus-data 2.30.1-2squeeze1 data files for nautilus
ii shared-mime-info 0.71-4 FreeDesktop.org shared MIME
databa
Versions of packages nautilus recommends:
ii app-install-d 2010.11.17 Application Installer Data
Files
ii brasero 2.30.3-2 CD/DVD burning application
for GNO
ii consolekit 0.4.1-4 framework for defining and
trackin
ii desktop-base 6.0.5squeeze1 common files for the Debian
Deskto
ii eject 2.1.5+deb1+cvs20081104-7.1 ejects CDs and operates
CD-Changer
ii gvfs-backends 1.6.4-3 userspace virtual
filesystem - bac
ii librsvg2-comm 2.26.3-1 SAX-based renderer library
for SVG
ii synaptic 0.70~pre1+b1 Graphical package manager
Versions of packages nautilus suggests:
ii eog 2.30.2-1 Eye of GNOME graphics
viewer progr
ii evince [pdf-viewer] 2.30.3-2+squeeze1 Document (PostScript, PDF)
viewer
ii totem 2.30.2-6 A simple media player for
the GNOM
pn tracker <none> (no description available)
ii vlc [mp3-decoder] 1.1.3-1squeeze6 multimedia player and streamer
ii vlc-nox [mp3-decoder] 1.1.3-1squeeze6 multimedia player and
streamer (wi
ii xdg-user-dirs 0.13-2 tool to manage well known
user dir
-- no debconf information
More information about the pkg-gnome-maintainers
mailing list