https://bugs.kde.org/show_bug.cgi?id=398241

            Bug ID: 398241
           Summary: Assert when saving CMYK to PNG with force sRGB
                    unchecked
           Product: krita
           Version: unspecified
          Platform: Neon Packages
                OS: Linux
            Status: UNCONFIRMED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: General
          Assignee: krita-bugs-n...@kde.org
          Reporter: b...@valdyas.org
  Target Milestone: ---

Application: krita (4.2.0-pre-alpha (git 628c346))

Qt Version: 5.11.1
Frameworks Version: 5.49.0
Operating System: Linux 4.15.0-32-generic x86_64
Distribution: KDE neon User Edition 5.13

-- Information about the crash:
If the current image is cmyk and we want to export to cmyk, and force sRGB
isn't checked, Krita asserts. We should always convert cmyk to sRGB, so the
logic here is wrong.

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2185a1bcc0 (LWP 14989))]

Thread 3 (Thread 0x7f21269ae700 (LWP 15055)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#7  0x00007f2181b01801 in __GI_abort () at abort.c:79
#8  0x00007f21824d85db in QMessageLogger::fatal(char const*, ...) const () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f21824d7dd1 in qt_assert(char const*, char const*, int) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f2184c27972 in KisPNGConverter::buildFile
(this=this@entry=0x7f21269ada40, iodevice=iodevice@entry=0x7f21269adbd0,
imageRect=..., xRes=xRes@entry=4.166666666666667,
yRes=yRes@entry=4.166666666666667, device=..., annotationsStart=...,
annotationsEnd=..., options=..., metaData=0x0) at
/home/boud/dev/krita/libs/ui/kis_png_converter.cpp:968
#11 0x00007f212c317a04 in KisPNGExport::convert (this=<optimized out>,
document=<optimized out>, io=0x7f21269adbd0, configuration=...) at
/home/boud/dev/krita/plugins/impex/png/kis_png_export.cc:93
#12 0x00007f2184e9e6c3 in KisImportExportManager::doExportImpl
(this=this@entry=0x55b030e2b2f0, location=..., filter=...,
exportConfiguration=...) at
/home/boud/dev/krita/libs/ui/KisImportExportManager.cpp:639
#13 0x00007f2184e9ea44 in KisImportExportManager::doExport
(this=0x55b030e2b2f0, location=..., filter=..., exportConfiguration=...,
alsoAsKra=<optimized out>) at
/home/boud/dev/krita/libs/ui/KisImportExportManager.cpp:586
#14 0x00007f2184ea0567 in
std::__invoke_impl<KisImportExportFilter::ConversionStatus,
KisImportExportFilter::ConversionStatus (KisImportExportManager::*&)(QString
const&, QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool),
KisImportExportManager*&, QString&, QSharedPointer<KisImportExportFilter>&,
KisPinnedSharedPtr<KisPropertiesConfiguration>&, bool&> (__t=@0x55b02b2707e8:
0x55b030e2b2f0, __f=@0x55b02b2707b0: (KisImportExportFilter::ConversionStatus
(KisImportExportManager::*)(KisImportExportManager * const, const QString &,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool)) 0x7f2184e9e9d0
<KisImportExportManager::doExport(QString const&,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool)>) at
/usr/include/c++/7/bits/invoke.h:73
#15 std::__invoke<KisImportExportFilter::ConversionStatus
(KisImportExportManager::*&)(QString const&,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool),
KisImportExportManager*&, QString&, QSharedPointer<KisImportExportFilter>&,
KisPinnedSharedPtr<KisPropertiesConfiguration>&, bool&> (__fn=@0x55b02b2707b0:
(KisImportExportFilter::ConversionStatus
(KisImportExportManager::*)(KisImportExportManager * const, const QString &,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool)) 0x7f2184e9e9d0
<KisImportExportManager::doExport(QString const&,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool)>) at
/usr/include/c++/7/bits/invoke.h:96
#16 std::_Bind<KisImportExportFilter::ConversionStatus
(KisImportExportManager::*(KisImportExportManager*, QString,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool))(QString const&,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>,
bool)>::__call<KisImportExportFilter::ConversionStatus, , 0ul, 1ul, 2ul, 3ul,
4ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) (__args=...,
this=0x55b02b2707b0) at /usr/include/c++/7/functional:469
#17 std::_Bind<KisImportExportFilter::ConversionStatus
(KisImportExportManager::*(KisImportExportManager*, QString,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool))(QString const&,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool)>::operator()<,
KisImportExportFilter::ConversionStatus>() (this=0x55b02b2707b0) at
/usr/include/c++/7/functional:551
#18 QtConcurrent::StoredFunctorCall0<KisImportExportFilter::ConversionStatus,
std::_Bind<KisImportExportFilter::ConversionStatus
(KisImportExportManager::*(KisImportExportManager*, QString,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool))(QString const&,
QSharedPointer<KisImportExportFilter>,
KisPinnedSharedPtr<KisPropertiesConfiguration>, bool)> >::runFunctor()
(this=0x55b02b270790) at
/usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentstoredfunctioncall.h:60
#19 QtConcurrent::RunFunctionTask<KisImportExportFilter::ConversionStatus>::run
(this=0x55b02b270790) at
/usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentrunbase.h:108
#20 0x00007f21824fefd2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f2182507aab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f217b45d6db in start_thread (arg=0x7f21269ae700) at
pthread_create.c:463
#23 0x00007f2181be288f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f213e3cb700 (LWP 14994)):
#0  0x00007f2181bd5bf9 in __GI___poll (fds=0x7f2138000b20, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f2179b61439 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2179b6154c in g_main_context_iteration () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f218272da9b in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f21826d1dea in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f21824fcb8a in QThread::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f21626348b5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f2182507aab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f217b45d6db in start_thread (arg=0x7f213e3cb700) at
pthread_create.c:463
#9  0x00007f2181be288f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f2185a1bcc0 (LWP 14989)):
#0  0x00007f217b4639f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x55b01cb97b80) at
../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55b01cb97b30,
cond=0x55b01cb97b58) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55b01cb97b58, mutex=0x55b01cb97b30) at
pthread_cond_wait.c:655
#3  0x00007f218250891b in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f21824fd692 in QThreadPoolPrivate::waitForDone(int) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f21824fdb61 in QThreadPool::waitForDone(int) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f21824fdb9c in QThreadPool::~QThreadPool() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f21824fdbd9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f2181b04041 in __run_exit_handlers (status=1, listp=0x7f2181eac718
<__exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
run_dtors=run_dtors@entry=true) at exit.c:108
#9  0x00007f2181b0413a in __GI_exit (status=<optimized out>) at exit.c:139
#10 0x00007f216c365c3d in QXcbConnection::processXcbEvents() () from
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#11 0x00007f2182703642 in QObject::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f2183460e8c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f218346845f in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f2184e6eff7 in KisApplication::notify (this=<optimized out>,
receiver=0x55b01cba1d80, event=0x7f2164006e60) at
/home/boud/dev/krita/libs/ui/KisApplication.cpp:610
#15 0x00007f21826d3ab8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f21826d65fd in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f218272e453 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f2179b61287 in g_main_context_dispatch () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f2179b614c0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f2179b6154c in g_main_context_iteration () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f218272da7f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f216c3eded1 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#23 0x00007f2184ea31f7 in KisAsyncActionFeedback::waitForMutex (this=<optimized
out>, mutex=0x55b02b304a90) at
/home/boud/dev/krita/libs/ui/kis_async_action_feedback.cpp:83
#24 0x00007f2184e779cf in KisDocument::waitForSavingToComplete
(this=this@entry=0x55b02b21c1e0) at
/home/boud/dev/krita/libs/ui/KisDocument.cpp:1676
#25 0x00007f2184e7bea8 in KisDocument::~KisDocument (this=0x55b02b21c1e0,
__in_chrg=<optimized out>) at /home/boud/dev/krita/libs/ui/KisDocument.cpp:454
#26 0x00007f2184e7c329 in KisDocument::~KisDocument (this=0x55b02b21c1e0,
__in_chrg=<optimized out>) at /home/boud/dev/krita/libs/ui/KisDocument.cpp:505
#27 0x00007f2184ec06f3 in KisPart::~KisPart (this=0x7f2185862b90
<_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder>,
__in_chrg=<optimized out>) at /home/boud/dev/krita/libs/ui/KisPart.cpp:151
#28 0x00007f2184ec0289 in (anonymous
namespace)::Q_QGS_s_instance::Holder::~Holder (this=<optimized out>,
__in_chrg=<optimized out>) at /home/boud/dev/krita/libs/ui/KisPart.cpp:77
#29 0x00007f2181b04041 in __run_exit_handlers (status=1, listp=0x7f2181eac718
<__exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
run_dtors=run_dtors@entry=true) at exit.c:108
#30 0x00007f2181b0413a in __GI_exit (status=<optimized out>) at exit.c:139
#31 0x00007f2180317b05 in _XDefaultIOError () from
/usr/lib/x86_64-linux-gnu/libX11.so.6
#32 0x00007f216c35f4da in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#33 0x00007f2180317d3e in _XIOError () from
/usr/lib/x86_64-linux-gnu/libX11.so.6
#34 0x00007f2180315058 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#35 0x00007f2180315835 in _XFlush () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#36 0x00007f21803183c5 in _XGetRequest () from
/usr/lib/x86_64-linux-gnu/libX11.so.6
#37 0x00007f21802f2129 in XChangeProperty () from
/usr/lib/x86_64-linux-gnu/libX11.so.6
#38 0x00007f2180310972 in XSetTextProperty () from
/usr/lib/x86_64-linux-gnu/libX11.so.6
#39 0x00007f216c378d40 in QXcbWindow::setWindowTitle(QString const&) () from
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#40 0x00007f2182c69d02 in QWindow::setTitle(QString const&) () from
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#41 0x00007f218348af3c in QWidgetPrivate::setWindowTitle_helper(QString const&)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007f2183490fae in QWidget::setWindowTitle(QString const&) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#43 0x00007f21840b9a86 in KMainWindow::setPlainCaption (caption=...,
this=0x55b024fab6c0) at
/home/boud/dev/krita/libs/widgetutils/xmlgui/kmainwindow.cpp:426
#44 KMainWindow::setCaption (this=0x55b024fab6c0, caption=...,
modified=<optimized out>) at
/home/boud/dev/krita/libs/widgetutils/xmlgui/kmainwindow.cpp:420
#45 0x00007f2184ea54d4 in KisMainWindow::updateCaption
(this=this@entry=0x55b024fab6c0, caption=..., mod=<optimized out>) at
/home/boud/dev/krita/libs/ui/KisMainWindow.cpp:882
#46 0x00007f2184ea806d in KisMainWindow::updateCaption
(this=this@entry=0x55b024fab6c0) at
/home/boud/dev/krita/libs/ui/KisMainWindow.cpp:857
#47 0x00007f2184ea87d4 in KisMainWindow::setReadWrite
(this=this@entry=0x55b024fab6c0, readwrite=readwrite@entry=true) at
/home/boud/dev/krita/libs/ui/KisMainWindow.cpp:746
#48 0x00007f2184eb039b in KisMainWindow::saveDocument
(this=this@entry=0x55b024fab6c0, document=0x55b02b21c1e0, saveas=<optimized
out>, saveas@entry=false, isExporting=isExporting@entry=false) at
/home/boud/dev/krita/libs/ui/KisMainWindow.cpp:1237
#49 0x00007f2184eb15ee in KisMainWindow::slotFileSave (this=0x55b024fab6c0) at
/home/boud/dev/krita/libs/ui/KisMainWindow.cpp:1567
#50 0x00007f2184eb5e41 in KisMainWindow::qt_static_metacall (_o=0x55b024fab6c0,
_c=<optimized out>, _id=<optimized out>, _a=0x7ffe66301350) at
/home/boud/dev/b-krita/libs/ui/kritaui_autogen/include/moc_KisMainWindow.cpp:308
#51 0x00007f2182702ad5 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007f218345a732 in QAction::triggered(bool) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#53 0x00007f218345cd6c in QAction::activate(QAction::ActionEvent) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#54 0x00007f218345d6c1 in QAction::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#55 0x00007f2183460e8c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56 0x00007f218346845f in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#57 0x00007f2184e6eff7 in KisApplication::notify (this=<optimized out>,
receiver=0x55b028ec0470, event=0x7ffe66301670) at
/home/boud/dev/krita/libs/ui/KisApplication.cpp:610
#58 0x00007f21826d3ab8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#59 0x00007f2182c90397 in QShortcutMap::dispatchEvent(QKeyEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#60 0x00007f2182c9046a in QShortcutMap::tryShortcut(QKeyEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#61 0x00007f2182c43dd3 in QWindowSystemInterface::handleShortcutEvent(QWindow*,
unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int,
unsigned int, QString const&, bool, unsigned short) () from
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#62 0x00007f2182c61947 in
QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#63 0x00007f2182c66e35 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#64 0x00007f2182c3ff0b in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#65 0x00007f216c3ededb in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#66 0x00007f21826d1dea in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#67 0x00007f21826dafa0 in QCoreApplication::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#68 0x000055b01af3517a in main (argc=<optimized out>, argv=0x7ffe66301c78) at
/home/boud/dev/krita/krita/main.cc:435

Possible duplicates by query: bug 397796, bug 395743, bug 392092, bug 389875,
bug 389801.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to