Refactor Saving and Exporting
Closed, ResolvedPublic

Description

There needs to be a set of flags that import/export filters can export to show they can e.g. save layers, save to a certain colorspace and so on. Then there needs to be a central class that checks those flags agains the actual image and composes a warning message that can be shown to the user.

rempt created this task.Jun 28 2016, 9:22 AM
Restricted Application added a subscriber: woltherav. · View Herald TranscriptJun 28 2016, 9:22 AM
rempt renamed this task from Improve warnings when exporting to Refactor Saving and Exporting.Sep 1 2016, 8:52 AM
rempt edited projects, added Krita: Next Features; removed Krita.
woltherav added a comment.EditedOct 4 2016, 6:48 PM

Got the following when trying to open an old kra file(made yesterday) with 1 layer and a canvas projection color:

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) thread apply all backtrace

Thread 15 (Thread 0x7fff99375700 (LWP 31703)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff558b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff6761aa2 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeeab06fa in start_thread (arg=0x7fff99375700) at pthread_create.c:333
#5  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff99b76700 (LWP 31702)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff558b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5585116 in QSemaphore::tryAcquire(int, int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c67e13 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2c6800a in KisTileDataSwapper::run (this=0x7ffff312e8c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeab06fa in start_thread (arg=0x7fff99b76700) at pthread_create.c:333
#7  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff9a377700 (LWP 31701)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff558b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5584e8b in QSemaphore::acquire(int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c4e1ce in KisTileDataPooler::waitForWork (this=0x7ffff312e880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff2c4e98a in KisTileDataPooler::run (this=0x7ffff312e880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeab06fa in start_thread (arg=0x7fff9a377700) at pthread_create.c:333
#7  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffcbfff700 (LWP 31693)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff579c4fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff574aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007ffff558638c in QThread::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecdbcd5 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffeeab06fa in start_thread (arg=0x7fffcbfff700) at pthread_create.c:333
#9  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd903b700 (LWP 31692)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee185722 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#3  0x00007fffde499916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee1abbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffd903b700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffd983c700 (LWP 31691)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee1854e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee1abbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffd983c700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffda03d700 (LWP 31690)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda04528d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee1abbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffda03d700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe48dd700 (LWP 31689)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff338bc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff338d8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe578cdc9 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffe48dd700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 31682)):
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff78fdb36 in KisImportExportManager::convert (this=0x1314c8b0, direction=direction@entry=KisImportExportManager::Import, location=..., mimeType=..., 
    exportConfiguration=...) at /home/krita/kde/src/krita/libs/ui/KisImportExportManager.cpp:221
#2  0x00007ffff78ff553 in KisImportExportManager::importDocument (this=<optimized out>, location=..., mimeType=...)
    at /home/krita/kde/src/krita/libs/ui/KisImportExportManager.cpp:82
#3  0x00007ffff78e4414 in KisDocument::openFile (this=this@entry=0x1307dce0) at /home/krita/kde/src/krita/libs/ui/KisDocument.cpp:980
#4  0x00007ffff78e6702 in KisDocument::openUrlInternal (this=this@entry=0x1307dce0, url=...) at /home/krita/kde/src/krita/libs/ui/KisDocument.cpp:1537
#5  0x00007ffff78e6bab in KisDocument::openUrl (this=this@entry=0x1307dce0, _url=..., flags=flags@entry=KisDocument::OPEN_URL_FLAG_NONE)
    at /home/krita/kde/src/krita/libs/ui/KisDocument.cpp:922
#6  0x00007ffff7905570 in KisMainWindow::openDocumentInternal (this=this@entry=0xe138e40, url=..., newdoc=0x1307dce0, newdoc@entry=0x0)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:776
#7  0x00007ffff790cb65 in KisMainWindow::openDocument (this=this@entry=0xe138e40, url=...) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:758
#8  0x00007ffff790cd71 in KisMainWindow::slotFileOpenRecent (this=0xe138e40, url=...) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:1378
#9  0x00007ffff7914829 in KisMainWindow::qt_static_metacall (_o=0xe138e40, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffc030)
    at /home/krita/kde/build/libs/ui/moc_KisMainWindow.cpp:306
---Type <return> to continue, or q <return> to quit---
#10 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#11 0x00007ffff6f2c292 in KRecentFilesAction::urlSelected (this=this@entry=0xef1cf40, _t1=...) at /home/krita/kde/build/libs/widgetutils/moc_krecentfilesaction.cpp:204
#12 0x00007ffff6f2cc3a in KRecentFilesActionPrivate::_k_urlSelected (this=0xef27ca0, action=<optimized out>)
    at /home/krita/kde/src/krita/libs/widgetutils/config/krecentfilesaction.cpp:99
#13 0x00007ffff6f2d13b in KRecentFilesAction::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/krita/kde/build/libs/widgetutils/moc_krecentfilesaction.cpp:93
#14 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#15 0x00007ffff07f7ddf in KSelectAction::triggered (this=this@entry=0xef1cf40, _t1=0xef24350) at ./moc_kselectaction.cpp:283
#16 0x00007ffff07faebd in KSelectAction::actionTriggered (this=0xef1cf40, action=0xef24350) at ../../src/kselectaction.cpp:343
#17 0x00007ffff577640e in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#18 0x00007ffff653a48f in QActionGroup::triggered(QAction*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#19 0x00007ffff653af39 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#20 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#21 0x00007ffff6536952 in QAction::triggered(bool) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#22 0x00007ffff65394ad in QAction::activate(QAction::ActionEvent) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#23 0x00007ffff66b2f22 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#24 0x00007ffff66b8648 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#25 0x00007ffff66bc496 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#26 0x00007ffff6582308 in QWidget::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#27 0x00007ffff66bce9b in QMenu::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#28 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#29 0x00007ffff6544f0e in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#30 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0xef22f70, event=0x7fffffffcba0)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#31 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#32 0x00007ffff6543a33 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#33 0x00007ffff659d330 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#34 0x00007ffff659f6db in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#35 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#36 0x00007ffff6544488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#37 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0xef1db80, event=0x7fffffffd030)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#38 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#39 0x00007ffff5cec97b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#40 0x00007ffff5cee485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#41 0x00007ffff5ccf6a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#42 0x00007fffe57e7720 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#43 0x00007fffee1851a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007fffee185400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007ffff579c4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#47 0x00007ffff574aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#48 0x00007ffff5752d9d in QCoreApplication::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#49 0x0000000000404d16 in main (argc=1, argv=<optimized out>) at /home/krita/kde/src/krita/krita/main.cc:263
(gdb)

Edit: I cannot open any old kra files anymore...

Edit2: Of course, clean install fixed this. I think it's imperative to mention that when merging, because otherwise people will be confused.

woltherav added a comment.EditedOct 4 2016, 7:08 PM

Saving a single layer image with a projection background gives the following:

The following files have the same issue:

  • Ora
  • Gih
  • qml
  • r16 heightmap
  • r8 heightmap
  • sprite scml

Your image contains layers with the color model RGB(I18N_ARGUMENT_MISSING) and channel depth 8 >Bits(I18N_ARGUMENT_MISSING) which cannot be saved to this format. The layers will be converted.

with the terminal saying

"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."

Tiff gives:

Error: cannot save this image as a TIFF image. Reasons:

  • EXR cannot save images with color model RGB and depth 8 Bits. The image will not be saved.
  • EXR cannot save layers with color model RGB and depth 8 Bits. The layers will be skipped.

On an animated file, CSV says:

You will lose information when saving this image as a CSV document. Reasons:

  • The image contains layers of unsupported type Clone Layer. Only the rendered > > * result will be saved.
  • The image contains layers of unsupported type Filter Mask. Only the rendered result will be saved.
  • The image contains layers of unsupported type Transparency Mask. Only the rendered result will be saved.
  • This image has animated layers. Animation cannot be saved to this format.

csv can save animation... Not curves, but it can save frames...

Also, I have a empty entry/space under ora in the file type filter(using unity)

woltherav added a comment.EditedOct 4 2016, 7:16 PM

Also, got a crash in the layerdocker when making a new image after the exporting fun above??? Not sure if related.

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x0000000000786567 in qt_resource_data ()
(gdb) thread apply all backtrace

Thread 16 (Thread 0x7fff99793700 (LWP 6964)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff558b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff6761aa2 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeeab06fa in start_thread (arg=0x7fff99793700) at pthread_create.c:333
#5  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff99f94700 (LWP 6962)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff558b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5585116 in QSemaphore::tryAcquire(int, int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c67e13 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2c6800a in KisTileDataSwapper::run (this=0x7ffff312e8c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeab06fa in start_thread (arg=0x7fff99f94700) at pthread_create.c:333
#7  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff9a795700 (LWP 6961)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff558b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5584e8b in QSemaphore::acquire(int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c4e1ce in KisTileDataPooler::waitForWork (this=0x7ffff312e880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff2c4e98a in KisTileDataPooler::run (this=0x7ffff312e880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeab06fa in start_thread (arg=0x7fff9a795700) at pthread_create.c:333
#7  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffcbfff700 (LWP 6953)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff579c4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff574aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007ffff558638c in QThread::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecdbcd5 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffeeab06fa in start_thread (arg=0x7fffcbfff700) at pthread_create.c:333
#9  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd903b700 (LWP 6952)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee185722 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#3  0x00007fffde499916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee1abbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffd903b700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffd983c700 (LWP 6951)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee1854e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee1abbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffd983c700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffda03d700 (LWP 6950)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee18539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda04528d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee1abbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffda03d700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe48dd700 (LWP 6949)):
#0  0x00007ffff4c7ae8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff338bc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff338d8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe578cdc9 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007ffff558ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffeeab06fa in start_thread (arg=0x7fffe48dd700) at pthread_create.c:333
#6  0x00007ffff4c86b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 6943)):
#0  0x0000000000786567 in qt_resource_data ()
#1  0x000000009ce3a7a0 in ?? ()
#2  0x00007ffff57792e0 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007fff9cc2ac60 in QObject::disconnect (member=0x0, receiver=0xec38870, this=<optimized out>) at /home/krita/Qt/5.6/gcc_64/include/QtCore/qobject.h:361
#4  KisLayerBox::watchOpacityChannel (this=this@entry=0xec38870, channel=channel@entry=0x0)
    at /home/krita/kde/src/krita/plugins/dockers/defaultdockers/kis_layer_box.cpp:896
#5  0x00007fff9cc2ca4a in KisLayerBox::updateUI (this=this@entry=0xec38870) at /home/krita/kde/src/krita/plugins/dockers/defaultdockers/kis_layer_box.cpp:414
#6  0x00007fff9cc2dfe1 in KisLayerBox::slotModelReset (this=0xec38870) at /home/krita/kde/src/krita/plugins/dockers/defaultdockers/kis_layer_box.cpp:489

#7  0x00007fff9cc30e85 in KisLayerBox::qt_static_metacall (_o=0xec38870, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/krita/kde/build/plugins/dockers/defaultdockers/moc_kis_layer_box.cpp:234
#8  0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#9  0x00007ffff56f652c in QAbstractItemModel::endResetModel() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#10 0x00007ffff7726cfb in QAbstractItemModel::reset (this=0xec68da0) at /home/krita/Qt/5.6/gcc_64/include/QtCore/qabstractitemmodel.h:310
#11 KisNodeModel::setDummiesFacade (this=0xec68da0, dummiesFacade=dummiesFacade@entry=0x15231a10, image=..., shapeController=shapeController@entry=0x15231a10, 
    nodeSelectionAdapter=<optimized out>, nodeInsertionAdapter=nodeInsertionAdapter@entry=0xe087ab0) at /home/krita/kde/src/krita/libs/ui/kis_node_model.cpp:294
---Type <return> to continue, or q <return> to quit---
#12 0x00007fff9cc2d233 in KisLayerBox::setCanvas (this=0xec38870, canvas=<optimized out>)
    at /home/krita/kde/src/krita/plugins/dockers/defaultdockers/kis_layer_box.cpp:328
#13 0x00007ffff22b18dc in KoCanvasControllerWidget::Private::activate (this=0xfbe7dc0) at /home/krita/kde/src/krita/libs/flake/KoCanvasControllerWidget.cpp:150
#14 0x00007ffff793d298 in KisViewManager::setCurrentView (this=0xe0ce210, view=view@entry=0x13db0080) at /home/krita/kde/src/krita/libs/ui/KisViewManager.cpp:428
#15 0x00007ffff7905bdc in KisMainWindow::setActiveView (this=0xdf90600, view=0x13db0080) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:1235
#16 0x00007ffff7907b9c in KisMainWindow::setActiveSubWindow (this=this@entry=0xdf90600, window=<optimized out>)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:2093
#17 0x00007ffff7907ccf in KisMainWindow::subWindowActivated (this=0xdf90600) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:2013
#18 0x00007ffff79147cb in KisMainWindow::qt_static_metacall (_o=0xdf90600, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffa0a0)
    at /home/krita/kde/build/libs/ui/moc_KisMainWindow.cpp:352
#19 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#20 0x00007ffff669baaf in QMdiArea::subWindowActivated(QMdiSubWindow*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#21 0x00007ffff66a0504 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#22 0x00007ffff66a105b in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#23 0x00007ffff66a21ed in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#24 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#25 0x00007ffff66a6556 in QMdiSubWindow::windowStateChanged(QFlags<Qt::WindowState>, QFlags<Qt::WindowState>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#26 0x00007ffff66ae1d9 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#27 0x00007ffff66af02c in QMdiSubWindow::eventFilter(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#28 0x00007ffff574cbf3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#29 0x00007ffff6540025 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#30 0x00007ffff6544488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#31 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0x13db0080, event=0x7fffffffa690)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#32 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#33 0x00007ffff657f25b in QWidgetPrivate::show_helper() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#34 0x00007ffff6581dc5 in QWidget::setVisible(bool) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#35 0x00007ffff657f1c8 in QWidgetPrivate::showChildren(bool) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#36 0x00007ffff657f232 in QWidgetPrivate::show_helper() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#37 0x00007ffff6581dc5 in QWidget::setVisible(bool) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#38 0x00007ffff66ae9d5 in QMdiSubWindow::changeEvent(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#39 0x00007ffff658220a in QWidget::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#40 0x00007ffff66af24b in QMdiSubWindow::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#41 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#42 0x00007ffff6544488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#43 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0x1280ac40, event=0x7fffffffac60)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#44 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#45 0x00007ffff657e88b in QWidget::setWindowState(QFlags<Qt::WindowState>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#46 0x00007ffff657efb1 in QWidget::showMaximized() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#47 0x00007ffff66af042 in QMdiSubWindow::eventFilter(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#48 0x00007ffff574cbf3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#49 0x00007ffff6540025 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#50 0x00007ffff6544488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#51 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0x13db0080, event=0x7fffffffb010)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#52 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#53 0x00007ffff657e88b in QWidget::setWindowState(QFlags<Qt::WindowState>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#54 0x00007ffff657efb1 in QWidget::showMaximized() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#55 0x00007ffff7907ad5 in KisMainWindow::showView (this=0xdf90600, imageView=0x13db0080) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:580
#56 0x00007ffff7905762 in KisMainWindow::addView (this=this@entry=0xdf90600, view=0x13db0080) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:531
#57 0x00007ffff790584f in KisMainWindow::addViewAndNotifyLoadingCompleted (this=0xdf90600, document=0x15137e80)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:794
#58 0x00007ffff791e429 in KisPart::startCustomDocument (this=<optimized out>, doc=<optimized out>) at /home/krita/kde/src/krita/libs/ui/KisPart.cpp:482
#59 0x00007ffff799de5c in KisPart::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/krita/kde/build/libs/ui/moc_KisPart.cpp:117
#60 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#61 0x00007ffff7990caf in KisOpenPane::documentSelected (this=<optimized out>, _t1=0x15137e80) at /home/krita/kde/build/libs/ui/moc_KisOpenPane.cpp:236
#62 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#63 0x00007ffff68b94d2 in QAbstractButton::clicked(bool) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#64 0x00007ffff66368c5 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#65 0x00007ffff6637624 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#66 0x00007ffff66377c4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#67 0x00007ffff6582308 in QWidget::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#68 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#69 0x00007ffff6544f0e in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#70 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0x1522fc90, event=0x7fffffffb960)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#71 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#72 0x00007ffff6543a33 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#73 0x00007ffff659d5da in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#74 0x00007ffff659f6db in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#75 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#76 0x00007ffff6544488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#77 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0x151812b0, event=0x7fffffffbdf0)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#78 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#79 0x00007ffff5cec97b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#80 0x00007ffff5cee485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#81 0x00007ffff5ccf6a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#82 0x00007fffe57e7720 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#83 0x00007fffee1851a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#84 0x00007fffee185400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff579c4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#87 0x00007ffff574aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#88 0x00007ffff672e47c in QDialog::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#89 0x00007ffff79047a9 in KisMainWindow::slotFileNew (this=<optimized out>) at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:1352
#90 0x00007ffff7914811 in KisMainWindow::qt_static_metacall (_o=0xdf90600, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffc510)
    at /home/krita/kde/build/libs/ui/moc_KisMainWindow.cpp:304
#91 0x00007ffff5775cef in QMetaObject::activate(QObject*, int, int, void**) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#92 0x00007ffff6536952 in QAction::triggered(bool) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#93 0x00007ffff65394ad in QAction::activate(QAction::ActionEvent) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#94 0x00007ffff66b2f22 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#95 0x00007ffff66b8648 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#96 0x00007ffff66bc496 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#97 0x00007ffff6582308 in QWidget::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#98 0x00007ffff66bce9b in QMenu::event(QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#99 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#100 0x00007ffff6544f0e in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#101 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0xf041330, event=0x7fffffffcba0)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#102 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#103 0x00007ffff6543a33 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#104 0x00007ffff659d330 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#105 0x00007ffff659f6db in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#106 0x00007ffff654004c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#107 0x00007ffff6544488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#108 0x00007ffff78d9437 in KisApplication::notify (this=<optimized out>, receiver=0x12f63020, event=0x7fffffffd030)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#109 0x00007ffff574ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#110 0x00007ffff5cec97b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#111 0x00007ffff5cee485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#112 0x00007ffff5ccf6a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#113 0x00007fffe57e7720 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#114 0x00007fffee1851a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#115 0x00007fffee185400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#116 0x00007fffee1854ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#117 0x00007ffff579c4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#118 0x00007ffff574aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#119 0x00007ffff5752d9d in QCoreApplication::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#120 0x0000000000404d16 in main (argc=1, argv=<optimized out>) at /home/krita/kde/src/krita/krita/main.cc:263
(gdb) 
(gdb) q
A debugging session is active.

	Inferior 1 [process 6943] will be killed.

Quit anyway? (y or n) y
krita@krita-2012-Client-Platform:~/kde/build$
  1. I also got the same warning message for Tiff which Wolthera reported. I believe even if a file format doesn't support layer it should allow me to save at-least a flattened file, like it does for png ( of course by giving a warning)
  2. While exporting to png user shouldn't be shown the save to krita file checkbox as exporting means user already has a kra or psd file with layers, showing a warning while exporting is also not necessary in my opinion.
  3. lastly I feel that the way the warning are shown is in a bit unexpected way. I mean I as a user would not expect a warning in a dropdown box. may be a small line with highlighted color background to draw the users attention and when he hovers the mouse we can show him a more detailed explanation in a tool tip. ( I don't know if this is a good solution). One similar warning I have seen in krita is input boxes. they turn red when i enter wrong input may be it will be good to continue similar color coding and method to alert user. In this last point I may be nitpicking as it is not really hindering my save experience.

Also, autosave is confused here:

Could not save /home/krita/.krita-7545-document_0-autosave.kra
Reason: Internal error

getting crash while saving as png. below is the back trace

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

Thread 5 (Thread 0x7ff6859f4700 (LWP 16622)):
#0  0x00007ff6d13d010f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff6d5de5c2b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ff6d6ec27d1 in ?? () from /usr/lib/libQt5Widgets.so.5
#3  0x00007ff6d5de4d78 in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007ff6d13ca454 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007ff6d51df7df in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7ff6861f5700 (LWP 16620)):
#0  0x00007ff6d13d010f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff6d5de5c2b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ff6d5ddee26 in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQt5Core.so.5
#3  0x00007ff6dc366df3 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/raghu/kf5/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ff6dc366ffa in KisTileDataSwapper::run (this=0x7ff6dc825960 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at /home/raghu/kf5/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ff6d5de4d78 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007ff6d13ca454 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007ff6d51df7df in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7ff6869f6700 (LWP 16619)):
#0  0x00007ff6d13d010f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ff6d5de5c2b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ff6d5ddeb33 in QSemaphore::acquire(int) () from /usr/lib/libQt5Core.so.5
#3  0x00007ff6dc34d36e in KisTileDataPooler::waitForWork (this=0x7ff6dc825920 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at /home/raghu/kf5/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ff6dc34daba in KisTileDataPooler::run (this=0x7ff6dc825920 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>) at /home/raghu/kf5/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ff6d5de4d78 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007ff6d13ca454 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007ff6d51df7df in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7ff6bbfdb700 (LWP 16609)):
#0  0x00007ff6d51d648d in poll () from /usr/lib/libc.so.6
#1  0x00007ff6cf687066 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007ff6cf68717c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ff6d601372b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#4  0x00007ff6d5fbd23a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#5  0x00007ff6d5de00f3 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ff6d15f5e55 in ?? () from /usr/lib/libQt5DBus.so.5
#7  0x00007ff6d5de4d78 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007ff6d13ca454 in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007ff6d51df7df in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ff6dd792800 (LWP 16607)):
[KCrash Handler]
#5  0x00007ff6d6d86954 in QAbstractButton::isChecked() const () from /usr/lib/libQt5Widgets.so.5
#6  0x00007ff6dd18c89f in KisImportExportManager::convert (this=this@entry=0xb33e2a0, direction=direction@entry=KisImportExportManager::Export, location=..., mimeType=..., exportConfiguration=...) at /home/raghu/kf5/src/krita/libs/ui/KisImportExportManager.cpp:368
#7  0x00007ff6dd18d13d in KisImportExportManager::exportDocument (this=0xb33e2a0, location=..., mimeType=..., exportConfiguration=...) at /home/raghu/kf5/src/krita/libs/ui/KisImportExportManager.cpp:87
#8  0x00007ff6dd1777bd in KisDocument::saveFile (this=this@entry=0xb4788b0, exportConfiguration=...) at /home/raghu/kf5/src/krita/libs/ui/KisDocument.cpp:613
#9  0x00007ff6dd1786f9 in KisDocument::save (this=this@entry=0xb4788b0, exportConfiguration=...) at /home/raghu/kf5/src/krita/libs/ui/KisDocument.cpp:1452
#10 0x00007ff6dd178a6a in KisDocument::saveAs (this=this@entry=0xb4788b0, url=..., exportConfiguration=...) at /home/raghu/kf5/src/krita/libs/ui/KisDocument.cpp:1427
#11 0x00007ff6dd178c2e in KisDocument::exportDocument (this=this@entry=0xb4788b0, _url=..., exportConfiguration=...) at /home/raghu/kf5/src/krita/libs/ui/KisDocument.cpp:551
#12 0x00007ff6dd19bf87 in KisMainWindow::saveDocument (this=this@entry=0xa731070, document=0xb4788b0, saveas=<optimized out>, saveas@entry=true) at /home/raghu/kf5/src/krita/libs/ui/KisMainWindow.cpp:1048
#13 0x00007ff6dd19c4cf in KisMainWindow::slotFileSaveAs (this=0xa731070) at /home/raghu/kf5/src/krita/libs/ui/KisMainWindow.cpp:1390
#14 0x00007ff6dd19c5af in KisMainWindow::slotExportFile (this=0xa731070) at /home/raghu/kf5/src/krita/libs/ui/KisMainWindow.cpp:1838
#15 0x00007ff6dd1a147b in KisMainWindow::qt_static_metacall (_o=0xa731070, _c=<optimized out>, _id=<optimized out>, _a=0x7ffc2841b9b0) at /home/raghu/kf5/build/libs/ui/moc_KisMainWindow.cpp:347
#16 0x00007ff6d5fea659 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#17 0x00007ff6d6c98442 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007ff6d6c9ae30 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007ff6d6c9b7ac in QAction::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ff6d6c9ee0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ff6d6ca6581 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#22 0x00007ff6dd1689a7 in KisApplication::notify (this=<optimized out>, receiver=0xb2012e0, event=0x7ffc2841bd00) at /home/raghu/kf5/src/krita/libs/ui/KisApplication.cpp:511
#23 0x00007ff6d5fbede0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#24 0x00007ff6d6539668 in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5
#25 0x00007ff6d6539729 in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5
#26 0x00007ff6d64f22bd in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/libQt5Gui.so.5
#27 0x00007ff6d65098d4 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/libQt5Gui.so.5
#28 0x00007ff6d650ee65 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#29 0x00007ff6d64eccab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#30 0x00007ff6ca90c2f0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#31 0x00007ff6cf686e67 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#32 0x00007ff6cf6870d0 in ?? () from /usr/lib/libglib-2.0.so.0
#33 0x00007ff6cf68717c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#34 0x00007ff6d601370f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#35 0x00007ff6d5fbd23a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#36 0x00007ff6d5fc573c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#37 0x0000000000404d8a in main (argc=<optimized out>, argv=<optimized out>) at /home/raghu/kf5/src/krita/krita/main.cc:263
rempt added a comment.Oct 6 2016, 2:21 PM

I'll check the crashes. I don't think making the warning a tooltip is a good idea, since I suspect users will want to select, copy and paste warnings, which is impossible with a tooltip.

rempt added a comment.Oct 7 2016, 12:18 PM

All remarks should be fixed/implemented now.

woltherav added a comment.EditedOct 8 2016, 11:57 AM

I still get the autosave message. It's weird, one half of the time the autosave works(and I have an autosave of my current image), the other half it seems confused as indicated by

Could not save /home/krita/.krita-17575-document_4-autosave.kra
Reason: Internal error

Edit: for what it is worth, the terminal spits out this:

"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
QFile::copy: Empty or null file name
rempt added a comment.EditedOct 10 2016, 8:43 AM

I noticed a number of autosave bugs, one of them was that the autosave files were removed after saving, another that the autosaver timer was reset wrongly. But I haven't seen this error. What kind of image is this -- what's in there? Does the same set of messages appear when saving that image to a named .kra?

The QFile::copy is another issue, that was a bug in the KoZipStore desctructor that didn't check whether the store was created for saving to a stream.

rempt added a comment.Oct 10 2016, 8:57 AM

The empty entry in the file dialog is gone, too, now.

In T3050#58729, @rempt wrote:

I noticed a number of autosave bugs, one of them was that the autosave files were removed after saving, another that the autosaver timer was reset wrongly. But I haven't seen this error. What kind of image is this -- what's in there? Does the same set of messages appear when saving that image to a named .kra?

The QFile::copy is another issue, that was a bug in the KoZipStore desctructor that didn't check whether the store was created for saving to a stream.

It's a single raster layer in an image with a canvas projection color. That's nearly as basic as it can get.

Here's a file

It told me it couldn't autosave, but there seems to be an autosave none-the-less, but the autosave is a backup???

And I have this in the terminal when the autosave botches:

"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."

I got a really weird crash in this branch but I am not sure it's related to any of the refactoring? I was just trying to move the layer with the move tool:

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
KoToolBase::isInTextMode (this=this@entry=0x0)
    at /home/krita/kde/src/krita/libs/flake/KoToolBase.cpp:415
415	    return d->isInTextMode;
(gdb) thread apply all backtrace

Thread 16 (Thread 0x7fff99583700 (LWP 13516)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff675eaa2 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeeaa66fa in start_thread (arg=0x7fff99583700)
    at pthread_create.c:333
#5  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff99d84700 (LWP 13514)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5582116 in QSemaphore::tryAcquire(int, int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c64bf3 in KisTileDataSwapper::waitForWork (
---Type <return> to continue, or q <return> to quit---
    this=<optimized out>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2c64dea in KisTileDataSwapper::run (
    this=0x7ffff312b8c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeaa66fa in start_thread (arg=0x7fff99d84700)
    at pthread_create.c:333
#7  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff9a585700 (LWP 13513)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5581e8b in QSemaphore::acquire(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c4afae in KisTileDataPooler::waitForWork (
---Type <return> to continue, or q <return> to quit---
    this=0x7ffff312b880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff2c4b76a in KisTileDataPooler::run (
    this=0x7ffff312b880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeaa66fa in start_thread (arg=0x7fff9a585700)
    at pthread_create.c:333
#7  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffcbfff700 (LWP 13505)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff57994e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff5747efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff558338c in QThread::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecd1cd5 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffeeaa66fa in start_thread (arg=0x7fffcbfff700)
    at pthread_create.c:333
#9  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd903b700 (LWP 13504)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b722 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffde499916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee1a1bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffd903b700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 0x7fffd983c700 (LWP 13503)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee17b4e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee1a1bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffd983c700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffda03d700 (LWP 13502)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda04528d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee1a1bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffda03d700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe48d3700 (LWP 13501)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff3388c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff338a8d7 in xcb_wait_for_event ()
   from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe5782dc9 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffe48d3700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 13497)):
#0  KoToolBase::isInTextMode (this=this@entry=0x0)
    at /home/krita/kde/src/krita/libs/flake/KoToolBase.cpp:415

#1  0x00007ffff786f504 in KisInputManager::slotToolChanged (this=0xe1239d0)
    at /home/krita/kde/src/krita/libs/ui/input/kis_input_manager.cpp:564
#2  0x00007ffff5772cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#3  0x00007ffff22bc3cd in KoToolManager::changedTool (this=<optimized out>, 
    _t1=0x2d1e79c0, _t2=23)
    at /home/krita/kde/build/libs/flake/moc_KoToolManager.cpp:452
#4  0x00007ffff22c0095 in KoToolManager::Private::postSwitchTool (
    this=this@entry=0xe0d8110, temporary=temporary@entry=false)
    at /home/krita/kde/src/krita/libs/flake/KoToolManager.cpp:745
#5  0x00007ffff22c1cf5 in KoToolManager::Private::switchTool (this=0xe0d8110, 
    tool=0x2d369d00, temporary=<optimized out>)
    at /home/krita/kde/src/krita/libs/flake/KoToolManager.cpp:638
#6  0x00007ffff22c30ff in KoToolManager::Private::toolActivated (
    this=0xe0d8110, tool=0xeb060f0)
    at /home/krita/kde/src/krita/libs/flake/KoToolManager.cpp:801
#7  0x00007ffff5772cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007ffff2371baf in ToolHelper::toolActivated (this=<optimized out>, 
    _t1=0xeb060f0)
    at /home/krita/kde/build/libs/flake/moc_KoToolManager_p.cpp:152
#9  0x00007ffff5772cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#10 0x00007ffff68b64d2 in QAbstractButton::clicked(bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#11 0x00007ffff66338c5 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#12 0x00007ffff6634624 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#13 0x00007ffff66347c4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#14 0x00007ffff66f5f4a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#15 0x00007ffff657f308 in QWidget::event(QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#16 0x00007ffff66f6019 in QToolButton::event(QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#17 0x00007ffff653d04c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#18 0x00007ffff6541f0e in QApplication::notify(QObject*, QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#19 0x00007ffff78d7ad7 in KisApplication::notify (this=<optimized out>, 

    receiver=0xeb5d440, event=0x7fffffffcb80)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#20 0x00007ffff5749e80 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#21 0x00007ffff6540a33 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#22 0x00007ffff659a5da in ?? ()
---Type <return> to continue, or q <return> to quit---
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#23 0x00007ffff659c6db in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#24 0x00007ffff653d04c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#25 0x00007ffff6541488 in QApplication::notify(QObject*, QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#26 0x00007ffff78d7ad7 in KisApplication::notify (this=<optimized out>, 
    receiver=0xef8a020, event=0x7fffffffd010)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#27 0x00007ffff5749e80 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#28 0x00007ffff5ce997b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#29 0x00007ffff5ceb485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#30 0x00007ffff5ccc6a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#31 0x00007fffe57dd720 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
---Type <return> to continue, or q <return> to quit---
#32 0x00007fffee17b1a7 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffee17b400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff57994e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#36 0x00007ffff5747efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#37 0x00007ffff574fd9d in QCoreApplication::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#38 0x0000000000404dc4 in main (argc=1, argv=<optimized out>)
    at /home/krita/kde/src/krita/krita/main.cc:268
(gdb) 
(gdb)

I think I may have found something akin to the cause of the autoave bug: My file name is saved, regular simple file. After a while it becomes autosave.filename.kra, and only after that it starts bugging out, at which point the name in the titlebar becomes nothing. So maybe the autosave mechanism is using the wrong saving method?

@jounip 's balloon transform mask file crashes:

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x00007ffff5772a30 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
(gdb) thread apply all backtrace

Thread 15 (Thread 0x7fff991a0700 (LWP 18553)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff675eaa2 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#3  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007fffeeaa66fa in start_thread (arg=0x7fff991a0700)
    at pthread_create.c:333
#5  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fff999a1700 (LWP 18552)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5582116 in QSemaphore::tryAcquire(int, int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c64bf3 in KisTileDataSwapper::waitForWork (
---Type <return> to continue, or q <return> to quit---
    this=<optimized out>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2c64dea in KisTileDataSwapper::run (
    this=0x7ffff312b8c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeaa66fa in start_thread (arg=0x7fff999a1700)
    at pthread_create.c:333
#7  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fff9a1a2700 (LWP 18551)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff55887eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#2  0x00007ffff5581e8b in QSemaphore::acquire(int) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#3  0x00007ffff2c4afae in KisTileDataPooler::waitForWork (
---Type <return> to continue, or q <return> to quit---
    this=0x7ffff312b880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165
#4  0x00007ffff2c4b76a in KisTileDataPooler::run (
    this=0x7ffff312b880 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>)
    at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187
#5  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeeaa66fa in start_thread (arg=0x7fff9a1a2700)
    at pthread_create.c:333
#7  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffcbfff700 (LWP 18542)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff57994fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#4  0x00007ffff5747efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#5  0x00007ffff558338c in QThread::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#6  0x00007fffeecd1cd5 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5
#7  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#8  0x00007fffeeaa66fa in start_thread (arg=0x7fffcbfff700)
    at pthread_create.c:333
#9  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffd903b700 (LWP 18541)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b722 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffde499916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fffee1a1bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffd903b700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 0x7fffd983c700 (LWP 18540)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffee17b4e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fffee1a1bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffd983c700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffda03d700 (LWP 18539)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee17b39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffda04528d in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007fffee1a1bc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffda03d700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
---Type <return> to continue, or q <return> to quit---
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffe48d3700 (LWP 18538)):
#0  0x00007ffff4c77e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff3388c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff338a8d7 in xcb_wait_for_event ()
   from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe5782dc9 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007ffff5587c89 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#5  0x00007fffeeaa66fa in start_thread (arg=0x7fffe48d3700)
    at pthread_create.c:333
#6  0x00007ffff4c83b5d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 18529)):
#0  0x00007ffff5772a30 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#1  0x00007ffff2d40709 in KisImage::requestStrokeEnd (this=0x0)
    at /home/krita/kde/src/krita/libs/image/kis_image.cc:1362
#2  0x00007ffff2d407c9 in KisImage::waitForDone (this=0x0)
    at /home/krita/kde/src/krita/libs/image/kis_image.cc:1238
---Type <return> to continue, or q <return> to quit---
#3  0x00007ffff78e6751 in KisDocument::~KisDocument (this=0x1dcc55b0, 
    __in_chrg=<optimized out>)
    at /home/krita/kde/src/krita/libs/ui/KisDocument.cpp:507
#4  0x00007ffff78e6c09 in KisDocument::~KisDocument (this=0x1dcc55b0, 
    __in_chrg=<optimized out>)
    at /home/krita/kde/src/krita/libs/ui/KisDocument.cpp:518
#5  0x00007ffff7905df3 in KisMainWindow::openDocumentInternal (
    this=this@entry=0xe1245f0, url=..., newdoc=0x1dcc55b0, newdoc@entry=0x0)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:778
#6  0x00007ffff790d415 in KisMainWindow::openDocument (
    this=this@entry=0xe1245f0, url=...)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:758
#7  0x00007ffff790d938 in KisMainWindow::slotFileOpen (this=0xe1245f0)
    at /home/krita/kde/src/krita/libs/ui/KisMainWindow.cpp:1368
#8  0x00007ffff79150cb in KisMainWindow::qt_static_metacall (_o=0xe1245f0, 
    _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffc4f0)
    at /home/krita/kde/build/libs/ui/moc_KisMainWindow.cpp:305
#9  0x00007ffff5772cef in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#10 0x00007ffff6533952 in QAction::triggered(bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#11 0x00007ffff65364ad in QAction::activate(QAction::ActionEvent) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#12 0x00007ffff66aff22 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#13 0x00007ffff66b5648 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#14 0x00007ffff66b9496 in QMenu::mouseReleaseEvent(QMouseEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#15 0x00007ffff657f308 in QWidget::event(QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#16 0x00007ffff66b9e9b in QMenu::event(QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#17 0x00007ffff653d04c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#18 0x00007ffff6541f0e in QApplication::notify(QObject*, QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#19 0x00007ffff78d7ad7 in KisApplication::notify (this=<optimized out>, 
    receiver=0xf0a5a60, event=0x7fffffffcb80)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#20 0x00007ffff5749e80 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#21 0x00007ffff6540a33 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#22 0x00007ffff659a330 in ?? ()
---Type <return> to continue, or q <return> to quit---
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#23 0x00007ffff659c6db in ?? ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#24 0x00007ffff653d04c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#25 0x00007ffff6541488 in QApplication::notify(QObject*, QEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5
#26 0x00007ffff78d7ad7 in KisApplication::notify (this=<optimized out>, 
    receiver=0xef8e150, event=0x7fffffffd010)
    at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:511
#27 0x00007ffff5749e80 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#28 0x00007ffff5ce997b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#29 0x00007ffff5ceb485 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#30 0x00007ffff5ccc6a3 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Gui.so.5
#31 0x00007fffe57dd720 in ?? ()
   from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
---Type <return> to continue, or q <return> to quit---
#32 0x00007fffee17b1a7 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fffee17b400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fffee17b4ac in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff57994e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#36 0x00007ffff5747efa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#37 0x00007ffff574fd9d in QCoreApplication::exec() ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5
#38 0x0000000000404dc4 in main (argc=1, argv=<optimized out>)
    at /home/krita/kde/src/krita/krita/main.cc:268
(gdb) 
(gdb)

rempt added a comment.Oct 21 2016, 8:48 AM

Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 13497)):
#0 KoToolBase::isInTextMode (this=this@entry=0x0)

at /home/krita/kde/src/krita/libs/flake/KoToolBase.cpp:415

#1 0x00007ffff786f504 in KisInputManager::slotToolChanged (this=0xe1239d0)

at /home/krita/kde/src/krita/libs/ui/input/kis_input_manager.cpp:564

#2 0x00007ffff5772cef in QMetaObject::activate(QObject*, int, int, void**) ()

from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5

I've seen exactly this crash flit by on bugzilla as well, in https://bugs.kde.org/show_bug.cgi?id=371124 among others.

rempt added a comment.Oct 21 2016, 9:01 AM

The crash

@jounip 's balloon transform mask file crashes:

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x00007ffff5772a30 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5

This crash has been fixed already in the impex branch.

rempt added a comment.Oct 21 2016, 9:29 AM

Hm... Could be, though I cannot reproduce it at the moment. I made some fixes recently to the autosave mechanism, though.

I still have problems with autosave for a build after 6pm today. Could you maybe add some more diagnostics for the autosave into the terminal so I can give actually useful feedback on this?

rempt added a comment.Oct 22 2016, 9:31 AM

Hm... I've some more debug info. If I now create an image, save, modify, wait for autosave I get this output:

setting autosave delay from 60 to 60
saveAs QUrl("file:///home/boud/bla.kra")
save
saveFile. Is Autosaving? false
saving to tempory file "/tmp/y21978bla.kra"
copying temporary file "/tmp/y21978bla.kra" to "/home/boud/bla.kra"
removeAutoSaveFiles
generateAutoSaveFileName() for path "/home/boud/bla.kra" : "/home/boud/.bla.kra-autosave.kra"

filename: "/home/boud/.bla.kra-autosave.kra" exists: false

generateAutoSaveFileName() for path "" : "/home/boud/.krita-21978-document_0-autosave.kra"
Autsavefile in $home "/home/boud/.krita-21978-document_0-autosave.kra"
setting autosave delay from 60 to 60
setting autosave delay from 60 to 60
setting autosave delay from 60 to 60
slotAutoSave. Modified: true modifiedAfterAutosave true isLoading false
generateAutoSaveFileName() for path "/home/boud/bla.kra" : "/home/boud/.bla.kra-autosave.kra"
saveNatifeFormat "/home/boud/.bla.kra-autosave.kra"
exportDocument "file:///home/boud/.bla.kra-autosave.kra"
saveAs QUrl("file:///home/boud/.bla.kra-autosave.kra")
save
saveFile. Is Autosaving? true
saving to tempory file "/tmp/C21978.bla.kra-autosave.kra"
copying temporary file "/tmp/C21978.bla.kra-autosave.kra" to "/home/boud/.bla.kra-autosave.kra"
setting autosave delay from 60 to 60

Ok, say hi to vaguely useful fedback. In the following, I got 4(!) times the warning window. Eventually it did manage to save. Before it managed to save the title bar only showed the title, not the filename, and finally, after it saved, it showed the title, and then autosave.filename.kra.

slotAutoSave. Modified: true modifiedAfterAutosave true isLoading false
generateAutoSaveFileName() for path "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra" : "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveNatifeFormat "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
exportDocument "file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveAs QUrl("file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra")
save
saveFile. Is Autosaving? true
saving to tempory file "/tmp/W10662.trees_doodle.kra-autosave.kra"
setting autosave delay from 300 to 10
slotAutoSave. Modified: true modifiedAfterAutosave true isLoading false
generateAutoSaveFileName() for path "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra" : "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveNatifeFormat "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
exportDocument "file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveAs QUrl("file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra")
save
saveFile. Is Autosaving? true
saving to tempory file "/tmp/c10662.trees_doodle.kra-autosave.kra"
setting autosave delay from 10 to 10
slotAutoSave. Modified: true modifiedAfterAutosave true isLoading false
generateAutoSaveFileName() for path "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra" : "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveNatifeFormat "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
exportDocument "file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveAs QUrl("file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra")
save
saveFile. Is Autosaving? true
saving to tempory file "/tmp/W10662.trees_doodle.kra-autosave.kra"
setting autosave delay from 10 to 10
[Thread 0x7fffb64ee700 (LWP 17642) exited]
[Thread 0x7fff81344700 (LWP 17640) exited]
[Thread 0x7fffc0341700 (LWP 17641) exited]
slotAutoSave. Modified: true modifiedAfterAutosave true isLoading false
generateAutoSaveFileName() for path "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra" : "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveNatifeFormat "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
exportDocument "file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveAs QUrl("file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra")
save
saveFile. Is Autosaving? true
saving to tempory file "/tmp/R10662.trees_doodle.kra-autosave.kra"
setting autosave delay from 10 to 10
[New Thread 0x7fffc0341700 (LWP 17646)]
[Thread 0x7fffc0341700 (LWP 17646) exited]
slotAutoSave. Modified: true modifiedAfterAutosave true isLoading false
generateAutoSaveFileName() for path "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra" : "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveNatifeFormat "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
exportDocument "file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
saveAs QUrl("file:///home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra")
save
saveFile. Is Autosaving? true
saving to tempory file "/tmp/h10662.trees_doodle.kra-autosave.kra"
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
copying temporary file "/tmp/h10662.trees_doodle.kra-autosave.kra" to "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
setting autosave delay from 10 to 300
save
saveFile. Is Autosaving? false
saving to tempory file "/tmp/V10662trees_doodle.kra"
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {The color model <b>%...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
"0 instead of 2 arguments to message {Your image contains ...} supplied before conversion."
copying temporary file "/tmp/V10662trees_doodle.kra" to "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra"
removeAutoSaveFiles
generateAutoSaveFileName() for path "/home/krita/Wolthera_temp/LPX-anxiety/trees_doodle.kra" : "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
	filename: "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra" exists: true
	removing autosavefile "/home/krita/Wolthera_temp/LPX-anxiety/.trees_doodle.kra-autosave.kra"
generateAutoSaveFileName() for path "" : "/home/krita/.krita-10662-document_0-autosave.kra"
Autsavefile in $home "/home/krita/.krita-10662-document_0-autosave.kra"
setting autosave delay from 300 to 300
setting autosave delay from 300 to 300
rempt added a comment.Oct 23 2016, 9:21 AM

I also see that you're still getting those message errors -- which I also don't get, and which I don't understand how they still can happen.

rempt added a comment.Oct 23 2016, 9:33 AM

I've added some extra asserts, but I'm still really puzzled because even an empty string would count as an argument, and this looks like the arguments really aren't there in these lines:

libs/impex/ColorModelPerLayerCheck.h: m_warning = i18nc("image conversion warning", "Your image contains layers with the color model <b>%1</b> and channel depth <b>%2</b> which cannot be saved to this format. The layers will be converted.").arg(m_ColorModelID.name()).arg(m_colorDepthID.name());

and

libs/impex/ColorModelCheck.h: m_warning = i18nc("image conversion warning", "The color model <b>%1</b> or channel depth <b>%2</b> cannot be saved to this format. Your image will be converted.").arg(m_colorModelID.name()).arg(m_colorDepthID.name());

Attaching a file that shows that the problem with autosave is caused by LOD not allowing the document being locked.

While we work on a png image, Krita shows png save options dialog when autosaving, the autosaved file is in kra format but it shown options for a png image. I think this dialog shouldn't be shown.

I fixed that this morning.

woltherav triaged this task as Wishlist priority.Feb 28 2017, 12:00 PM
rempt closed this task as Resolved.Mar 21 2017, 1:34 PM