nautilus crashed with SIGSEGV in _gdk_pixbuf_new_from_uri_at_scale()

Bug #1203349 reported by Doug McMahon on 2013-07-20
246
This bug affects 48 people
Affects Status Importance Assigned to Milestone
nautilus-python (Ubuntu)
Medium
Unassigned

Bug Description

Occurs when opening a folder that contains a video or audio file that is invalid or a 0 byte file. Nautilus crashes on the invalid or o byte file when attempting to thumbnail instead of just moving past
Generally there would be no reason to have such file but it can be created when an encoder errors out
nautilus should be able to deal with gracefully without crashing

Test case:
run in terminal -
touch Videos/1.mp4
Now try to open Videos in nautilus

nautilus Videos
sys:1: Warning: g_object_set: assertion 'G_IS_OBJECT (object)' failed

** (nautilus:4334): CRITICAL **: nautilus_menu_provider_get_background_items: assertion 'NAUTILUS_IS_MENU_PROVIDER (provider)' failed

** (nautilus:4334): CRITICAL **: nautilus_menu_provider_get_background_items: assertion 'NAUTILUS_IS_MENU_PROVIDER (provider)' failed
totem-video-thumbnailer couldn't open file 'file:///home/doug/Videos/1.mp4'

(nautilus:4334): GdkPixbuf-CRITICAL **: gdk_pixbuf_loader_close: assertion 'GDK_IS_PIXBUF_LOADER (loader)' failed

(nautilus:4334): GdkPixbuf-CRITICAL **: gdk_pixbuf_loader_get_pixbuf: assertion 'GDK_IS_PIXBUF_LOADER (loader)' failed
sys:1: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Segmentation fault (core dumped)

ProblemType: Crash
DistroRelease: Ubuntu 13.10
Package: nautilus 1:3.8.2-0ubuntu1
ProcVersionSignature: Ubuntu 3.10.0-4.13-generic 3.10.1
Uname: Linux 3.10.0-4-generic x86_64
ApportVersion: 2.11-0ubuntu1
Architecture: amd64
Date: Sat Jul 20 13:53:27 2013
ExecutablePath: /usr/bin/nautilus
GsettingsChanges: b'org.gnome.nautilus.window-state' b'geometry' b"'1018x500+57+24'"
InstallationDate: Installed on 2013-07-13 (6 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Alpha amd64 (20130712)
MarkForUpload: True
ProcCmdline: nautilus -n
ProcEnviron:
 LANGUAGE=en_US
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7f2535c621e0 <sem_post>: mov (%rdi),%eax
 PC (0x7f2535c621e0) ok
 source "(%rdi)" (0x00000000) not located in a known VMA region (needed readable region)!
 destination "%eax" ok
 Stack memory exhausted (SP below stack segment)
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: nautilus
StacktraceTop:
 ?? () from /usr/lib/libgnome-desktop-3.so.7
 gnome_desktop_thumbnail_factory_generate_thumbnail () from /usr/lib/libgnome-desktop-3.so.7
 ?? ()
 start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
 clone () from /lib/x86_64-linux-gnu/libc.so.6
Title: nautilus crashed with SIGSEGV in gnome_desktop_thumbnail_factory_generate_thumbnail()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
usr_lib_nautilus:
 brasero 3.8.0-1ubuntu2
 file-roller 3.8.3-0ubuntu1
 python-nautilus 1.1-3ubuntu3
 totem 3.8.2-0ubuntu1

Doug McMahon (mc3man) wrote :

StacktraceTop:
 _gdk_pixbuf_new_from_uri_at_scale (uri=uri@entry=0x2874d50 "file:///media/doug/0a803857-8b6f-4332-82b4-85ebf8283805/home/doug/Videos/Youtube/Amy%20Winehouse%20-%20Back%20To%20Black.mp4", width=width@entry=256, height=height@entry=256, preserve_aspect_ratio=1) at gnome-desktop-thumbnail.c:469
 gnome_desktop_thumbnail_factory_generate_thumbnail (factory=<optimized out>, uri=0x2874d50 "file:///media/doug/0a803857-8b6f-4332-82b4-85ebf8283805/home/doug/Videos/Youtube/Amy%20Winehouse%20-%20Back%20To%20Black.mp4", mime_type=<optimized out>) at gnome-desktop-thumbnail.c:1223
 thumbnail_thread_start (data=<optimized out>) at nautilus-thumbnails.c:546
 start_thread (arg=0x7f2511a06700) at pthread_create.c:311
 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Changed in nautilus (Ubuntu):
importance: Undecided → Medium
summary: - nautilus crashed with SIGSEGV in
- gnome_desktop_thumbnail_factory_generate_thumbnail()
+ nautilus crashed with SIGSEGV in _gdk_pixbuf_new_from_uri_at_scale()
tags: removed: need-amd64-retrace
Doug McMahon (mc3man) on 2013-07-20
information type: Private → Public
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu Package testing tracker.

A list of all reports related to this bug can be found here:
http://packages.qa.ubuntu.com/qatracker/reports/bugs/1203349

tags: added: package-qa-testing
Doug McMahon (mc3man) on 2013-07-22
description: updated
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nautilus (Ubuntu):
status: New → Confirmed
Shaharil Ahmad (shaharil-ahmad) wrote :

also on saucy

saucy too

Sukarn Maini (sukarn) wrote :

Getting this bug in saucy when downloading a png file to my Desktop.
nautilus crashes, taking my desktop down with it, and Desktop does not come back until nautilus is opened manually.

Sebastien Bacher (seb128) wrote :

do you have python-nautilus installed? does it happen without it?

Tepee (tepee) wrote :

It crashes with python-nautilus installed.
Once uninstalled (I had to uninstal nautilus-emblems too because of dependencie), there is no more crash.
With Ubuntu 13.10.

Richard Ayotte (rich-ayotte) wrote :

Downloaded a pdf and saved to Desktop on Saucy = crash.

On 10/07/2013 09:59 AM, Sebastien Bacher wrote:
> do you have python-nautilus installed? does it happen without it?
>
On the affected install yes, python-nautilus is installed but it doesn't
seem to be p-n per-se.

If I only use one of the example extensions that's in the n-p package
then no poor behavior (open-terminal.py
However if I use the "geditas" extension (geditas.py), from the nautilus
actions extra ppa then the poor behavior occurs.
So it seems more an issue with that extension then n-p itself
(- whether other extensions from that ppa cause issue haven't tried but
most users aren't installing n-p unless they're using an extension(s) &
that ppa is the most common source of such.

I've got something very comparable: "nautilus crashed with SIGSEGV in gnome_desktop_thumbnail_factory_generate_thumbnail()". I think it is best to add my info

When creating an empty image file, the thumbnail-function gnome_desktop_thumbnail_factory_generate_thumbnail() makes Nautilus crash.

This error is only given when running nautilus as root, as normal user it just crashes without any message.

To get this error:

- open Nautilus
- go to your home-directory with Nautilus
- create an empty jpg or png in your home-directory ("gedit file.png" and then save this file)
- wait up to 3 seconds
- Nautilus crashes

From what I read form the code, it seems not to check if data-size is 0 (gdk_pixbuf_get_byte_length is not used), or gets a non-zero width and length.

See https://developer.gnome.org/gdk-pixbuf/stable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf for documentation and https://github.com/GNOME/libgnomeui/blob/master/libgnomeui/gnome-thumbnail.c for the source.

John Russell (jrussell-88) wrote :

Ubuntu 13.10
Nautilus 3.8.2

Nautilus has just started displaying this behaviour on my system today, when opening as a normal user. I think all of the zero-byte files - almost all old windows files e.g. wmv - have been there for over a year, but after deleting them Nautilus opens.

Timo Palomaa (timppis) wrote :

Also started having this in 13.10, nautilus 3.8.2. Too bad didn't check when the 0-byte file was created (was a 0 byte .gif), but I'm fairly sure it was there previously. Yesterday I did some system updates though...

In my case I narrowed the problem down to nautilus-compare package.

Frequently happen on my Download folder, Desktop, when encoding file and also on external hdd when the process are interupted or incomplete. The 0 byte file making folder and hdd inaccessable and also my desktop files on saucy gone.

Ningfei Li (ningfei) wrote :

Ubuntu 13.10
Nautilus 3.8.2

crashes with python-nautilus installed, when dowloading pdf and video files

Sebastien Bacher (seb128) wrote :

The issue is a nautilus-python one, reassigning there

affects: nautilus (Ubuntu) → nautilus-python (Ubuntu)
Giuseppe Pennisi (giupenni78) wrote :

Same problem with Ubuntu 13.10 and Nautilus 3.6.1 when download video files.

Giuseppe Pennisi (giupenni78) wrote :

Errata Corrige: Nautilus 3.8.2

Jase Whipp (jason-whipp) wrote :

Same issue here; Nautilus 3.8.2 .. Happens any time there is an image file that is 0 bytes.

Sridhar Dhanapalan (sridhar) wrote :

As reported in #1262504, I had a 0-byte file with extension .pdf in ~/Desktop (probably created by Evince or Firefox). Changing the extension solved the problem.

Doug McMahon (mc3man) wrote :

This is fixed in 14.04, from what no idea
(isn't 14.04 versions of nautilus*, totem*, nautilus-python, libglib* per se

considering 13.10 only has 7 months or so to live probably doesn't matter to figure out..

Doug McMahon (mc3man) wrote :

Well, - upgraded libgtk-3-0 to 3-0_3.8.7 in 13.10 & the issue disappeared
(note that also inc. glib to 2.39.2, ect., not really inclined to backtrack & see if it's only a gtk issue

asala (asala) wrote :

Well, catering for "plain users" which will not install 14.04 till released, maybe instead of backtracking in already-obsolete core GTK stuff, somebody could just add a "quick-and-dirty" patch saying "if file size equals zero don't show preview" (I'm not a developer and so I don't really know but matbe its' two lines) would be helpful, as you say, it's still several month of support remaining for 13.10 before EOL.

I was affected by the bug hit when I had a .dvi file with zero size (13.10). Indeed, as of late February, the version of libgtk-3-0 that I have is 3.8.6-0ubuntu3.1, (I just did apt-get update and dist-upgrade). How did you upgrade to 3.8.7 in 13.10?

Anthony Borrow (arborrow) wrote :

Similarly, I just experienced this with a 0 byte flv file under Saucy (updated). Running nautilus 1:3.8.2-0ubuntu2.2 and libgtk-3-0 3.8.6-0ubuntu3.1. I would expect the zero file size to be ignored rather than crash Nautilus. Peace - Anthony

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers