← Back to team overview

desktop-packages team mailing list archive

[Bug 1444790] Re: crash if thumbnailer fails to produce output

 

If you rename a jp2 file to jpg, it doesn't cause nautilus to crash. It
just shows the 'generic image' icon that's also used if an image is
larger than the limit set for previewing, and eog is unable to open it.

If a jp2 file is renamed to have a non-image suffix, nautilus will be
busy (100% cpu) for a second or two and then the image will use the
'generic icon', without nautilus crashing. With image suffixes, this
doesn't occur.

I also managed to replicate a bug that I avoided reporting earlier
because I couldn't replicate it again. A png image has a 'corrupted'
thumbnail, what is obviously the result of the file being read in an
unfinished state. That is, gnome-thumbnailer or nautilus, or whatever is
creating thumbnails, should be waiting until a file's modification time
is 3 seconds in the past before trying to create a thumbnail for it,
based on the code I looked at. This seems to work for video files, but
not for images. When this happened before I verified that the difference
between the modification time for the thumbnail (now in
~/.cache/thumbnails in Ubuntu, previously in ~/.thumbnails), and the
time for the file as recorded in the thumbnail's PNG data and the same
as for the actual file, was less than three seconds, being around 1
second. Maybe nautilus is not using this code though.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nautilus in Ubuntu.
https://bugs.launchpad.net/bugs/1444790

Title:
  crash if thumbnailer fails to produce output

Status in nautilus package in Ubuntu:
  New

Bug description:
  Step 1: Use a custom thumbnailer which doesn't always produce output.
  I'm personally using this one, since the default size (256x256) often
  produces a png thumbnail which takes more space than the original jpg
  image, and imagemagick's convert seems to have a bug for palette-png
  to grayscale conversion:

  [Thumbnailer Entry]
  TryExec=ffmpeg
  Exec=ffmpeg -i %i -vf "scale='min(iw,128):min(ih,128):force_original_aspect_ratio=decrease',format=rgba|rgb24" -frames 1 -y -f image2 -c:v png %o
  MimeType=image/gif;image/jpeg;image/png;image/jp2;image/x-webp

  Step 2: navigate to a folder that the thumbnailer can't handle. For
  me, that was "balloon.jp2" from http://opf-labs.org/format-corpus
  /jp2k-formats/

  My version of ffmpeg says on the command line that "Progression order
  RPCL is not implemented. [...] Output file is empty, nothing was
  encoded". Not having any file from the thumbnailer, or maybe having an
  empty, 0-byte file (ffmpeg does not produce a 0-byte output file from
  the command line), causes nautilus to freeze and crash.

  This happened multiple times. However, just now I checked and it
  didn't crash, and a thumbnail exists for the jp2 image, /sigh. But
  creating a copy of the jp2 image does lead to crashes. Ok, the reason
  is that eog creates a thumbnail when one doesn't exist and the
  system's default thumbnailers fail. Opening the image gallery in eog
  causes thumbnails to be created for all visible images.

  That is, when running eog from a terminal, opening the image gallery
  caused ffmpeg's output (with the error message) to be displayed in
  that terminal. But the thumbnail is still created, and eog must have
  done it.

  It's also possible nautilus crashes when the fallback gnome-
  thumbnailer fails to create a file, which I think is what happens when
  it tries to open a jpeg-2000 file. A few months ago I noted this bug:

  >Another bug, crashes when trying to generate thumbnail for jpeg-2000
  (jp2). Avoided if thumbnail is already created, maybe in some other
  cases too. Possibly just when thumbnail isn't created quickly enough
  (thumbnailer fails or something).

  ...but apparently I fixed it somehow, not sure.

  So it's totally fine that no thumbnail is created when the existing
  thumbnailer entries aren't sufficient. But nautilus shouldn't crash.
  When running nautilus from the command line, it says there was a
  segmentation fault, core dumped, with a crash file being generated in
  /var/crash (which I'm deleting).

  ProblemType: Bug
  DistroRelease: Ubuntu 14.10
  Package: nautilus 1:3.10.1-0ubuntu15.1
  ProcVersionSignature: Ubuntu 3.16.0-30.40-generic 3.16.7-ckt3
  Uname: Linux 3.16.0-30-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.14.7-0ubuntu8.3
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Wed Apr 15 20:48:20 2015
  GsettingsChanges:
   b'org.gnome.nautilus.list-view' b'default-visible-columns' b"['name', 'size', 'date_modified', 'date_accessed', 'type']"
   b'org.gnome.nautilus.list-view' b'default-column-order' b"['name', 'size', 'date_modified', 'date_accessed', 'type', 'group', 'where', 'mime_type', 'owner', 'permissions']"
  SourcePackage: nautilus
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1444790/+subscriptions


References