Bug 357497 - headless exporter segfaults on filter layers
Summary: headless exporter segfaults on filter layers
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Filter Layers (show other bugs)
Version: 2.9.10
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
: 361925 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-01-04 07:10 UTC by codl
Modified: 2016-04-18 12:18 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description codl 2016-01-04 07:10:45 UTC
When trying to export a .kra file that contains a visible adjustment layer with Krita's headless exporter (krita --export), Krita crashes.

Here is a sample file: https://f.codl.fr/1601/sample.kra

Reproducible: Always

Steps to Reproduce:
1. Get the sample file, or create a kra file with any visible adjustment layer
2. Run `krita --export sample.kra --export-filename sample.png`

Actual Results:  
The file is exported correctly (as far as I can tell) and Krita segfaults and opens the KDE crash handler.

Expected Results:  
The file is exported correctly and Krita exits silently.

Here is an (incomplete, sorry) stack trace:

Application: Krita (krita), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fb447840840 (LWP 25141))]

Thread 3 (Thread 0x7fb41d774700 (LWP 25173)):
#0  0x00007fb43fbae07f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fb4455536b6 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007fb44554f3c3 in QSemaphore::acquire(int) () from /usr/lib/libQtCore.so.4
#3  0x00007fb4423feace in ?? () from /usr/lib/libkritaimage.so.14
#4  0x00007fb4423feef0 in ?? () from /usr/lib/libkritaimage.so.14
#5  0x00007fb44555314c in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007fb43fba84a4 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007fb444c7413d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fb40ffff700 (LWP 25174)):
#0  0x00007fb43fbae428 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007fb445551afa in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007fb4455524ad in QThread::msleep(unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00007fb44241af9a in KisTileDataSwapper::run() () from /usr/lib/libkritaimage.so.14
#4  0x00007fb44555314c in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007fb43fba84a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007fb444c7413d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fb447840840 (LWP 25141)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007fb442505e6f in KisNodeProgressProxy::setRange(int, int) () from /usr/lib/libkritaimage.so.14
#8  0x00007fb442505f01 in ?? () from /usr/lib/libkritaimage.so.14
#9  0x00007fb4425003ed in KisNode::~KisNode() () from /usr/lib/libkritaimage.so.14
#10 0x00007fb442469db9 in KisAdjustmentLayer::~KisAdjustmentLayer() () from /usr/lib/libkritaimage.so.14
#11 0x00007fb4471c136e in KisDocument::~KisDocument() () from /usr/lib/libkritaui.so.14
#12 0x00007fb4471c15e9 in KisDocument::~KisDocument() () from /usr/lib/libkritaui.so.14
#13 0x00007fb4471dcfc5 in KisFilterChain::manageIO() () from /usr/lib/libkritaui.so.14
#14 0x00007fb4471e0533 in KisFilterChain::invokeChain() () from /usr/lib/libkritaui.so.14
#15 0x00007fb4471f00af in KisImportExportManager::exportDocument(QString const&, QByteArray&) () from /usr/lib/libkritaui.so.14
#16 0x00007fb4471b545c in KisApplication::start() () from /usr/lib/libkritaui.so.14
#17 0x000000000040288d in ?? ()
#18 0x00007fb444bab610 in __libc_start_main () from /usr/lib/libc.so.6
#19 0x00000000004034c9 in _start ()
Comment 1 Halla Rempt 2016-01-10 11:14:53 UTC
Thanks for your report. I can confirm that 2.9 crashes, 3.0 pre-alpha seems to hang:

Thread 1 (Thread 0x7fcb89ed4840 (LWP 29151)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007fcb8492dda2 in KisSharedPtr<KisNode>::deref (sp=0x7ffe980d8ec0, t=0x32735e0) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:218
#8  KisSharedPtr<KisNode>::deref (this=0x7ffe980d8ec0) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:225
#9  KisSharedPtr<KisNode>::~KisSharedPtr (this=0x7ffe980d8ec0, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:109
#10 KisNodeProgressProxy::setRange (this=<optimized out>, _minimum=<optimized out>, _maximum=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_node_progress_proxy.cpp:86
#11 0x00007fcb8492e846 in KisBusyProgressIndicator::Private::stopProgressReport (this=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_busy_progress_indicator.cpp:47
#12 KisBusyProgressIndicator::endUpdatesBeforeDestroying (this=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_busy_progress_indicator.cpp:70
#13 0x00007fcb849195ad in KisNode::~KisNode (this=0x32735e0, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_node.cpp:200
#14 0x00007fcb848261b9 in KisSelectionBasedLayer::~KisSelectionBasedLayer (this=0x32735e0, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_selection_based_layer.cpp:79
#15 0x00007fcb84821ef9 in KisAdjustmentLayer::~KisAdjustmentLayer (this=0x32735e0, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_adjustment_layer.cc:60
#16 0x00007fcb897db14a in KisSharedPtr<KisNode>::deref (sp=<optimized out>, t=0x32735e0) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:218
#17 KisSharedPtr<KisNode>::deref (this=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:225
#18 KisSharedPtr<KisNode>::~KisSharedPtr (this=<optimized out>, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:109
#19 KisDocument::Private::~Private (this=<optimized out>, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/ui/KisDocument.cpp:284
#20 KisDocument::~KisDocument (this=0x31040d0, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/ui/KisDocument.cpp:613
#21 0x00007fcb897db399 in KisDocument::~KisDocument (this=0x31040d0, __in_chrg=<optimized out>) at /home/boud/kde/src/calligra/krita/ui/KisDocument.cpp:614
#22 0x00007fcb897f7cf5 in KisFilterChain::manageIO (this=this@entry=0x31d30e0) at /home/boud/kde/src/calligra/krita/ui/KisFilterChain.cpp:321
#23 0x00007fcb897faab8 in KisFilterChain::invokeChain (this=0x31d30e0) at /home/boud/kde/src/calligra/krita/ui/KisFilterChain.cpp:96
#24 0x00007fcb8980efbf in KisImportExportManager::exportDocument (this=this@entry=0x7ffe980d9730, url=..., mimeType=...) at /home/boud/kde/src/calligra/krita/ui/KisImportExportManager.cpp:246
#25 0x00007fcb897cc42d in KisApplication::start (this=this@entry=0x7ffe980d9b50) at /home/boud/kde/src/calligra/krita/ui/KisApplication.cpp:479
#26 0x00000000004028ad in main (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/krita/main.cc:192
Comment 2 Halla Rempt 2016-04-18 11:52:09 UTC
*** Bug 361925 has been marked as a duplicate of this bug. ***
Comment 3 Halla Rempt 2016-04-18 12:18:16 UTC
Git commit ab3354d9ab9821bba38012ca9bd92f24e758d6a0 by Boudewijn Rempt.
Committed on 18/04/2016 at 12:17.
Pushed by rempt into branch 'master'.

M  +3    -3    libs/ui/KisApplication.cpp
M  +4    -2    libs/ui/KisFilterChain.cpp

http://commits.kde.org/krita/ab3354d9ab9821bba38012ca9bd92f24e758d6a0