Bug 2447616 - Crash on copy->external paste in jas_init_library
Summary: Crash on copy->external paste in jas_init_library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: digikam
Version: 44
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: marcdeop
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-03-14 13:25 UTC by Dr. David Alan Gilbert
Modified: 2026-03-24 00:16 UTC (History)
4 users (show)

Fixed In Version: digikam-9.0.0-3.fc45
Clone Of:
Environment:
Last Closed: 2026-03-15 22:21:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 517588 0 NOR UNCONFIRMED Cut and paste crash, jas_init_library: Assertion `!jas_global.initialized' failed 2026-03-15 03:56:07 UTC

Description Dr. David Alan Gilbert 2026-03-14 13:25:04 UTC
Digikam 9.0.0 reliably crashes if I try and copy something to another application; the crash seems to be in jas_init_library() every time, so I'm not clear if it's Digikam, Jasper or Qt's problem.

If I understand correctly the assert is that someone has already called jas_init_library() earlier at some point

Environment:
  Fedora 44 beta
  xfce (x) desktop

digikam-libs-9.0.0-2.fc44.x86_64
digikam-9.0.0-2.fc44.x86_64
jasper-libs-4.2.8-2.fc44.x86_64
jasper-devel-4.2.8-2.fc44.x86_64
qt6-qtimageformats-6.10.2-1.fc44.x86_64

Reproducible: Always

Steps to Reproduce:
1. Open digikam
2. Open gimp (or another program that can accept an image copy)
3. Select an image in digikam and open the image editor
4. Select an area of the image 
5. Now in gimp select file->Create->From clipboard

(I think I've sometimes had it crash between 4 and 5)
Actual Results:
digikam: /builddir/build/BUILD/jasper-4.2.8-build/jasper-version-4.2.8/src/libjasper/base/jas_init.c:505: jas_init_library: Assertion `!jas_global.initialized' failed.


Expected Results:
A happy pasted section of image

Additional Information:
(gdb) where
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007fe9fb07aa73 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
#2  0x00007fe9fb01f34e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fe9fb0067b3 in __GI_abort () at abort.c:77
#4  0x00007fe9fb007804 in __libc_message_impl
    (vma_name=vma_name@entry=0x7fe9fb1baea3 "glibc: assert", fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:138
#5  0x00007fe9fb017285 in __libc_message_wrapper (vmaname=0x7fe9fb1baea3 "glibc: assert", fmt=<optimized out>)
    at ../include/stdio.h:203
#6  __assert_fail
    (assertion=assertion@entry=0x7fe9f87892c8 "!jas_global.initialized", file=file@entry=0x7fe9f8784848 "/builddir/build/BUILD/jasper-4.2.8-build/jasper-version-4.2.8/src/libjasper/base/jas_init.c", line=line@entry=505, function=function@entry=0x7fe9f878b460 <__PRETTY_FUNCTION__.7.lto_priv.2> "jas_init_library") at assert.c:37
#7  0x00007fe9f87461f0 in jas_init_library ()
    at /usr/src/debug/jasper-4.2.8-2.fc44.x86_64/src/libjasper/base/jas_init.c:505
#8  0x00007fe8784248fe in Jpeg2000JasperReader::Jpeg2000JasperReader
    (this=0x7fff9fa0eab0, iod=<optimized out>, format=Jp2Format, this=<optimized out>, iod=<optimized out>, format=<optimized out>) at /usr/src/debug/qt6-qtimageformats-6.10.2-1.fc44.x86_64/src/plugins/imageformats/jp2/qjp2handler.cpp:316
#9  0x00007fe8784263f4 in QJp2Handler::write (this=0x55a4cdc48b90, image=...)
    at /usr/src/debug/qt6-qtimageformats-6.10.2-1.fc44.x86_64/src/plugins/imageformats/jp2/qjp2handler.cpp:222
#10 0x00007fe9fbeb4a3b in QImageWriter::write (this=0x7fff9fa0ec08, image=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/gui/image/qimagewriter.cpp:682
#11 0x00007fe9fbe7da03 in QImage::save
    (this=this@entry=0x7fff9fa0ec80, device=device@entry=0x7fff9fa0ec70, format=0x55a4cdba29e0 "J2K", quality=quality@entry=-1) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/gui/image/qimage.cpp:3967
--Type <RET> for more, q to quit, c to continue without paging--
#12 0x00007fe9fbf1c1f6 in QInternalMimeData::renderDataHelper (mimeType=..., data=data@entry=0x55a4c9c2b840) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/gui/kernel/qinternalmimedata.cpp:195
#13 0x00007fe8cc92d630 in QXcbMime::mimeDataForAtom
    (connection=0x55a4b04db1b0, a=a@entry=615, mimeData=mimeData@entry=0x55a4c9c2b840, data=data@entry=0x7fff9fa0ee80, atomFormat=atomFormat@entry=0x7fff9fa0ee70, dataFormat=dataFormat@entry=0x7fff9fa0ee74)
    at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/plugins/platforms/xcb/qxcbmime.cpp:77
#14 0x00007fe8cc8f5aa4 in QXcbClipboard::sendSelection (this=this@entry=0x55a4b0515a50, d=d@entry=0x55a4c9c2b840, target=615, window=12582916, property=379)
    at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/plugins/platforms/xcb/qxcbobject.h:17
#15 0x00007fe8cc8f7ad5 in QXcbClipboard::handleSelectionRequest (this=0x55a4b0515a50, req=req@entry=0x55a4cdc9f390) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/plugins/platforms/xcb/qxcbclipboard.cpp:593
#16 0x00007fe8cc8fbde0 in QXcbConnection::handleXcbEvent (this=this@entry=0x55a4b04db1b0, event=event@entry=0x55a4cdc9f390) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/plugins/platforms/xcb/qxcbconnection.cpp:667
#17 0x00007fe8cc8fd1d7 in QXcbConnection::processXcbEvents (this=0x55a4b04db1b0, flags=...) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/plugins/platforms/xcb/qxcbconnection.cpp:1088
#18 0x00007fe8cc9215cf in xcbSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57
#19 0x00007fe9f92e1e64 in g_main_dispatch (context=0x7fe8b8000f00) at ../glib/gmain.c:3591
#20 g_main_context_dispatch_unlocked (context=0x7fe8b8000f00) at ../glib/gmain.c:4451
#21 0x00007fe9f92e5f78 in g_main_context_iterate_unlocked (context=context@entry=0x7fe8b8000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4516
#22 0x00007fe9f92e6123 in g_main_context_iteration (context=0x7fe8b8000f00, may_block=1) at ../glib/gmain.c:4582
#23 0x00007fe9fba508ed in QEventDispatcherGlib::processEvents (this=0x55a4b0766150, flags=...) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#24 0x00007fe9fb716f03 in QEventLoop::exec (this=this@entry=0x7fff9fa0f380, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/corelib/global/qflags.h:77
#25 0x00007fe9fb7120d2 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/corelib/kernel/qcoreapplication.cpp:1452
#26 0x00007fe9fbeeb88d in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/gui/kernel/qguiapplication.cpp:1977
#27 0x00007fe9fca3ee19 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/widgets/kernel/qapplication.cpp:2575
#28 0x000055a477e50d27 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/digikam-9.0.0-2.fc44.x86_64/core/app/main/main.cpp:496

Comment 1 Dr. David Alan Gilbert 2026-03-14 18:26:29 UTC
The first call to the library init is coming from:

#0  jas_init_library () at /usr/src/debug/jasper-4.2.8-2.fc44.x86_64/src/libjasper/base/jas_init.c:476
#1  0x00007ffea4391788 in DigikamJPEG2000DImgPlugin::DImgJPEG2000Plugin::DImgJPEG2000Plugin (this=this@entry=0x55556af950f0, parent=0x0)
    at /usr/src/debug/digikam-9.0.0-2.fc44.x86_64/core/dplugins/dimg/jpeg2000/dimgjpeg2000plugin.cpp:55
#2  0x00007ffea4398e47 in qt_plugin_instance ()
    at /usr/src/debug/digikam-9.0.0-2.fc44.x86_64/redhat-linux-build/core/dplugins/dimg/jpeg2000/DImg_JPEG2000_Plugin_autogen/include/moc_dimgjpeg2000plugin.cpp:110
#3  0x00007ffff4049443 in QLibraryPrivate::pluginInstance (this=0x55556af54bc0)
    at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/corelib/plugin/qlibrary.cpp:515
#4  0x00007ffff3da4d33 in QPluginLoader::instance (this=this@entry=0x55556af950c0)
    at /usr/src/debug/qt6-qtbase-6.10.2-2.fc44.x86_64/src/corelib/plugin/qpluginloader.cpp:143
#5  0x00007ffff5fe864d in Digikam::DPluginLoader::Private::loadPlugins (this=0x555556ee5460)
    at /usr/src/debug/digikam-9.0.0-2.fc44.x86_64/core/libs/dplugins/setup/dpluginloader_p.cpp:244
#6  0x00007ffff7544cc3 in Digikam::DigikamApp::DigikamApp (this=this@entry=0x555556228200, this=<optimized out>)
    at /usr/src/debug/digikam-9.0.0-2.fc44.x86_64/core/app/main/digikamapp.cpp:167
#7  0x0000555555557a2a in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/digikam-9.0.0-2.fc44.x86_64/core/app/main/main.cpp:441

(Observation: If I have digikam in gdb, the copy/paste into gimp actually succeeds before it then lands in this function to crash)

Comment 3 Dr. David Alan Gilbert 2026-03-15 00:24:39 UTC
(In reply to nucleo from comment #2)
> Please report bug at
> 
> https://bugs.kde.org/enter_bug.cgi?format=guided&product=digikam&version=9.0.
> 0

Filed as:
https://bugs.kde.org/show_bug.cgi?id=517588

Comment 4 Fedora Update System 2026-03-15 22:19:07 UTC
FEDORA-2026-13c7bb4509 (digikam-9.0.0-3.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-13c7bb4509

Comment 5 Fedora Update System 2026-03-15 22:21:47 UTC
FEDORA-2026-13c7bb4509 (digikam-9.0.0-3.fc45) has been pushed to the Fedora 45 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Fedora Update System 2026-03-15 22:42:00 UTC
FEDORA-2026-48f445c2de (digikam-9.0.0-3.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-48f445c2de

Comment 7 Fedora Update System 2026-03-16 01:48:56 UTC
FEDORA-2026-48f445c2de has been pushed to the Fedora 44 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-48f445c2de`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-48f445c2de

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Dr. David Alan Gilbert 2026-03-16 12:29:01 UTC
(In reply to Fedora Update System from comment #7)
> FEDORA-2026-48f445c2de has been pushed to the Fedora 44 testing repository.
> Soon you'll be able to install the update with the following command:
> `sudo dnf upgrade --enablerepo=updates-testing --refresh
> --advisory=FEDORA-2026-48f445c2de`
> You can provide feedback for this update here:
> https://bodhi.fedoraproject.org/updates/FEDORA-2026-48f445c2de
> 
> See also https://fedoraproject.org/wiki/QA:Updates_Testing for more
> information on how to test updates.

Thanks,  that seems to fix it here;
digikam-9.0.0-3.fc44.x86_64

(I'd love to press the bodhi feedback button but I'm getting a 400 error on the fedora login)

Comment 9 Fedora Update System 2026-03-24 00:16:49 UTC
FEDORA-2026-48f445c2de (digikam-9.0.0-3.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.