Bug 305523 - opening .kra file saved with 2.4 fails in 2.5
Summary: opening .kra file saved with 2.4 fails in 2.5
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: File formats (show other bugs)
Version: 2.5
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-20 23:38 UTC by Florian Staudacher
Modified: 2012-12-01 19:37 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
test file that triggers the error in Krita 2.5 (82.95 KB, application/x-krita)
2012-08-21 11:47 UTC, Florian Staudacher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Staudacher 2012-08-20 23:38:58 UTC
I tried to open a .kra file I last saved with Krita 2.4 with the "Save incremental Version" function. It has a title in "Document Information", 1600x960, sRGB, 32 bit depth and has three layers (overall ~790 KB).
When I try to open it in Krita 2.5 I get a modal dialog saying "Öffnen nicht möglich" ("unable to open") and then Krita closes with the following output produced on the console:

krita(8604)/kdecore (KLibrary) kde4Factory: The library "/usr/lib/kde4/stateshape.so" does not offer a qt_plugin_instance function.
krita(8604)/koffice (lib pigment) KoColorConversionSystem::insertColorSpace: Cannot add node for  "YCBCR (8-bit Ganzzahl pro Kanal)" , since there are no profiles available 
krita(8604)/koffice (lib pigment) KoColorConversionSystem::insertColorSpace: Cannot add node for  "YCBCR (16-bit Ganzzahl pro Kanal)" , since there are no profiles available 
krita(8604)/koffice (lib pigment) KoColorConversionSystem::insertColorSpace: Cannot add node for  "YCBCR (32-bit Gleitkommazahl pro Kanal)" , since there are no profiles available 
krita(8604)/kdecore (KLibrary) kde4Factory: The library "/usr/lib/kde4/kritahistorydocker.so" does not offer a qt_plugin_instance function.
krita(8604)/koffice (lib kopageapp) KoOdfLoadingContext::KoOdfLoadingContext: could not parse manifest document 
krita(8604)/koffice (lib kopageapp) KoOdfLoadingContext::KoOdfLoadingContext: could not parse manifest document 
krita(8604)/krita (file handling) KisKraLoader::loadXML: Could not open colorspace

Reproducible: Always

Steps to Reproduce:
1. open file (either via dolphin or "open file" withing krita
2. watch it fail
Comment 1 Sven Langkamp 2012-08-21 01:07:59 UTC
Can you attach the file?
Comment 2 Florian Staudacher 2012-08-21 11:46:29 UTC
It seems the problem is reproducible by creating a new .kra file with the said parameters with Krita 2.4 (Fedora package 2.4.3) and then attempting to open it with Krita 2.5 (Archlinux package). I just created a test file (attached) and the same happens when I attempt to open it (sorry, can't share the original, since it's not my creation).
Comment 3 Florian Staudacher 2012-08-21 11:47:39 UTC
Created attachment 73350 [details]
test file that triggers the error in Krita 2.5
Comment 4 Florian Staudacher 2012-08-31 15:22:24 UTC
just in case you were wondering, this issue is still there in Krita 2.5.1
Comment 5 Halla Rempt 2012-08-31 15:40:43 UTC
Argh... I was too busy and forgot about it. Thanks for the test file; I'll come up with a fix asap.
Comment 6 Halla Rempt 2012-08-31 15:55:14 UTC
Fix coming up when I've done compiling...
Comment 7 Halla Rempt 2012-08-31 16:18:59 UTC
aw, no... it's more complicated than this :-(
Comment 8 Halla Rempt 2012-09-01 07:43:32 UTC
Git commit f7f8f257174975e986e8df84c490e02e3ffe4c82 by Boudewijn Rempt.
Committed on 01/09/2012 at 09:42.
Pushed by rempt into branch 'master'.

Translate old colorspace id's to new id's on loading

The bug isn't fixed yet, because there's also a problem with the
profile that I haven't tracked down yet.

M  +16   -2    krita/ui/kra/kis_kra_loader.cpp

http://commits.kde.org/calligra/f7f8f257174975e986e8df84c490e02e3ffe4c82
Comment 9 Halla Rempt 2012-09-06 12:51:15 UTC
Git commit ca4f1cf47cc2d8f100e9a720cb8b31153204bf64 by Boudewijn Rempt.
Committed on 06/09/2012 at 14:50.
Pushed by rempt into branch 'master'.

Don't try to set an invalid profile on the image.

There's still a crash happening later on :-(

M  +10   -10   krita/ui/kra/kis_kra_loader.cpp

http://commits.kde.org/calligra/ca4f1cf47cc2d8f100e9a720cb8b31153204bf64
Comment 10 Halla Rempt 2012-09-06 13:06:16 UTC
Hrm... I wonder whether this is going to work at all. Now I'm getting an lcms error, presumably because the pixel format is too different:

[KCrash Handler]
#5  cmsEvalToneCurveFloat (Curve=0x3f7ffe003f800000, v=-nan(0x7fff00)) at cmsgamma.c:1106
#6  0x00007fbcfb5fcb75 in EvaluateCurves (In=0x7fbcf9cacbb0, Out=0x7fbcf9cac9b0, mpe=<optimized out>) at cmslut.c:182
#7  0x00007fbcfb5fc3d0 in _LUTeval16 (In=<optimized out>, Out=0x7fbcf9cace00, D=0x7fbcd4016cf0) at cmslut.c:1257
#8  0x00007fbcfb6082c0 in PrecalculatedXFORM (p=0x7fbcd4017140, in=<optimized out>, out=<optimized out>, Size=64, Stride=64) at cmsxform.c:220
#9  0x00007fbcfbce131d in KoLcmsColorConversionTransformation::transform (this=0x7fbcd40175d0, src=0x3f00150 "\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376"..., dst=0x7fbce739d340 "", numPixels=64) at /home/boud/kde/src/calligra/plugins/colorengines/lcms2/IccColorSpaceEngine.cpp:82
#10 0x00007fbd1671ffa1 in convertPixelsTo (conversionFlags=..., renderingIntent=KoColorConversionTransformation::IntentPerceptual, numPixels=64, dstColorSpace=0x279f190, dst=0x7fbce739d340 "", src=0x3f00150 "\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376"..., this=0x38dfe50) at /home/boud/kde/src/calligra/libs/pigment/KoColorSpace.cpp:247
#11 KoColorSpace::convertPixelsTo (this=0x38dfe50, src=0x3f00150 "\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376"..., dst=0x7fbce739d340 "", dstColorSpace=0x279f190, numPixels=64, renderingIntent=KoColorConversionTransformation::IntentPerceptual, conversionFlags=...) at /home/boud/kde/src/calligra/libs/pigment/KoColorSpace.cpp:236
#12 0x00007fbcfbb7207d in KoColorSpaceAbstract<KoBgrU8Traits>::convertPixelsTo (this=0x38dfe50, src=0x3f00150 "\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\376"..., dst=0x7fbce739d340 "", dstColorSpace=0x279f190, numPixels=64, renderingIntent=KoColorConversionTransformation::IntentPerceptual, conversionFlags=...) at /home/boud/kde/src/calligra/libs/pigment/KoColorSpaceAbstract.h:195
#13 0x00007fbd16721466 in KoColorSpace::bitBlt (this=0x279f190, srcSpace=0x38dfe50, params=..., op=0x3b9cb80, renderingIntent=KoColorConversionTransformation::IntentPerceptual, conversionFlags=...) at /home/boud/kde/src/calligra/libs/pigment/KoColorSpace.cpp:270
#14 0x00007fbd19a3312b in KisPainter::bitBltImpl<false> (this=this@entry=0x7fbcf9cad7e0, dstX=dstX@entry=512, dstY=dstY@entry=0, srcDev=..., srcX=512, srcY=0, srcWidth=srcWidth@entry=512, srcHeight=srcHeight@entry=512) at /home/boud/kde/src/calligra/krita/image/kis_painter.cc:571
#15 0x00007fbd19a24882 in KisPainter::bitBlt (this=this@entry=0x7fbcf9cad7e0, dstX=512, dstY=0, srcDev=..., srcX=srcX@entry=512, srcY=srcY@entry=0, srcWidth=srcWidth@entry=512, srcHeight=srcHeight@entry=512) at /home/boud/kde/src/calligra/krita/image/kis_painter.cc:593
#16 0x00007fbd19a24934 in KisPainter::bitBlt (this=0x7fbcf9cad7e0, pos=..., srcDev=..., srcRect=...) at /home/boud/kde/src/calligra/krita/image/kis_painter.cc:599
#17 0x00007fbd19afb69a in KisAsyncMerger::compositeWithProjection (this=this@entry=0x3e33dd0, layer=..., rect=...) at /home/boud/kde/src/calligra/krita/image/kis_async_merger.cpp:357
#18 0x00007fbd19af2eaf in KisAsyncMerger::startMerge (this=0x3e33dd0, walker=..., notifyClones=true) at /home/boud/kde/src/calligra/krita/image/kis_async_merger.cpp:234
#19 0x00007fbd199eb198 in KisUpdateJobItem::runMergeJob (this=this@entry=0x3e33d90) at /home/boud/kde/build/calligra/krita/image/../../../../src/calligra/krita/image/kis_update_job_item.h:75
#20 0x00007fbd199eba88 in KisUpdateJobItem::run (this=0x3e33d90) at /home/boud/kde/build/calligra/krita/image/../../../../src/calligra/krita/image/kis_update_job_item.h:56
#21 0x00007fbd1a85ca9d in QThreadPoolThread::run (this=0x3eca490) at concurrent/qthreadpool.cpp:107
#22 0x00007fbd1a868e8b in QThreadPrivate::start (arg=0x3eca490) at thread/qthread_unix.cpp:307
#23 0x00007fbd1a5d2e0e in start_thread () from /lib64/libpthread.so.0
#24 0x00007fbd11b032bd in clone () from /lib64/libc.so.6
Comment 11 Halla Rempt 2012-09-06 13:19:39 UTC
Hm, it gets even more complicated:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DOC PUBLIC '-//KDE//DTD krita 2.0//EN' 'http://www.calligra.org/DTD/krita-2.0.dtd'>
<DOC xmlns="http://www.calligra.org/DTD/krita" syntaxVersion="2" editor="Krita">
 <IMAGE width="1024" profile="Standard RGB (sRGB)" y-res="100" mime="application/x-kra" description="" height="768" colorspacename="RgbAF32" name="TEST Image" x-res="100">
  <layers>
   <layer opacity="255" x="0" channellockflags="1111" nodetype="paintlayer" y="0" colorspacename="RGBA" visible="1" compositeop="normal" locked="0" uuid="{63d326c2-ada1-400a-966e-887ae02735b7}" name="Layer 1" filename="layer2" channelflags="1111"/>
  </layers>
 </IMAGE>
</DOC>

The layer itself is 8 bits rgba... There is no hdr pixel data here.
Comment 12 Halla Rempt 2012-09-06 13:21:00 UTC
That also gives  a problem with a newly created image....
Comment 13 Florian Staudacher 2012-09-21 12:44:51 UTC
How is it going? (what exactly is the problem, how far are you from getting it fixed?)
As a novice C++-guy, can I help you with anything?
Comment 14 Halla Rempt 2012-12-01 19:37:47 UTC
With krita from master or calligra 2.6 branch and lcsm sha c606462eda773b1cdd51dcfebd81fc8862652c51, I can open the test. kra file!