crash on .jp2 files in jpc_qmfb_join_colgrp

Bug #555238 reported by João Victor
70
This bug affects 14 people
Affects Status Importance Assigned to Milestone
jasper (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Binary package hint: nautilus

ProblemType: Crash
DistroRelease: Ubuntu 10.04
Package: nautilus 1:2.30.0-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.32-19.28-generic 2.6.32.10+drm33.1
Uname: Linux 2.6.32-19-generic x86_64
Architecture: amd64
CrashCounter: 1
Date: Sun Apr 4 13:29:52 2010
ExecutablePath: /usr/bin/nautilus
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Beta amd64 (20100318)
ProcCmdline: nautilus
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7f23eb32ae1c <jpc_qmfb_join_colgrp+124>: mov %r8,(%r10,%rax,1)
 PC (0x7f23eb32ae1c) ok
 source "%r8" ok
 destination "(%r10,%rax,1)" (0x7f23fabee970) not located in a known VMA region (needed writable region)!
SegvReason: writing unknown VMA
Signal: 11
SourcePackage: nautilus
StacktraceTop:
 jpc_qmfb_join_colgrp () from /usr/lib/libjasper.so.1
 jpc_ns_synthesize () from /usr/lib/libjasper.so.1
 jpc_tsfb_synthesize2 () from /usr/lib/libjasper.so.1
 jpc_tsfb_synthesize () from /usr/lib/libjasper.so.1
 ?? () from /usr/lib/libjasper.so.1
Title: nautilus crashed with SIGSEGV in jpc_qmfb_join_colgrp()
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

Revision history for this message
João Victor (joaov-araujo) wrote :
Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thank you taking the time to report this bug and helping to make Ubuntu better. However, processing the crash report to get detailed information for the developers failed as the retracer did not generate a useful symbolic stack trace.
Please try to obtain a backtrace manually following the instructions at http://wiki.ubuntu.com/DebuggingProgramCrash and upload the backtrace (as an attachment) to the bug report. This will greatly help us in tracking down your problem.

Changed in nautilus (Ubuntu):
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
Sebastien Bacher (seb128) wrote :

We are closing this bug report as it lacks the information, described in the previous comments, we need to investigate the problem further. However, please reopen it if you can give us the missing information and don't hesitate to submit bug reports in the future.

affects: nautilus (Ubuntu) → jasper (Ubuntu)
Changed in jasper (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Sebastien Bacher (seb128) wrote :

the issue is likely due a jpg image but without it or a debug stacktrace hard to work on the issue

Revision history for this message
Keith Hughitt (keith-hughitt) wrote :

Good morning,

I am able to replicate this issue in 10.04 64-bit. When attempting to run nautilus, the application crashes and the following error message is displayed:

Initializing nautilus-gdu extension
Segmentation fault

Following the instructions at https://wiki.ubuntu.com/Backtrace I've generating a stack trace for Nautilus. We are working with JPEG 2000 data which is supported by jasper and may be related to the problem.

Some more system information:

Nautilus 1:2.30.1-0ubuntu1
Linux 2.6.32-22-generic x86_64

Please let me know if there is any more information I can provide to assist you.

Revision history for this message
Keith Hughitt (keith-hughitt) wrote :

Good morning,

I am able to replicate this issue in 10.04 64-bit. When attempting to run nautilus, the application crashes and the following error message is displayed:

Initializing nautilus-gdu extension
Segmentation fault

Following the instructions at https://wiki.ubuntu.com/Backtrace I've generating a stack trace for Nautilus. We are working with JPEG 2000 data which is supported by jasper and may be related to the problem.

Some more system information:

Nautilus 1:2.30.1-0ubuntu1
Linux 2.6.32-22-generic x86_64

Please let me know if there is any more information I can provide to assist you.

Revision history for this message
Keith Hughitt (keith-hughitt) wrote :

Following my hunch, I looked for any JP2 files on the Desktop and found one. After renaming it with a .bak extension (so that Nautilus would not attempt to generate a thumbnail for it), I am now able to successfully launch Nautilus. I will attach the problematic file to this thread. Finally, I the file is viewable using some standard tools (Eye of Gnome and ImageMagick).

Revision history for this message
Keith Hughitt (keith-hughitt) wrote :
Revision history for this message
Tim Rawlinson (tim-r) wrote :

I am also experiencing this problem and again it is linked to a JP2 file. I will upload the image in question.

Changed in jasper (Ubuntu):
status: Invalid → Confirmed
Revision history for this message
Tim Rawlinson (tim-r) wrote :
Revision history for this message
Jeffrey Magder (jeff-magder) wrote :

I just came across the same problem after downloading a .jp2 file off the web (Running Ubuntu 10.10). Looking at !/.xsession-errors.old I found:

   ICC Profile CS 52474220
   nautilus: jp2_dec.c:299: jp2_decode: Assertion `dec->image->cmprof_' failed.
   Initializing nautilus-gdu extension

Deleting the .jp2 file fixed the issue.

I don't have any need for the .jp2 files, but this is a serious issue. Anyone who downloads a jp2 file will be unable to use their desktop without deleting the file from a command line.

Revision history for this message
Luke (tiliqua-au) wrote :

I'm also getting nautilus crashes when browsing folders with jp2 images. Backtrace attached.

Revision history for this message
Keith Hughitt (keith-hughitt) wrote :

Does anyone know if this has been reported upstream?

Revision history for this message
Jochen Voß (seehuhn) wrote :

I can still see the bug. For me it is easy to reproduce by performing the following steps:
1) copy the file 2010_05_10__00_00_00_61Z__SDO_AIA_AIA_193.jp2 posted
  by Keith Hughitt into an empty directory
2) ask nautilus to display this directory.

Here is a stack trace, obtained using gdb:

#0 0x00007fffd6af391c in jpc_qmfb_join_colgrp (a=0x7fffc7fff010, numrows=2048, stride=4096, parity=0) at jpc_qmfb.c:786
#1 0x00007fffd6af6ad4 in jpc_ns_synthesize (a=0x7fffc7fff010, xstart=<optimized out>, ystart=<optimized out>, width=2048, height=2048, stride=4096) at jpc_qmfb.c:3131
#2 0x00007fffd6b00df7 in jpc_tsfb_synthesize2 (tsfb=0x7fffd00041c0, a=0x7fffc7fff010, xstart=0, ystart=0, width=2048, height=2048, stride=4096, numlvls=6) at jpc_tsfb.c:170
#3 0x00007fffd6b00da0 in jpc_tsfb_synthesize2 (tsfb=0x7fffd00041c0, a=0x7fffc7fff010, xstart=0, ystart=0, width=4096, height=4096, stride=4096, numlvls=7) at jpc_tsfb.c:161
#4 0x00007fffd6b00e50 in jpc_tsfb_synthesize (tsfb=<optimized out>, a=<optimized out>) at jpc_tsfb.c:154
#5 0x00007fffd6ae9f84 in jpc_dec_tiledecode (dec=0x7fffd00032c0, tile=0x7fffd00030e0) at jpc_dec.c:1065
#6 0x00007fffd6aec301 in jpc_dec_process_sod (dec=0x7fffd00032c0, ms=0x0) at jpc_dec.c:620
#7 0x00007fffd6aeb6ad in jpc_dec_decode (dec=0x7fffd00032c0) at jpc_dec.c:390
#8 jpc_decode (in=<optimized out>, optstr=<optimized out>) at jpc_dec.c:254
#9 0x00007fffd6ae4b48 in jp2_decode (in=0x7fffd0017460, optstr=0x0) at jp2_dec.c:215
#10 0x00007fffd6ad941c in jas_image_decode (in=0x7fffd0017460, fmt=<optimized out>, optstr=0x0) at jas_image.c:372
#11 0x00007fffd73a0e0d in ?? () from /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0//2.10.0/loaders/libpixbufloader-jasper.so
#12 0x00007ffff5f470f1 in gdk_pixbuf_loader_close () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#13 0x00007ffff77ad02a in ?? () from /usr/lib/libgnome-desktop-3.so.2
#14 0x00007ffff77ad66c in gnome_desktop_thumbnail_factory_generate_thumbnail () from /usr/lib/libgnome-desktop-3.so.2
#15 0x00000000004db08b in thumbnail_thread_start (data=<optimized out>) at nautilus-thumbnails.c:726
#16 0x00007ffff4b4befc in start_thread (arg=0x7fffd75c3700) at pthread_create.c:304
#17 0x00007ffff3a7f59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

The line where nautilus crashes is the assignment to *dstptr2
in the inner loop of the following code block from jpc_qmfb.c:

        /* Save the samples from the lowpass channel. */
        n = hstartcol;
        srcptr = &a[0];
        dstptr = buf;
        while (n-- > 0) {
                dstptr2 = dstptr;
                srcptr2 = srcptr;
                for (i = 0; i < JPC_QMFB_COLGRPSIZE; ++i) {
                        *dstptr2 = *srcptr2;
                        ++dstptr2;
                        ++srcptr2;
                }
                srcptr += stride;
                dstptr += JPC_QMFB_COLGRPSIZE;
        }

Maybe the destination buffer is too small and this is just a buffer
overflow?

I hope this helps,
Jochen

Revision history for this message
Pascal Mons (anton+) wrote :

My 2 cents on this "bug" after experementing 3 versions of OpenJPEG release. [http://www.openjpeg.org/]

The official version released in any Debian or Ubuntu distribution is libopenjpeg2_1.3+dfsg [...]. This package is build from version 1.3 of the source code from the Google Code project http://code.google.com/p/openjpeg/

Since then they have released version 1.4, 1.5, 1.5.1 and 2.0.0. My own experience for having installed version 1.3, 1.5 and 2.0.0 is that the compressed images j2k are not compatible between versions. You end up with a crash in the jasper package. See their Canadian website @ http://www.ece.uvic.ca/~frodo/jasper/

However for some reason when another version is installed jasper crashed and following this crash Nautilus or Nemo crash as well.

Aside from the jasper / nautilus - nemo trouble between different OpenPEG versions, GIMP or GPicView had no problem opening j2k images from other versions of OpenJPEG.

When recompressing the source images to j2k with the new version I idn't get any crash. However the thumbnail will not show up on some images ... all thumbnails only appear with the official v1.3 version still part of the latest distibutions from Ubuntu or Debian.

See their website for experimenting on samples

http://www.openjpeg.org/index.php?menu=samples

Revision history for this message
Pascal Mons (anton+) wrote :

Just an update on my previous post.

I discovered that even when building new jpeg2000 images (format .j2k) from any version installed (1.3, 1.5 or 2.0.0), Nautilus or Nemo will crash when opening the containing folder of some of these images (not all ...).

The solution is simple : You have first to open these images with GIMP. Ounce GIMP has open these images their thumbnail is displayed by Nautilus / Nemo and does not crash ...

May be there is some investigation to perform on this ... on the part of the plug-in used in Nautilus / Nemo.

Revision history for this message
scruss (scruss) wrote :

Still being hit by this in 14.10 x86_64

Revision history for this message
satreth (satreth) wrote :

I'm still affected on 15.04 x86_64.

I get the crash when nautilus tries to create a thumbnail for an Apple icon file.
From Wikipedia I see that .ICNS can contain jpeg2000 images.

Vlad Orlov (monsta)
summary: - nautilus crashed with SIGSEGV in jpc_qmfb_join_colgrp()
+ crash on .jp2 files in jpc_qmfb_join_colgrp
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.