Bug 351298 - Cannot save CMYK jpg
Summary: Cannot save CMYK jpg
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Mint (Ubuntu based) Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-08-14 15:00 UTC by Livio Fania
Modified: 2015-08-15 12:06 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Livio Fania 2015-08-14 15:00:54 UTC
Application: krita (2.9.6)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.16.0-38-generic x86_64
Distribution: Linux Mint 17.2 Rafaela

-- Information about the crash:
- What I was doing when the application crashed: I was simply exporting a jpg from a kra file in CMYK mode 16bit

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 0x7fccdf95f800 (LWP 7514))]

Thread 5 (Thread 0x7fcca67fc700 (LWP 7529)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fccde206816 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fccddb7ee16 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3  0x00007fccde20632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fccd6eda182 in start_thread (arg=0x7fcca67fc700) at pthread_create.c:312
#5  0x00007fccdccf347d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fcca514e700 (LWP 7530)):
#0  0x00007fccdcce482d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fccd2f7bf75 in ?? () from /usr/lib/x86_64-linux-gnu/tls/libnvidia-tls.so.352.30
#2  0x00007fccd6a4ec10 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fccd6a0db14 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fccd6a0df7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fccd6a0e0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fccde3357be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fccde3070af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fccde3073a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fccde203c5f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007fccde2e8823 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007fccde20632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#12 0x00007fccd6eda182 in start_thread (arg=0x7fcca514e700) at pthread_create.c:312
#13 0x00007fccdccf347d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fcc647f9700 (LWP 7642)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fccde206816 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fccddb7ee16 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3  0x00007fccde20632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fccd6eda182 in start_thread (arg=0x7fcc647f9700) at pthread_create.c:312
#5  0x00007fccdccf347d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fcca494d700 (LWP 7643)):
#0  0x00007fccdcce612d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fccd6a0dfe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fccd6a0e0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fccde3357be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fccde3070af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007fccde3073a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fccde203c5f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fccde2e8823 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fccde20632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fccd6eda182 in start_thread (arg=0x7fcca494d700) at pthread_create.c:312
#10 0x00007fccdccf347d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fccdf95f800 (LWP 7514)):
[KCrash Handler]
#5  0x00007fccdcc2fcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#6  0x00007fccdcc330d8 in __GI_abort () at abort.c:89
#7  0x00007fccde1fbc92 in qt_message_output(QtMsgType, char const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fccde1fbff9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fccde1fc804 in qFatal(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#10 0x00007fccd93c3657 in operator-> (this=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/libs/flake/KoToolManager.cpp:1041
#11 operator KoToolManager* (this=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/libs/flake/KoToolManager.cpp:1041
#12 KoToolManager::instance () at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/libs/flake/KoToolManager.cpp:1042
#13 0x00007fccdee9c462 in KisNodeShape::~KisNodeShape (this=0x2e63250, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/flake/kis_node_shape.cpp:62
#14 0x00007fccdee9c7b9 in KisNodeShape::~KisNodeShape (this=0x2e63250, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/flake/kis_node_shape.cpp:72
#15 0x00007fccdee9ac7a in KisNodeShapesGraph::removeNode (this=0x2df5e70, node=...) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/flake/kis_node_shapes_graph.cpp:71
#16 0x00007fccdee9e39e in KisShapeController::~KisShapeController (this=0x263f410, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/flake/kis_shape_controller.cpp:84
#17 0x00007fccdee9e8e9 in KisShapeController::~KisShapeController (this=0x263f410, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/flake/kis_shape_controller.cpp:88
#18 0x00007fccdf1c0c9c in KisDocument::~KisDocument (this=0x2c61150, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisDocument.cpp:595
#19 0x00007fccdf1c1109 in KisDocument::~KisDocument (this=0x2c61150, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisDocument.cpp:606
#20 0x00007fccdf20cf38 in KisPart::~KisPart (this=0x1d2ed70, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisPart.cpp:209
#21 0x00007fccdf20d4c9 in KisPart::~KisPart (this=0x1d2ed70, __in_chrg=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisPart.cpp:221
#22 0x00007fccdcc35259 in __run_exit_handlers (status=1, listp=0x7fccdcfb76c8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#23 0x00007fccdcc352a5 in __GI_exit (status=<optimized out>) at exit.c:104
#24 0x00007fccc1d24f1c in ?? () from /usr/lib/x86_64-linux-gnu/libjpeg.so.8
#25 0x00007fccc1d070ae in jinit_color_converter () from /usr/lib/x86_64-linux-gnu/libjpeg.so.8
#26 0x00007fccc1d11788 in jinit_compress_master () from /usr/lib/x86_64-linux-gnu/libjpeg.so.8
#27 0x00007fccc1d05404 in jpeg_start_compress () from /usr/lib/x86_64-linux-gnu/libjpeg.so.8
#28 0x00007fcc64def797 in KisJPEGConverter::buildFile (this=this@entry=0x7ffd5bbe6680, uri=..., layer=..., options=..., metaData=metaData@entry=0x0) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/plugins/formats/jpeg/kis_jpeg_converter.cc:577
#29 0x00007fcc64de2924 in KisJPEGExport::convert (this=<optimized out>, from=..., to=...) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/plugins/formats/jpeg/kis_jpeg_export.cc:218
#30 0x00007fccdf1da74f in CalligraFilter::ChainLink::invokeFilter (this=0x7fcc42df8f10, parentChainLink=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisFilterChainLink.cpp:90
#31 0x00007fccdf1d9392 in KisFilterChain::invokeChain (this=0x7fcc39df14d0) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisFilterChain.cpp:95
#32 0x00007fccdf1ecc06 in KisImportExportManager::exportDocument (this=0x2c63fa0, url=..., mimeType=...) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisImportExportManager.cpp:246
#33 0x00007fccdf1be09c in KisDocument::saveFile (this=0x2c61150) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisDocument.cpp:721
#34 0x00007fccdf1c7441 in KisDocument::save (this=0x2c61150) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisDocument.cpp:2321
#35 0x00007fccdf1c88ec in KisDocument::saveAs (this=0x2c61150, kurl=...) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisDocument.cpp:2287
#36 0x00007fccdf1fd4e7 in KisMainWindow::saveDocument (this=this@entry=0x1e22850, document=0x2c61150, saveas=<optimized out>, saveas@entry=true, silent=silent@entry=false, specialOutputFlag=specialOutputFlag@entry=0) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisMainWindow.cpp:971
#37 0x00007fccdf1fe836 in KisMainWindow::slotFileSaveAs (this=0x1e22850) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisMainWindow.cpp:1213
#38 0x00007fccdf205094 in KisMainWindow::qt_static_metacall (_o=0x1e22850, _c=<optimized out>, _id=<optimized out>, _a=0x7ffd5bbe75d0) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/obj-x86_64-linux-gnu/krita/ui/KisMainWindow.moc:179
#39 0x00007fccde31c87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#40 0x00007fccdd69ba62 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#41 0x00007fccdd69d433 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#42 0x00007fccdd69d58c in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#43 0x00007fccd7e07e4f in KAction::event(QEvent*) () from /usr/lib/libkdeui.so.5
#44 0x00007fccdd6a1e2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#45 0x00007fccdd6a84a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#46 0x00007fccdf1b24e7 in KisApplication::notify (this=<optimized out>, receiver=0x2b50710, event=0x7ffd5bbe7980) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisApplication.cpp:543
#47 0x00007fccde3084dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#48 0x00007fccdd6d32a6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#49 0x00007fccdd6d33dc in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#50 0x00007fccdd6a9773 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#51 0x00007fccdf1b24e7 in KisApplication::notify (this=<optimized out>, receiver=0x4d392440, event=0x7ffd5bbe7cd0) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/ui/KisApplication.cpp:543
#52 0x00007fccde3084dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#53 0x00007fccdd741027 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#54 0x00007fccdd7413c9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#55 0x00007fccdd71b417 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#56 0x00007fccdd743b32 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#57 0x00007fccd6a0de04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007fccd6a0e048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007fccd6a0e0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007fccde3357a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#61 0x00007fccdd743be6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#62 0x00007fccde3070af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#63 0x00007fccde3073a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#64 0x00007fccde30cb79 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#65 0x0000000000402729 in main (argc=<optimized out>, argv=<optimized out>) at /build/krita-testing-mzgjgb/krita-testing-2+git20150731+r24/krita/main.cc:194

Possible duplicates by query: bug 340414.

Reported using DrKonqi
Comment 1 Halla Rempt 2015-08-15 11:27:47 UTC
Hi Livio,

Thanks for your report. I can reproduce the issue. First I get a message box that tells me that 16 bit cmyk is not supported, and on pressing cancel, I get the same crash. I'll look into it.
Comment 2 Halla Rempt 2015-08-15 11:52:10 UTC
Git commit ec4b279d67ed7962ff3e8e8a385138759a460b73 by Boudewijn Rempt.
Committed on 15/08/2015 at 11:51.
Pushed by rempt into branch 'calligra/2.9'.
Related: bug 16

The result looks wrong, though... Inverted. This also makes
the filter obey the batch mode setting, so it won't show a
warning message box when saving lab or ycbcr to jpeg.

M  +9    -3    krita/plugins/formats/jpeg/kis_jpeg_converter.cc
M  +2    -1    krita/plugins/formats/jpeg/kis_jpeg_converter.h
M  +2    -2    krita/plugins/formats/jpeg/kis_jpeg_export.cc
M  +2    -1    krita/plugins/formats/jpeg/kis_jpeg_import.cc

http://commits.kde.org/calligra/ec4b279d67ed7962ff3e8e8a385138759a460b73
Comment 3 Halla Rempt 2015-08-15 11:57:39 UTC
Oh, note that jpeg doesn't support 16 bit channel depth, so your cmyk file is automatically downscaled to 8 bits. For saving 16 bit cmyk, tiff is a better choice.
Comment 4 Halla Rempt 2015-08-15 12:06:27 UTC
Git commit 56ef25478758e19598e50eaf0406c5b2e6ab30ee by Boudewijn Rempt.
Committed on 15/08/2015 at 12:05.
Pushed by rempt into branch 'calligra/2.9'.

And warn the user that we're downscaling their 16 bit image to
8 bit. A 2007 todo done!

M  +9    -4    krita/plugins/formats/jpeg/kis_jpeg_converter.cc

http://commits.kde.org/calligra/56ef25478758e19598e50eaf0406c5b2e6ab30ee