Bug 338907

Summary: gwenview crashes immediatly when opening jpeg 2000
Product: [Applications] gwenview Reporter: Robert Riemann <robert>
Component: generalAssignee: Gwenview Bugs <gwenview-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: cfeck, kikegall, myriam, richardjasmin123
Priority: NOR    
Version: Other (add details in bug description)   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Robert Riemann 2014-09-08 13:28:11 UTC
Application: gwenview (4.11.4)
KDE Platform Version: 4.11.5
Qt Version: 4.8.5
Operating System: Linux 3.11.10-21-desktop x86_64
Distribution: "openSUSE 13.1 (Bottle) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

I went to this page:
http://www.fnordware.com/j2k/jp2samples.html

And downloaded http://www.fnordware.com/j2k/relax.jp2 into my /tmp.
When I click on the file icon in Dolphin to open it with Gwenview, the app crashes immediatly.

The crash can be reproduced every time.

-- Backtrace:
Application: Gwenview (gwenview), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f82456a9880 (LWP 21131))]

Thread 4 (Thread 0x7f822d8e1700 (LWP 21136)):
#0  0x00007f823de6effd in ?? () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f823de6f289 in g_mutex_lock () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f823de2f6f8 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f82444edd76 in QEventDispatcherGlib::processEvents (this=0x7f82200008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#4  0x00007f82444bfd0f in QEventLoop::processEvents (this=this@entry=0x7f822d8e0d20, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f82444c0005 in QEventLoop::exec (this=this@entry=0x7f822d8e0d20, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f82443befef in QThread::exec (this=this@entry=0x1a015a0) at thread/qthread.cpp:536
#7  0x00007f82444a1513 in QInotifyFileSystemWatcherEngine::run (this=0x1a015a0) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f82443c168f in QThreadPrivate::start (arg=0x1a015a0) at thread/qthread_unix.cpp:338
#9  0x00007f823fdb30db in start_thread (arg=0x7f822d8e1700) at pthread_create.c:309
#10 0x00007f8241e4290d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f8226a16700 (LWP 21138)):
#0  0x00007f823de6effa in ?? () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f823de6f289 in g_mutex_lock () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f823de2ecb9 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f823de2f523 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f823de2f70c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007f82444edd76 in QEventDispatcherGlib::processEvents (this=0x7f821c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0x00007f82444bfd0f in QEventLoop::processEvents (this=this@entry=0x7f8226a15d20, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f82444c0005 in QEventLoop::exec (this=this@entry=0x7f8226a15d20, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f82443befef in QThread::exec (this=this@entry=0x202cb40) at thread/qthread.cpp:536
#9  0x00007f82444a1513 in QInotifyFileSystemWatcherEngine::run (this=0x202cb40) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x00007f82443c168f in QThreadPrivate::start (arg=0x202cb40) at thread/qthread_unix.cpp:338
#11 0x00007f823fdb30db in start_thread (arg=0x7f8226a16700) at pthread_create.c:309
#12 0x00007f8241e4290d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f8225faa700 (LWP 21141)):
[KCrash Handler]
#6  0x00007f8241d90849 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f8241d91cd8 in __GI_abort () at abort.c:89
#8  0x00007f8241d89616 in __assert_fail_base (fmt=0x7f8245527e59 "%s%s%s:%u: %s%sZusicherung \302\273%s\302\253 nicht erf\303\274llt.\n%n", assertion=assertion@entry=0x7f82303b63a9 "dec->image->cmprof_", file=file@entry=0x7f82303b6382 "jp2_dec.c", line=line@entry=299, function=function@entry=0x7f82303b656f "jp2_decode") at assert.c:92
#9  0x00007f8241d896c2 in __GI___assert_fail (assertion=0x7f82303b63a9 "dec->image->cmprof_", file=0x7f82303b6382 "jp2_dec.c", line=299, function=0x7f82303b656f "jp2_decode") at assert.c:101
#10 0x00007f8230390c44 in jp2_decode () from /usr/lib64/libjasper.so.1
#11 0x00007f823038530d in jas_image_decode () from /usr/lib64/libjasper.so.1
#12 0x00007f82305d26ce in ?? () from /usr/lib64/kde4/plugins/imageformats/kimg_jp2.so
#13 0x00007f8242b7c554 in QImageReader::read (this=0x7f8225fa9c50, image=0x235c508) at image/qimagereader.cpp:1205
#14 0x00007f8244f979da in ?? () from /usr/lib64/libgwenviewlib.so.4
#15 0x00007f8244f8d6a6 in ?? () from /usr/lib64/libgwenviewlib.so.4
#16 0x00007f82443b513e in QThreadPoolThread::run (this=0x236c220) at concurrent/qthreadpool.cpp:107
#17 0x00007f82443c168f in QThreadPrivate::start (arg=0x236c220) at thread/qthread_unix.cpp:338
#18 0x00007f823fdb30db in start_thread (arg=0x7f8225faa700) at pthread_create.c:309
#19 0x00007f8241e4290d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f82456a9880 (LWP 21131)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f82443c1b66 in wait (time=18446744073709551615, this=0x1d69f00) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x236a560, mutex=mutex@entry=0x236a538, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f82443b4b52 in QThreadPoolPrivate::waitForDone (this=0x236a4b0, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:298
#4  0x00007f82443b5ef5 in QThreadPool::~QThreadPool (this=0x1d38c70, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#5  0x00007f82443b5f29 in QThreadPool::~QThreadPool (this=0x1d38c70, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:442
#6  0x00007f82443b65b5 in QGlobalStaticDeleter<QThreadPool>::~QGlobalStaticDeleter (this=0x7f8244826fe0 <theInstance()::cleanup>, __in_chrg=<optimized out>) at ../../src/corelib/global/qglobal.h:1951
#7  0x00007f8241d933d9 in __run_exit_handlers (status=1, listp=0x7f82421045a8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#8  0x00007f8241d93425 in __GI_exit (status=<optimized out>) at exit.c:104
#9  0x00007f8242b23298 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:772
#10 0x00007f82437d1d40 in KApplication::xioErrhandler (this=0x7fffa91718e0, dpy=0x16fae50) at /usr/src/debug/kdelibs-4.11.5/kdeui/kernel/kapplication.cpp:419
#11 0x00007f82406f93fe in _XIOError () from /usr/lib64/libX11.so.6
#12 0x00007f82406f7575 in _XReply () from /usr/lib64/libX11.so.6
#13 0x00007f82406de046 in XGetWindowProperty () from /usr/lib64/libX11.so.6
#14 0x00007f8242b3145b in QETWidget::translatePropertyEvent (this=this@entry=0x1839a80, event=event@entry=0x7fffa91714a0) at kernel/qapplication_x11.cpp:5078
#15 0x00007f8242b33026 in QApplication::x11ProcessEvent (this=0x7fffa91718e0, event=event@entry=0x7fffa91714a0) at kernel/qapplication_x11.cpp:3920
#16 0x00007f8242b59882 in x11EventSourceDispatch (s=0x16b7c70, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#17 0x00007f823de2f316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#18 0x00007f823de2f668 in ?? () from /usr/lib64/libglib-2.0.so.0
#19 0x00007f823de2f70c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#20 0x00007f82444edd55 in QEventDispatcherGlib::processEvents (this=0x167ba70, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#21 0x00007f8242b59936 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#22 0x00007f82444bfd0f in QEventLoop::processEvents (this=this@entry=0x7fffa9171880, flags=...) at kernel/qeventloop.cpp:149
#23 0x00007f82444c0005 in QEventLoop::exec (this=this@entry=0x7fffa9171880, flags=...) at kernel/qeventloop.cpp:204
#24 0x00007f82444c513b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#25 0x000000000042a3ad in ?? ()
#26 0x00007f8241d7cbe5 in __libc_start_main (main=0x42a0c0, argc=6, argv=0x7fffa9171a28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa9171a18) at libc-start.c:269
#27 0x000000000042a645 in _start ()

Possible duplicates by query: bug 337300, bug 336594, bug 336309, bug 335996, bug 335915.

An https://bugs.kde.org/ berichten

Reproducible: Always



Expected Results:  
at least gwenview should not crash and show an error instead.
Comment 1 Christoph Feck 2014-09-08 17:50:18 UTC
The crash is in the JasPer JPEG-2000 library. Please report this issue directly to JasPer developers. For contact information, see http://www.ece.uvic.ca/~frodo/jasper/

Running "jasper -f relax.jp2 -t jp2 -F relax.bmp -T bmp" gives the same assert:
ICC Profile CS 52474220
jasper: jp2_dec.c:299: jp2_decode: Assertion `dec->image->cmprof_' failed.
Comment 2 Robert Riemann 2014-09-14 16:43:01 UTC
I informed the author of lib jasper and gave a link to this bugreport. So far, I did not get a response.
Comment 3 Kike 2015-05-03 16:52:17 UTC
Created attachment 92393 [details]
New crash information added by DrKonqi

gwenview (4.14.0 pre) on KDE Platform 4.14.2 using Qt 4.8.6

- What I was doing when the application crashed:

Failed to display a JPEG 2000 file. It also happens when you perform a preview .

-- Backtrace (Reduced):
#6  0x00007f016ac50107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f016ac514e8 in __GI_abort () at abort.c:89
#8  0x00007f016ac49226 in __assert_fail_base (fmt=0x7f016e1afdce "%s%s%s:%u: %s%sLa declaraci\303\263n `%s' no se cumple.\n%n", assertion=assertion@entry=0x7f015daca1c4 "dec->image->cmprof_", file=file@entry=0x7f015daca1ba "jp2_dec.c", line=line@entry=302, function=function@entry=0x7f015daca3fb "jp2_decode") at assert.c:92
#9  0x00007f016ac492d2 in __GI___assert_fail (assertion=0x7f015daca1c4 "dec->image->cmprof_", file=0x7f015daca1ba "jp2_dec.c", line=302, function=0x7f015daca3fb "jp2_decode") at assert.c:101
#10 0x00007f015daa4745 in jp2_decode () from /usr/lib/x86_64-linux-gnu/libjasper.so.1
Comment 4 Christoph Feck 2015-05-03 17:25:57 UTC
Please read comment #1.
Comment 5 Christoph Feck 2016-07-11 13:30:59 UTC
*** Bug 365143 has been marked as a duplicate of this bug. ***