Bug 339683 - Krita crashes when trying to export mixed channel depth images to Photoshop .psd file
Summary: Krita crashes when trying to export mixed channel depth images to Photoshop ....
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: File formats (show other bugs)
Version: 2.8.5
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-04 23:17 UTC by Audrey Toskin
Modified: 2014-11-05 11:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Audrey Toskin 2014-10-04 23:17:44 UTC
Application: krita (2.8.6)
KDE Platform Version: 4.14.1
Qt Version: 4.8.6
Operating System: Linux 3.16.3-200.fc20.x86_64 x86_64
Distribution: "Fedora release 20 (Heisenbug)"

-- Information about the crash:
- What I was doing when the application crashed:

I want to share my digital paintings in some alternative formats, so they're usable to more people. So I export a Krita project to the Open Raster Archive .ora, which goes fine.

But when I export to a Photoshop .psd file, Krita crashes.

I reopened Krita and tried again, and it crashes again. I opened other Krita projects and try exporting those to .psd files, and usually Krita crashes again. After several attempts, I have only successfully exported one .psd file so far.

A short-term workaround I've thought of: I could open the .ora in GIMP and export to .psd from there, but GIMP doesn't yet support 16-bit color...

Reproducible: Always

Steps to Reproduce:
1. Open Krita project in Krita
2. Attempt to export to .psd format
3. Wait, and watch Krita crash before completing the file export.

Actual Results:  
The process does create a .psd file, but it's just a grainy color gradient. All the original image layers are gone.

Expected Results:  
Successfully export to .psd

-- Backtrace:
Application: Krita (krita), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fec5f77f900 (LWP 27500))]

Thread 9 (Thread 0x7fec3890d700 (LWP 27504)):
#0  0x00007fec5706b71d in poll () from /lib64/libc.so.6
#1  0x00007fec4e6965b4 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fec4e696a3a in g_main_loop_run () from /lib64/libglib-2.0.so.0
#3  0x00007fec414d4376 in gdbus_shared_thread_func () from /lib64/libgio-2.0.so.0
#4  0x00007fec4e6bba45 in g_thread_proxy () from /lib64/libglib-2.0.so.0
#5  0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fec33fff700 (LWP 27505)):
#0  0x00007fec4e695e25 in g_main_context_query () from /lib64/libglib-2.0.so.0
#1  0x00007fec4e69650a in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fec4e6966dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fec4e696729 in glib_worker_main () from /lib64/libglib-2.0.so.0
#4  0x00007fec4e6bba45 in g_thread_proxy () from /lib64/libglib-2.0.so.0
#5  0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fec337fe700 (LWP 27509)):
#0  0x00007fec57b6fca0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fec57dfdbd6 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x00007fec57df9b2b in QSemaphore::acquire(int) () from /lib64/libQtCore.so.4
#3  0x00007fec5e93616e in KisTileDataPooler::waitForWork() () from /lib64/libkritaimage.so.13
#4  0x00007fec5e936597 in KisTileDataPooler::run() () from /lib64/libkritaimage.so.13
#5  0x00007fec57dfd69f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#6  0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#7  0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fec1c8c4700 (LWP 27510)):
#0  0x00007fec57b6fca0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fec57dfdbd6 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x00007fec57df9f53 in QSemaphore::tryAcquire(int, int) () from /lib64/libQtCore.so.4
#3  0x00007fec5e953f6a in KisTileDataSwapper::run() () from /lib64/libkritaimage.so.13
#4  0x00007fec57dfd69f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#5  0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fec179a5700 (LWP 27525)):
#0  0x00007fec57b6fca0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fec57dfdbd6 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x00007fec592f4ce6 in QFileInfoGatherer::run() () from /lib64/libQtGui.so.4
#3  0x00007fec57dfd69f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#4  0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fec04843700 (LWP 27526)):
#0  0x00007fec4e6d72ea in g_mutex_get_impl () from /lib64/libglib-2.0.so.0
#1  0x00007fec4e6d7599 in g_mutex_lock () from /lib64/libglib-2.0.so.0
#2  0x00007fec4e695deb in g_main_context_query () from /lib64/libglib-2.0.so.0
#3  0x00007fec4e69650a in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#4  0x00007fec4e6966dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#5  0x00007fec57f3643e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x00007fec57f0638f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#7  0x00007fec57f066dd in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#8  0x00007fec57dfae5f in QThread::exec() () from /lib64/libQtCore.so.4
#9  0x00007fec57ee6de3 in QInotifyFileSystemWatcherEngine::run() () from /lib64/libQtCore.so.4
#10 0x00007fec57dfd69f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#11 0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#12 0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fec171a4700 (LWP 27802)):
#0  0x00007fec57b6fca0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fec57dfdbd6 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x00007fec592f4ce6 in QFileInfoGatherer::run() () from /lib64/libQtGui.so.4
#3  0x00007fec57dfd69f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#4  0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fec32ffd700 (LWP 27803)):
#0  0x00007ffffa5fce4e in clock_gettime ()
#1  0x00007fec57083d3d in clock_gettime () from /lib64/libc.so.6
#2  0x00007fec57e548db in qt_gettime() () from /lib64/libQtCore.so.4
#3  0x00007fec57f37cd5 in QTimerInfoList::timerWait(timeval&) () from /lib64/libQtCore.so.4
#4  0x00007fec57f362cc in timerSourcePrepareHelper(GTimerSource*, int*) () from /lib64/libQtCore.so.4
#5  0x00007fec57f36395 in timerSourcePrepare(_GSource*, int*) () from /lib64/libQtCore.so.4
#6  0x00007fec4e695bed in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#7  0x00007fec4e6964bb in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#8  0x00007fec4e6966dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#9  0x00007fec57f3643e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#10 0x00007fec57f0638f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#11 0x00007fec57f066dd in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#12 0x00007fec57dfae5f in QThread::exec() () from /lib64/libQtCore.so.4
#13 0x00007fec57ee6de3 in QInotifyFileSystemWatcherEngine::run() () from /lib64/libQtCore.so.4
#14 0x00007fec57dfd69f in QThreadPrivate::start(void*) () from /lib64/libQtCore.so.4
#15 0x00007fec57b6bee5 in start_thread () from /lib64/libpthread.so.0
#16 0x00007fec57075b8d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fec5f77f900 (LWP 27500)):
[KCrash Handler]
#5  0x00007fec56fb6877 in raise () from /lib64/libc.so.6
#6  0x00007fec56fb7f68 in abort () from /lib64/libc.so.6
#7  0x00007fec56ff6a54 in __libc_message () from /lib64/libc.so.6
#8  0x00007fec56fff72c in _int_malloc () from /lib64/libc.so.6
#9  0x00007fec57000cfc in malloc () from /lib64/libc.so.6
#10 0x00007fec54f82266 in ?? () from /usr/lib64/nvidia/tls/libnvidia-tls.so.331.89
#11 0x00007fec57dff640 in QByteArray::realloc(int) () from /lib64/libQtCore.so.4
#12 0x00007fec57dff80f in QByteArray::resize(int) () from /lib64/libQtCore.so.4
#13 0x00007fec57e89e82 in QFile::writeData(char const*, long long) () from /lib64/libQtCore.so.4
#14 0x00007fec57e91bf0 in QIODevice::write(char const*, long long) () from /lib64/libQtCore.so.4
#15 0x00007febfc20ddac in psdwrite(QIODevice*, unsigned short) () from /usr/lib64/kde4/kritapsdexport.so
#16 0x00007febfc21fd23 in PSDLayerRecord::writePixelData(QIODevice*) () from /usr/lib64/kde4/kritapsdexport.so
#17 0x00007febfc21923f in PSDLayerSection::write(QIODevice*, KisSharedPtr<KisNode>) () from /usr/lib64/kde4/kritapsdexport.so
#18 0x00007febfc20b682 in PSDSaver::buildFile(KUrl const&) () from /usr/lib64/kde4/kritapsdexport.so
#19 0x00007febfc209257 in psdExport::convert(QByteArray const&, QByteArray const&) () from /usr/lib64/kde4/kritapsdexport.so
#20 0x00007fec5e616808 in CalligraFilter::ChainLink::invokeFilter(CalligraFilter::ChainLink const*) () from /lib64/libkomain.so.13
#21 0x00007fec5e6100d1 in KoFilterChain::invokeChain() () from /lib64/libkomain.so.13
#22 0x00007fec5e60b8b8 in KoFilterManager::exportDocument(QString const&, QByteArray&) () from /lib64/libkomain.so.13
#23 0x00007fec5e5a6011 in KoDocument::saveFile() () from /lib64/libkomain.so.13
#24 0x00007fec5e5b03cd in KoDocument::save() () from /lib64/libkomain.so.13
#25 0x00007fec5e5b1527 in KoDocument::saveAs(KUrl const&) () from /lib64/libkomain.so.13
#26 0x00007fec5e5a5a8a in KoDocument::exportDocument(KUrl const&) () from /lib64/libkomain.so.13
#27 0x00007fec5e5dd154 in KoMainWindow::saveDocument(bool, bool, int) () from /lib64/libkomain.so.13
#28 0x00007fec5e5ded32 in KoMainWindow::slotFileSaveAs() () from /lib64/libkomain.so.13
#29 0x00007fec5e5ded93 in KoMainWindow::slotExportFile() () from /lib64/libkomain.so.13
#30 0x00007fec5e5e1a35 in KoMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libkomain.so.13
#31 0x00007fec57f1c37a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4
#32 0x00007fec58ded862 in QAction::triggered(bool) () from /lib64/libQtGui.so.4
#33 0x00007fec58def3f7 in QAction::activate(QAction::ActionEvent) () from /lib64/libQtGui.so.4
#34 0x00007fec58def56c in QAction::event(QEvent*) () from /lib64/libQtGui.so.4
#35 0x00007fec59a755c2 in KAction::event(QEvent*) () from /lib64/libkdeui.so.5
#36 0x00007fec58df3e5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#37 0x00007fec58dfa7b5 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#38 0x00007fec5e59f967 in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.13
#39 0x00007fec57f078fd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#40 0x00007fec58e27182 in QShortcutMap::dispatchEvent(QKeyEvent*) () from /lib64/libQtGui.so.4
#41 0x00007fec58e272bc in QShortcutMap::tryShortcutEvent(QObject*, QKeyEvent*) () from /lib64/libQtGui.so.4
#42 0x00007fec58dfbaeb in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#43 0x00007fec5e59f967 in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.13
#44 0x00007fec57f078fd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#45 0x00007fec58e92f5a in QKeyMapper::sendKeyEvent(QWidget*, bool, QEvent::Type, int, QFlags<Qt::KeyboardModifier>, QString const&, bool, int, unsigned int, unsigned int, unsigned int, bool*) () from /lib64/libQtGui.so.4
#46 0x00007fec58e93319 in QKeyMapperPrivate::translateKeyEvent(QWidget*, _XEvent const*, bool) () from /lib64/libQtGui.so.4
#47 0x00007fec58e6e3ff in QApplication::x11ProcessEvent(_XEvent*) () from /lib64/libQtGui.so.4
#48 0x00007fec58e95ac4 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQtGui.so.4
#49 0x00007fec4e6962a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#50 0x00007fec4e696628 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#51 0x00007fec4e6966dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#52 0x00007fec57f3641e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#53 0x00007fec58e95c46 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4
#54 0x00007fec57f0638f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#55 0x00007fec57f066dd in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#56 0x00007fec57f0bda9 in QCoreApplication::exec() () from /lib64/libQtCore.so.4
#57 0x00007fec5f31ce71 in kdemain () from /lib64/libkdeinit4_krita.so
#58 0x00007fec56fa2d65 in __libc_start_main () from /lib64/libc.so.6
#59 0x0000000000400971 in _start ()

Report to https://bugs.kde.org/
Comment 1 Audrey Toskin 2014-10-04 23:26:52 UTC
Oops, sorry. Correction: One of the times I tried to export a .psd file, Krita did not crash, but the .psd file was still corrupted.
Comment 2 Sven Langkamp 2014-10-04 23:28:53 UTC
Do you have some test kra files that produce the problem. Saving psd files works here.
Comment 3 Halla Rempt 2014-10-05 10:46:22 UTC
I actually suspect that the issue is that 2.8 has this problem with 16 bit files; it should be fixed in git master. But yes, a .kra that causes the crash would be very welcome, than we can make sure.
Comment 5 Halla Rempt 2014-11-05 11:27:46 UTC
Thanks! I can reproduce the crash now, and get a nice backtrace:

Thread 1 (Thread 0x7fa70b82a8c0 (LWP 391)):
[KCrash Handler]
#5  0x00007fa70ae5ed27 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#6  0x00007fa70ae60418 in __GI_abort () at abort.c:89
#7  0x00007fa70aea09f4 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7fa70afa9a40 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#8  0x00007fa70aea8006 in malloc_printerr (ptr=<optimized out>, str=0x7fa70afa9b70 "double free or corruption (out)", action=1) at malloc.c:4996
#9  _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#10 0x00007fa683273c8d in qDeleteAll<unsigned char* const*> (end=0x1dc41b50, begin=0x1dc41b30) at /usr/include/qt4/QtCore/qalgorithms.h:322
#11 qDeleteAll<QVector<unsigned char*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#12 PSDLayerRecord::writePixelData (this=this@entry=0x274d8320, io=io@entry=0x7fff45abd490) at /home/boud/kde/src/calligra/krita/plugins/formats/psd/psd_layer_record.cpp:747
#13 0x00007fa68326cd21 in PSDLayerSection::write (this=this@entry=0x7fff45abd590, io=io@entry=0x7fff45abd490, rootLayer=...) at /home/boud/kde/src/calligra/krita/plugins/formats/psd/psd_layer_section.cpp:347
#14 0x00007fa683259a52 in PSDSaver::buildFile (this=this@entry=0x7fff45abd810, uri=...) at /home/boud/kde/src/calligra/krita/plugins/formats/psd/psd_saver.cpp:222
#15 0x00007fa683256065 in psdExport::convert (this=<optimized out>, from=..., to=...) at /home/boud/kde/src/calligra/krita/plugins/formats/psd/psd_export.cc:87
#16 0x00007fa70a37a5d2 in CalligraFilter::ChainLink::invokeFilter (this=0xa01a790, parentChainLink=parentChainLink@entry=0x0) at /home/boud/kde/src/calligra/libs/main/KoFilterChainLink.cpp:88
#17 0x00007fa70a370d00 in KoFilterChain::invokeChain (this=0x274e3600) at /home/boud/kde/src/calligra/libs/main/KoFilterChain.cpp:95
#18 0x00007fa70a36b280 in KoFilterManager::exportDocument (this=0x66cdd60, url=..., mimeType=...) at /home/boud/kde/src/calligra/libs/main/KoFilterManager.cpp:241
#19 0x00007fa70a3016d3 in KoDocument::saveFile (this=0x6610b20) at /home/boud/kde/src/calligra/libs/main/KoDocument.cpp:583
#20 0x00007fa70a30de54 in KoDocument::save (this=0x6610b20) at /home/boud/kde/src/calligra/libs/main/KoDocument.cpp:2503
#21 0x00007fa70a30fd07 in KoDocument::saveAs (this=0x6610b20, kurl=...) at /home/boud/kde/src/calligra/libs/main/KoDocument.cpp:2472
#22 0x00007fa70a33f2da in KoMainWindow::saveDocument (this=this@entry=0x6628fa0, saveas=<optimized out>, saveas@entry=true, silent=silent@entry=false, specialOutputFlag=specialOutputFlag@entry=0) at /home/boud/kde/src/calligra/libs/main/KoMainWindow.cpp:1088
#23 0x00007fa70a3406a2 in KoMainWindow::slotFileSaveAs (this=0x6628fa0) at /home/boud/kde/src/calligra/libs/main/KoMainWindow.cpp:1356
#24 0x00007fa70a343740 in KoMainWindow::qt_static_metacall (_o=0x6628fa0, _c=<optimized out>, _id=11, _a=0x7fff45abe630) at /home/boud/kde/build/calligra/libs/main/KoMainWindow.moc:137
#25 0x00007fa708daea7a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#26 0x00007fa70979dbf2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007fa70979f5c3 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007fa709bd59b9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007fa709bda059 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007fa709bdc3b1 in QMenu::keyPressEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007fa7046cbf30 in KMenu::keyPressEvent(QKeyEvent*) () from /usr/lib/libkdeui.so.5
#32 0x00007fa7097f4565 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007fa709bdde7b in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007fa7097a411c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007fa7097ac01b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#36 0x00007fa70a2fac77 in KoApplication::notify (this=<optimized out>, receiver=0x6703210, event=0x7fff45abec90) at /home/boud/kde/src/calligra/libs/main/KoApplication.cpp:621
#37 0x00007fa708d9a86d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#38 0x00007fa7098449e0 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007fa709844e62 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#40 0x00007fa70981e48c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#41 0x00007fa709847d90 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#42 0x00007fa708d994f1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#43 0x00007fa708d99805 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#44 0x00007fa708d9ef67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#45 0x00007fa70b3050b0 in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/krita/main.cc:104
#46 0x00007fa70ae49ec5 in __libc_start_main (main=0x4006c0 <main(int, char**)>, argc=2, argv=0x7fff45abf6d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff45abf6c8) at libc-start.c:287
#47 0x00000000004006ee in _start ()
Comment 6 Halla Rempt 2014-11-05 11:32:06 UTC
I also think I know what's going on. Krita can handle mixed images: you have 8 and 16 bit integer RGB layers in this image, while the image itself is set to 16 bit integer RGB. Photoshop cannot handle that, and our code cannot handle converting the layers to the image colorspace while saving.
Comment 7 Halla Rempt 2014-11-05 11:41:56 UTC
Git commit fa0a7643e795a4dd383a1fe787a010312206a80a by Boudewijn Rempt.
Committed on 05/11/2014 at 11:41.
Pushed by rempt into branch 'master'.

Check that the image is homogenous before converting to PSD

PSD cannot handle images with layers in different colorspaces and bit
depths, so give an error message if that's the case.

M  +31   -0    krita/plugins/formats/psd/psd_export.cc

http://commits.kde.org/calligra/fa0a7643e795a4dd383a1fe787a010312206a80a