Bug 317937

Summary: Krita doesn't open anymore the saved painting and crashes when you try it.
Product: [Applications] krita Reporter: Ico_dY <enrico_guarnieri>
Component: Filter LayersAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: critical CC: halla
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Test file created as explained above.

Description Ico_dY 2013-04-06 16:17:29 UTC
Krita  doesn't open anymore the saved painting and crashes when you try it.

Backtrace Content:

Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f281c55a7c0 (LWP 27340))]

Thread 4 (Thread 0x7f2802c21700 (LWP 27344)):
#0  0x00007f281bab5303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f28150bd036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f28150bd49a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2809cb5406 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f28150de9e5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f280ff73764 in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#6  0x00007f2815589e9a in start_thread (arg=0x7f2802c21700) at pthread_create.c:308
#7  0x00007f281bac0cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f27ead05700 (LWP 27356)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2819a065ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007f2819a023e4 in QSemaphore::acquire(int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007f27f348511e in KisTileDataPooler::waitForWork (this=0x2cace70) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/tiles3/kis_tile_data_pooler.cc:162
#4  0x00007f27f3485874 in KisTileDataPooler::run (this=0x2cace70) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/tiles3/kis_tile_data_pooler.cc:184
#5  0x00007f2819a0609b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f280ff73764 in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#7  0x00007f2815589e9a in start_thread (arg=0x7f27ead05700) at pthread_create.c:308
#8  0x00007f281bac0cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f27ea504700 (LWP 27357)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f2819a065ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007f2819a02829 in QSemaphore::tryAcquire(int, int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007f27f34a2a7a in KisTileDataSwapper::run (this=0x2cacea8) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#4  0x00007f2819a0609b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f280ff73764 in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#6  0x00007f2815589e9a in start_thread (arg=0x7f27ea504700) at pthread_create.c:308
#7  0x00007f281bac0cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f281c55a7c0 (LWP 27340)):
[KCrash Handler]
#6  KisCloneLayer::original (this=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_clone_layer.cpp:113
#7  0x00007f27f3530c46 in KisMask::initSelection (this=0x3237290, copyFrom=..., parentLayer=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/image/kis_mask.cc:117
#8  0x00007f27f3ca0df3 in KisKraLoader::loadFilterMask (this=<optimized out>, element=..., parent=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kra/kis_kra_loader.cpp:677
#9  0x00007f27f3ca3195 in KisKraLoader::loadNode (this=0x2d51060, element=..., image=..., parent=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kra/kis_kra_loader.cpp:444
#10 0x00007f27f3ca4172 in KisKraLoader::loadNodes (this=0x2d51060, element=..., image=..., parent=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kra/kis_kra_loader.cpp:351
#11 0x00007f27f3ca4059 in KisKraLoader::loadNodes (this=0x2d51060, element=..., image=..., parent=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kra/kis_kra_loader.cpp:360
#12 0x00007f27f3ca4f13 in KisKraLoader::loadXML (this=0x2d51060, element=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kra/kis_kra_loader.cpp:236
#13 0x00007f27f3bf4a5e in KisDoc2::loadXML (this=0x286c660, doc=...) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/ui/kis_doc2.cc:271
#14 0x00007f281b6e6cc3 in KoDocument::loadNativeFormatFromStoreInternal (this=0x286c660, store=0x31ac460) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoDocument.cpp:1587
#15 0x00007f281b6e7edf in KoDocument::loadNativeFormatFromStore (this=0x286c660, file=...) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoDocument.cpp:1524
#16 0x00007f281b6e853f in KoDocument::loadNativeFormat (this=0x286c660, file_=...) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoDocument.cpp:1504
#17 0x00007f281b6e458d in KoDocument::openFile (this=0x286c660) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoDocument.cpp:1310
#18 0x00007f281b77d6c3 in KoPart::openFile (this=0x2f9cf80) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoPart.cpp:199
#19 0x00007f281945bc0c in ?? () from /usr/lib/libkparts.so.4
#20 0x00007f281945c1d4 in KParts::ReadOnlyPart::openUrl(KUrl const&) () from /usr/lib/libkparts.so.4
#21 0x00007f281b6e08d1 in KoDocument::openUrl (this=0x286c660, _url=...) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoDocument.cpp:983
#22 0x00007f281b707bb4 in KoMainWindow::openDocumentInternal (this=0x2fb8d20, url=..., newpart=0x2f9cf80, newdoc=0x286c660) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoMainWindow.cpp:734
#23 0x00007f281b712c69 in KoMainWindow::openDocument (this=0x2fb8d20, newPart=0x2f9cf80, url=...) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoMainWindow.cpp:713
#24 0x00007f281b6d3c7e in KoApplication::start (this=0x7fff62736150) at /media/sda7/Build/Koffice/calligra/calligra-src/libs/main/KoApplication.cpp:462
#25 0x00007f281bf72a32 in kdemain (argc=<optimized out>, argv=<optimized out>) at /media/sda7/Build/Koffice/calligra/calligra-src/krita/main.cc:71
#26 0x00007f281b9ee76d in __libc_start_main (main=0x400630 <main(int, char**)>, argc=2, ubp_av=0x7fff62736318, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff62736308) at libc-start.c:226
#27 0x0000000000400661 in _start ()


Reproducible: Always

Steps to Reproduce:
1. Fill a layer with any color.
2. Create a new transparent layer above it and draw something.
3. Create a new clone layer of this layer.
4. Add a "Gaussian blur" filter mask  to the clone layer.
5. Set the layer blending of clone layer to "overlay".
6. Save the painting.
7. Open the painting.
Actual Results:  
Krita doesn't open anymore the saved painting -> Krita crashes.

Expected Results:  
Krita should open the saved painting.
Comment 1 Ico_dY 2013-04-06 16:22:36 UTC
Created attachment 78682 [details]
Test file created as explained above.

Please, try to open it! ;-D
Comment 2 Halla Rempt 2013-04-06 17:29:13 UTC
Dmitry is working on it...
Comment 3 Dmitry Kazakov 2013-04-06 17:43:00 UTC
Git commit b5f210cd4f47ef9d9ce07c3717f5faa1d23f2aba by Dmitry Kazakov.
Committed on 06/04/2013 at 19:41.
Pushed by dkazakov into branch 'master'.

Fixed a crash while loading a mask for a clone layer

M  +25   -0    krita/ui/kra/kis_kra_load_visitor.cpp
M  +1    -0    krita/ui/kra/kis_kra_load_visitor.h
M  +0    -3    krita/ui/kra/kis_kra_loader.cpp

http://commits.kde.org/calligra/b5f210cd4f47ef9d9ce07c3717f5faa1d23f2aba
Comment 4 Ico_dY 2013-04-06 19:45:43 UTC
I've just tried the fix and it works but Krita hangs for a WHILE before showing the painting after loading. For a moment I saw a yellow triangle near the "overlay" text of layer blending mode...
Maybe it's related...