Bug 210779 - Update libjasper to AppImage to use new API >= 3.0 for a better stability.
Summary: Update libjasper to AppImage to use new API >= 3.0 for a better stability.
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-DImg-JP2K (show other bugs)
Version: 7.10.0
Platform: Appimage Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-16 13:17 UTC by Robert
Modified: 2023-01-25 10:05 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.10.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert 2009-10-16 13:17:27 UTC
Application that crashed: digikam
Version of the application: 0.10.0
KDE Version: 4.3.1 (KDE 4.3.1) "release 169"
Qt Version: 4.5.2
Operating System: Linux 2.6.27.29-0.1-trace x86_64
Distribution: "openSUSE 11.1 (x86_64)"

What I was doing when the application crashed:
The Information from shell: 
cannot get marker segment
digikam: jpc_dec.c:1077: jpc_dec_tiledecode: Zusicherung »dec->numcomps == 3« nicht erfüllt.
digikam: Fatal IO error: client killed
KCrash: Application 'digikam' crashing...
sock_file=/home/medienbuero/.kde4/socket-presse/kdeinit4__0


 -- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7f8bfa8eb750 (LWP 12430))]

Thread 2 (Thread 0x7f8be86b7950 (LWP 12431)):
[KCrash Handler]
#5  0x00007f8bf364d645 in raise () from /lib64/libc.so.6
#6  0x00007f8bf364ec33 in abort () from /lib64/libc.so.6
#7  0x00007f8bf3646329 in __assert_fail () from /lib64/libc.so.6
#8  0x00007f8beefdf7bf in ?? () from /usr/lib64/libjasper.so.1
#9  0x00007f8beefe0ac0 in ?? () from /usr/lib64/libjasper.so.1
#10 0x00007f8beefe1afe in jpc_decode () from /usr/lib64/libjasper.so.1
#11 0x00007f8beefcf04d in jas_image_decode () from /usr/lib64/libjasper.so.1
#12 0x00007f8bf7b848a0 in Digikam::JP2KLoader::load (this=0x7f8be86b56a0, filePath=@0x7f8be86b59f0, observer=0x0) at /usr/src/debug/digikam-0.10.0/libs/dimg/loaders/jp2kloader.cpp:120
#13 0x00007f8bf7b69be5 in Digikam::DImg::load (this=0x7f8be86b5a90, filePath=@0x7f8be86b59f0, loadFlagsInt=1, observer=0x0, rawDecodingSettings=
          {<KDcrawIface::RawDecodingSettings> = {_vptr.RawDecodingSettings = 0x7f8be86b58b0, autoBrightness = false, gamma16bit = false, sixteenBitsImage = false, halfSizeColorImage = false, whiteBalance = KDcrawIface::RawDecodingSettings::NONE, customWhiteBalance = 4, customWhiteBalanceGreen = 6.9287211104916428e-310, RGBInterpolate4Colors = 16, DontStretchPixels = 244, unclipColors = 0, RAWQuality = 3899349312, medianFilterPasses = 32651, enableNoiseReduction = 240, NRThreshold = 32651, enableCACorrection = 83, caMultiplier = {0, 0}, brightness = 0, enableBlackPoint = false, blackPoint = 0, enableWhitePoint = false, whitePoint = 0, inputColorSpace = KDcrawIface::RawDecodingSettings::NOINPUTCS, inputProfile = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 5146}, alloc = 0, size = 0, data = 0x93943a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 93}, alloc = 0, size = 0, data = 0x7f8bf474687a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x0, static codecForCStrings = 0x0}, outputColorSpace = 4294967240, outputProfile = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 5146}, alloc = 0, size = 0, data = 0x93943a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 93}, alloc = 0, size = 0, data = 0x7f8bf474687a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x1, static codecForCStrings = 0x0}, deadPixelMap = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 5146}, alloc = 0, size = 0, data = 0x93943a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 93}, alloc = 0, size = 0, data = 0x7f8bf474687a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x0, static codecForCStrings = 0x0}, whiteBalanceArea = {x1 = 0, y1 = 0, x2 = 0, y2 = 0}}, lightness = 0, contrast = -nan(0xfffffffffffd0), gamma = 4.9406564584124654e-324, saturation = 0, exposureComp = 0, curveAdjust = {<QVector<QPoint>> = {{p = 0x0, d = 0x0}}, <No data fields>}, levelsAdjust = {{p = {static shared_null = {ref = {_q_value = 2954}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x0}, d = 0x0}}})
    at /usr/src/debug/digikam-0.10.0/libs/dimg/dimg.cpp:432
#14 0x00007f8bf7b6b3d0 in Digikam::DImg::loadImageInfo (this=0x7f8be86b5a90, filePath=@0x7f8be86b59f0, loadMetadata=<value optimized out>, loadICCData=<value optimized out>, 
    loadUniqueHash=<value optimized out>) at /usr/src/debug/digikam-0.10.0/libs/dimg/dimg.cpp:326
#15 0x00007f8bf77f29d3 in Digikam::ImageScanner::loadFromDisk (this=0x7f8be86b5a70) at /usr/src/debug/digikam-0.10.0/libs/database/imagescanner.cpp:603
#16 0x00007f8bf77f90c8 in Digikam::ImageScanner::newFile (this=0x308e, albumId=12431) at /usr/src/debug/digikam-0.10.0/libs/database/imagescanner.cpp:89
#17 0x00007f8bf77ebe07 in Digikam::CollectionScanner::scanNewFile (this=<value optimized out>, info=@0xcac6c8, albumId=2302) at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:592
#18 0x00007f8bf77ed25e in Digikam::CollectionScanner::scanAlbum (this=0x7f8be86b7020, location=@0xae3190, album=@0x7f8be86b6070)
    at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:545
#19 0x00007f8bf77ed173 in Digikam::CollectionScanner::scanAlbum (this=0x7f8be86b7020, location=@0xae3190, album=@0x7f8be86b63b0)
    at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:556
#20 0x00007f8bf77ed173 in Digikam::CollectionScanner::scanAlbum (this=0x7f8be86b7020, location=@0xae3190, album=@0x7f8be86b66f0)
    at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:556
#21 0x00007f8bf77ed173 in Digikam::CollectionScanner::scanAlbum (this=0x7f8be86b7020, location=@0xae3190, album=@0x7f8be86b6a30)
    at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:556
#22 0x00007f8bf77ed173 in Digikam::CollectionScanner::scanAlbum (this=0x7f8be86b7020, location=@0xae3190, album=@0x7f8be86b6d70)
    at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:556
#23 0x00007f8bf77ed173 in Digikam::CollectionScanner::scanAlbum (this=0x7f8be86b7020, location=@0xae3190, album=@0x7f8be86b6ed0)
    at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:556
#24 0x00007f8bf77edcf7 in Digikam::CollectionScanner::scanAlbumRoot (this=0x7f8be86b7020, location=@0xae3190) at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:345
#25 0x00007f8bf77edfba in Digikam::CollectionScanner::completeScan (this=0x7f8be86b7020) at /usr/src/debug/digikam-0.10.0/libs/database/collectionscanner.cpp:192
#26 0x000000000064bbda in Digikam::ScanController::run (this=0xb0f230) at /usr/src/debug/digikam-0.10.0/digikam/scancontroller.cpp:432
#27 0x00007f8bf4368e65 in ?? () from /usr/lib64/libQtCore.so.4
#28 0x00007f8bf40f5070 in start_thread () from /lib64/libpthread.so.0
#29 0x00007f8bf36ee11d in clone () from /lib64/libc.so.6
#30 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8bfa8eb750 (LWP 12430)):
#0  0x00007f8bf40f8d59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f8bf4369e19 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f8bf436900c in QThread::wait(unsigned long) () from /usr/lib64/libQtCore.so.4
#3  0x000000000064b8dc in Digikam::ScanController::shutDown (this=0xb0f230) at /usr/src/debug/digikam-0.10.0/digikam/scancontroller.cpp:264
#4  0x000000000064f37b in ~ScanController (this=0xb110bc) at /usr/src/debug/digikam-0.10.0/digikam/scancontroller.cpp:247
#5  0x000000000064f517 in destroy () at /usr/src/debug/digikam-0.10.0/digikam/scancontroller.cpp:188
#6  0x00007f8bf36502ed in exit () from /lib64/libc.so.6
#7  0x00007f8bf502c048 in ?? () from /usr/lib64/libQtGui.so.4
#8  0x00007f8bf63ae4a8 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib64/libkdeui.so.5
#9  0x00007f8bf2459e54 in _XIOError () from /usr/lib64/libX11.so.6
#10 0x00007f8bf2461898 in ?? () from /usr/lib64/libX11.so.6
#11 0x00007f8bf2461ff6 in _XEventsQueued () from /usr/lib64/libX11.so.6
#12 0x00007f8bf244a593 in XEventsQueued () from /usr/lib64/libX11.so.6
#13 0x00007f8bf506616c in ?? () from /usr/lib64/libQtGui.so.4
#14 0x00007f8bf0ce1e5a in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#15 0x00007f8bf0ce27b1 in ?? () from /usr/lib64/libglib-2.0.so.0
#16 0x00007f8bf0ce2a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#17 0x00007f8bf447bd5e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#18 0x00007f8bf5065faf in ?? () from /usr/lib64/libQtGui.so.4
#19 0x00007f8bf44511d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#20 0x00007f8bf44515a4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#21 0x000000000064b533 in Digikam::ScanController::completeCollectionScan (this=0xb0f230, splash=<value optimized out>) at /usr/src/debug/digikam-0.10.0/digikam/scancontroller.cpp:326
#22 0x000000000060fe5c in DigikamApp (this=0xae86a0) at /usr/src/debug/digikam-0.10.0/digikam/digikamapp.cpp:164
#23 0x0000000000671861 in main (argc=<value optimized out>, argv=0x7fffc8b02758) at /usr/src/debug/digikam-0.10.0/digikam/main.cpp:167

Reported using DrKonqi
Comment 1 caulier.gilles 2009-10-16 13:28:07 UTC
This crash appears in libjasper library, and i can reproduce it with some JP2 images which use advanced JPEG2000 features not yet implemented in libjasper

In fact libjasper go out violently without to generate a C++ exception. It's very weird.

Please report this problem to libjasper team. We cannot do anything here...

Gilles Caulier
Comment 2 caulier.gilles 2023-01-25 09:41:46 UTC
Maik,

libjasper version used in the bundles :

- Windows : MXE already upgrade to 4.0 as you can see here :

https://github.com/mxe/mxe/blob/master/src/jasper.mk

- macOS: macports also switch to 4.0.0 :

https://github.com/macports/macports-ports/blob/master/graphics/jasper/Portfile

- The bundle built on binary-factory do not have Jasper dependencies as package is missing in Craft framework

- the flatpak builf in binary factory use an older version:

https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/flatpak/org.kde.digikam.json#L157

- the appimage uses a very old libjasper 1.7 from Ubuntu 18.04.

Gilles
Comment 3 caulier.gilles 2023-01-25 09:58:23 UTC
Git commit 779d90772fc960163fd92c33873c3af4e9048919 by Gilles Caulier.
Committed on 25/01/2023 at 09:55.
Pushed by cgilles into branch 'qt5-maintenance'.

update libjasper to last 4.0.0 in AppImage bundle

M  +3    -1    project/bundles/3rdparty/ext_jasper/CMakeLists.txt
M  +1    -0    project/bundles/appimage/01-build-host.sh
M  +3    -2    project/bundles/appimage/host_ubuntu.inc

https://invent.kde.org/graphics/digikam/commit/779d90772fc960163fd92c33873c3af4e9048919
Comment 4 caulier.gilles 2023-01-25 10:05:11 UTC
Git commit 972bc20fa5b549ef75cd547beb5976eb479ddc13 by Gilles Caulier.
Committed on 25/01/2023 at 10:03.
Pushed by cgilles into branch 'master'.

update libjasper to 4.0.0 for Flatpak from binary-factory
FIXED-IN: 7.10.0

M  +3    -1    project/bundles/flatpak/org.kde.digikam.json

https://invent.kde.org/graphics/digikam/commit/972bc20fa5b549ef75cd547beb5976eb479ddc13