Summary: | Loading a KRA file with pattern layer styles crashes Krita | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Scott Petrovic <scottpetrovic> |
Component: | File formats | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | freebox64, halla |
Priority: | NOR | ||
Version First Reported In: | git master (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/calligra/2d1634ddcef059837f1e2cdc6df7f2fa6b19305c | Version Fixed In: | |
Sentry Crash Report: |
Description
Scott Petrovic
2015-04-30 05:18:45 UTC
Hm, the test file now leads to an infinite loop and trying to save another file with a pattern overlay style to .kra gives WARNING: Saved pattern doesn't have a UUID, generating... patternFileName = "/home/boud/kde/2.9/share/apps/krita/patterns/01_canvas.png" pattern->name() = "01_canvas.png" Unknown composite op: "Nrml" Returning "Nrml"! Error std::bad_alloc sending event 117 to object file_save Then an assert: Thread 1 (Thread 0x7f60e39f47c0 (LWP 7804)): [KCrash Handler] #5 0x00007f60da5e7187 in raise () at /lib64/libc.so.6 #6 0x00007f60da5e8538 in abort () at /lib64/libc.so.6 #7 0x00007f60db8e22b4 in qt_message_output(QtMsgType, char const*) () at /usr/lib64/libQtCore.so.4 #8 0x00007f60db8e2439 in () at /usr/lib64/libQtCore.so.4 #9 0x00007f60db8e2c44 in qFatal(char const*, ...) () at /usr/lib64/libQtCore.so.4 #10 0x00007f60db8e2c8a in () at /usr/lib64/libQtCore.so.4 #11 0x00007f60e329997a in KisDocument::saveXML() (this=0x4ff8180) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:1993 #12 0x00007f60e32987fa in KisDocument::saveToStream(QIODevice*) (this=this@entry=0x4ff8180, dev=dev@entry=0x7ffc26a9dfb0) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:1025 #13 0x00007f60e32a2d74 in KisDocument::saveNativeFormatCalligra(KoStore*) (this=this@entry=0x4ff8180, store=store@entry=0x7f60ade27370) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:980 #14 0x00007f60e32a3626 in KisDocument::saveNativeFormat(QString const&) (this=this@entry=0x4ff8180, file=...) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:972 #15 0x00007f60e329c991 in KisDocument::saveFile() (this=0x4ff8180) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:732 #16 0x00007f60e32a5aa1 in KisDocument::save() (this=0x4ff8180) at /home/boud/kde/src/2.9/krita/ui/KisDocument.cpp:2315 #17 0x00007f60e32db70e in KisMainWindow::saveDocument(KisDocument*, bool, bool, int) (this=0x3686160, document=document@entry=0x4ff8180, saveas=saveas@entry=false, silent=silent@entry=false, specialOutputFlag=specialOutputFlag@entry=0) at /home/boud/kde/src/2.9/krita/ui/KisMainWindow.cpp:971 #18 0x00007f60e33074f2 in KisView::queryClose() (this=this@entry=0x507a860) at /home/boud/kde/src/2.9/krita/ui/KisView.cpp:799 #19 0x00007f60e3307778 in KisView::closeEvent(QCloseEvent*) (this=0x507a860, event=0x7ffc26a9ef50) at /home/boud/kde/src/2.9/krita/ui/KisView.cpp:759 #20 0x00007f60dc44b806 in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #21 0x00007f60e330dea5 in KisView::event(QEvent*) (this=0x507a860, event=<optimized out>) at /home/boud/kde/src/2.9/krita/ui/KisView.cpp:746 #22 0x00007f60dc3fc76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #23 0x00007f60dc402cad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #24 0x00007f60e3290ca7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x507a860, event=0x7ffc26a9ef50) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:517 #25 0x00007f60db9ee2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #26 0x00007f60dc448079 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () at /usr/lib64/libQtGui.so.4 #27 0x00007f60dc81dd04 in QMdiSubWindow::closeEvent(QCloseEvent*) () at /usr/lib64/libQtGui.so.4 #28 0x00007f60dc44b806 in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #29 0x00007f60dc81d59b in QMdiSubWindow::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #30 0x00007f60dc3fc76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #31 0x00007f60dc402cad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #32 0x00007f60e3290ca7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x6acbe30, event=0x7ffc26a9f400) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:517 #33 0x00007f60db9ee2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #34 0x00007f60dc448079 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () at /usr/lib64/libQtGui.so.4 #35 0x00007f60dc448d66 in () at /usr/lib64/libQtGui.so.4 #36 0x00007f60dba021fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #37 0x00007f60dc3f6622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4 #38 0x00007f60dc3f7fd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4 #39 0x00007f60dc3f812c in QAction::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #40 0x00007f60dc3fc76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #41 0x00007f60dc402cad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #42 0x00007f60e3290ca7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x54ee5b0, event=0x7ffc26a9f880) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:517 #43 0x00007f60db9ee2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #44 0x00007f60dc42d9d6 in () at /usr/lib64/libQtGui.so.4 #45 0x00007f60dc42db0c in () at /usr/lib64/libQtGui.so.4 #46 0x00007f60dc403fe3 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #47 0x00007f60e3290ca7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x1aad4f0, event=0x7ffc26a9fbd0) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:517 #48 0x00007f60db9ee2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4 #49 0x00007f60dc496ab7 in () at /usr/lib64/libQtGui.so.4 #50 0x00007f60dc496e59 in () at /usr/lib64/libQtGui.so.4 #51 0x00007f60dc472a5f in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #52 0x00007f60dc499f30 in () at /usr/lib64/libQtGui.so.4 #53 0x00007f60db9ece6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #54 0x00007f60db9ed165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4 #55 0x00007f60db9f25b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4 #56 0x0000000000402ae2 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/2.9/krita/main.cc:179 Also added to phabricator for Dmitry to look into: https://phabricator.kde.org/T310 Git commit 2d1634ddcef059837f1e2cdc6df7f2fa6b19305c by Dmitry Kazakov. Committed on 06/07/2015 at 10:49. Pushed by dkazakov into branch 'calligra/2.9'. Fix crash/problem when saving a pattern to a .kra file Add two methods to KoPattern which save the file into .pat format not taking file extension into account Fixes T310 M +1 -1 krita/libpsd/asl/kis_asl_reader.cpp M +1 -1 krita/libpsd/asl/kis_asl_xml_parser.cpp M +1 -1 krita/libpsd/asl/kis_asl_xml_writer.cpp M +61 -51 libs/pigment/resources/KoPattern.cpp M +3 -0 libs/pigment/resources/KoPattern.h http://commits.kde.org/calligra/2d1634ddcef059837f1e2cdc6df7f2fa6b19305c *** Bug 349603 has been marked as a duplicate of this bug. *** |