Summary: | Krita crashes when opening calibration image | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Isaac A. <isaac> |
Component: | General | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | dimula73, halla |
Priority: | NOR | Keywords: | drkonqi |
Version: | git master (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/kde/krita/commit/6cd14938170f2b364faf86cdcb8ac404e11be893 | Version Fixed In: | |
Sentry Crash Report: |
Description
Isaac A.
2019-08-13 02:01:31 UTC
Okay, this still crashes in Krita 4.2.5, so the bug report is relevant, even though the version you're using is ancient. The updated backtrace is Thread 1 (Thread 0x7f3e9de7b800 (LWP 11278)): [KCrash Handler] #6 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #7 0x00007f3ea33db535 in __GI_abort () at abort.c:79 #8 0x00007f3ea38229a7 in QMessageLogger::fatal(char const*, ...) const () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #9 0x00007f3ea3821e29 in qt_assert(char const*, char const*, int) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #10 0x00007f3e8b844035 in LcmsColorSpace<KoBgrU8Traits>::init (this=0x562553937980) at /home/boud/dev/krita/plugins/color/lcms2engine/LcmsColorSpace.h:219 #11 RgbU8ColorSpace::RgbU8ColorSpace (this=0x562553937980, name=..., p=<optimized out>) at /home/boud/dev/krita/plugins/color/lcms2engine/colorspaces/rgb_u8/RgbU8ColorSpace.cpp:45 #12 0x00007f3e8bcbeea6 in LcmsRGBP2020PQColorSpaceFactoryWrapper<RgbU8ColorSpaceFactory>::createColorSpace (this=<optimized out>, p=0x562552198ad0) at /home/boud/dev/krita/plugins/color/lcms2engine/LcmsRGBP2020PQColorSpace.h:113 #13 0x00007f3ea243dded in KoColorSpaceFactory::grabColorSpace (this=0x56254a508fd0, profile=profile@entry=0x562552198ad0) at /home/boud/dev/krita/libs/pigment/KoColorSpaceFactory.cpp:98 #14 0x00007f3ea2440618 in KoColorSpaceRegistry::Private::lazyCreateColorSpaceImpl (this=this@entry=0x56254a1a8100, csID=..., profile=profile@entry=0x562552198ad0) at /home/boud/dev/krita/libs/pigment/KoColorSpaceRegistry.cpp:439 #15 0x00007f3ea24415bb in KoColorSpaceRegistry::Private::colorSpace1 (this=this@entry=0x56254a1a8100, csID=..., profile=profile@entry=0x562552198ad0) at /home/boud/dev/krita/libs/pigment/KoColorSpaceRegistry.cpp:536 #16 0x00007f3ea24428f1 in KoColorSpaceRegistry::colorSpace (this=<optimized out>, colorModelId=..., colorDepthId=..., profile=0x562552198ad0) at /home/boud/dev/krita/libs/pigment/KoColorSpaceRegistry.cpp:299 #17 0x00007f3e789e0d23 in KisJPEGConverter::decode (this=this@entry=0x7ffd975dd000, io=io@entry=0x7ffd975dd0b0) at /home/boud/dev/krita/plugins/impex/jpeg/kis_jpeg_converter.cc:209 #18 0x00007f3e789e422d in KisJPEGConverter::buildImage (this=this@entry=0x7ffd975dd000, io=io@entry=0x7ffd975dd0b0) at /home/boud/dev/krita/plugins/impex/jpeg/kis_jpeg_converter.cc:450 #19 0x00007f3e789ddfb2 in KisJPEGImport::convert (this=<optimized out>, document=0x5625539156a0, io=0x7ffd975dd0b0) at /home/boud/dev/krita/plugins/impex/jpeg/kis_jpeg_import.cc:46 #20 0x00007f3ea615ed7d in KisImportExportManager::doImport (this=this@entry=0x562553918660, location=..., filter=...) at /home/boud/dev/krita/libs/ui/KisImportExportManager.cpp:601 #21 0x00007f3ea61605a1 in KisImportExportManager::convert (this=this@entry=0x562553918660, direction=direction@entry=KisImportExportManager::Import, location=..., realLocation=..., mimeType=..., showWarnings=<optimized out>, exportConfiguration=..., isAsync=<optimized out>) at /home/boud/dev/krita/libs/ui/KisImportExportManager.cpp:361 #22 0x00007f3ea6160eab in KisImportExportManager::importDocument (this=this@entry=0x562553918660, location=..., mimeType=...) at /home/boud/dev/krita/libs/ui/KisImportExportManager.cpp:136 #23 0x00007f3ea614ceba in KisDocument::openFile (this=this@entry=0x5625539156a0) at /home/boud/dev/krita/libs/ui/KisDocument.cpp:1437 #24 0x00007f3ea614d8ab in KisDocument::openUrlInternal (this=this@entry=0x5625539156a0, url=...) at /home/boud/dev/krita/libs/ui/KisDocument.cpp:1879 #25 0x00007f3ea614dd6f in KisDocument::openUrl (this=0x5625539156a0, _url=..., flags=...) at /home/boud/dev/krita/libs/ui/KisDocument.cpp:1336 #26 0x00007f3ea6169a1d in KisMainWindow::openDocumentInternal (this=this@entry=0x7f3e8c01ed20, url=..., flags=flags@entry=...) at /home/boud/dev/krita/libs/ui/KisMainWindow.cpp:952 #27 0x00007f3ea616f7ae in KisMainWindow::openDocument (this=this@entry=0x7f3e8c01ed20, url=..., flags=flags@entry=...) at /home/boud/dev/krita/libs/ui/KisMainWindow.cpp:927 #28 0x00007f3ea613a638 in KisApplication::start (this=<optimized out>, args=...) at /home/boud/dev/krita/libs/ui/KisApplication.cpp:601 #29 0x0000562547f8a8db in main (argc=<optimized out>, argv=0x7ffd975ddd28) at /home/boud/dev/krita/krita/main.cc:513 [Inferior 1 (process 11278) detached] The relevant terminal output is Lcms2 error: 13 Couldn't link the profiles Lcms2 error: 13 Couldn't link the profiles ASSERT: "d->defaultTransformations->fromRGB" in file /home/boud/dev/krita/plugins/color/lcms2engine/LcmsColorSpace.h, line 219 Note: gwenview also crashes on this image, and imagemagick cannot load the embedded profile either. LCMS cannot use the embedded profile at all. This is a very, very weird image. Git commit 46ad1506e289bdd3954555505a63efb6502bdb24 by Dmitry Kazakov. Committed on 11/09/2019 at 08:50. Pushed by dkazakov into branch 'master'. Fix memory leak in KisJPEGConverter LibPNG allocates "profile_data" for us, therefore, we should free it M +5 -2 plugins/impex/jpeg/kis_jpeg_converter.cc https://invent.kde.org/kde/krita/commit/46ad1506e289bdd3954555505a63efb6502bdb24 Git commit 0381878fcb6c06fd2f657ce46b28176e46db5ba4 by Dmitry Kazakov. Committed on 11/09/2019 at 08:57. Pushed by dkazakov into branch 'master'. Fix a crash when loading JPEG image with a weird color profile The profile in question has a weird RGB->XYZ transformation matrix, which is not invertible. Therefore, this profile cannot be used as a workspace color profile and we should convert the image to sRGB right on loading. LCMS doesn't have a separate method for checking if conversion matrix is invertible, therefore we just try to create a simple transformation, where the profile is both, input and output. If the transformation is created successfully, then this profile is probably suitable for usage as a working color space. M +9 -4 plugins/color/lcms2engine/LcmsColorSpace.h M +18 -1 plugins/color/lcms2engine/colorprofiles/IccColorProfile.cpp https://invent.kde.org/kde/krita/commit/0381878fcb6c06fd2f657ce46b28176e46db5ba4 Git commit 5e227d6453a9fe9089682328e8fd33076115726e by Dmitry Kazakov. Committed on 13/09/2019 at 09:01. Pushed by dkazakov into branch 'krita/4.2'. Fix memory leak in KisJPEGConverter LibPNG allocates "profile_data" for us, therefore, we should free it M +5 -2 plugins/impex/jpeg/kis_jpeg_converter.cc https://invent.kde.org/kde/krita/commit/5e227d6453a9fe9089682328e8fd33076115726e Git commit 6cd14938170f2b364faf86cdcb8ac404e11be893 by Dmitry Kazakov. Committed on 13/09/2019 at 09:01. Pushed by dkazakov into branch 'krita/4.2'. Fix a crash when loading JPEG image with a weird color profile The profile in question has a weird RGB->XYZ transformation matrix, which is not invertible. Therefore, this profile cannot be used as a workspace color profile and we should convert the image to sRGB right on loading. LCMS doesn't have a separate method for checking if conversion matrix is invertible, therefore we just try to create a simple transformation, where the profile is both, input and output. If the transformation is created successfully, then this profile is probably suitable for usage as a working color space. M +9 -4 plugins/color/lcms2engine/LcmsColorSpace.h M +18 -1 plugins/color/lcms2engine/colorprofiles/IccColorProfile.cpp https://invent.kde.org/kde/krita/commit/6cd14938170f2b364faf86cdcb8ac404e11be893 |