Running python script duplicating layer and applying filter crashes Scripter (or Krita, not sure). On Win8 and Krita is version 4.0.0. Script is this: import sys from krita import * doc = Krita.instance().documents()[0] height = doc.height() width = doc.width() newlayer = doc.topLevelNodes()[0].duplicate() root = doc.rootNode() newthing = root.addChildNode(newlayer, None) newlayer.setName("Test") myconfig = InfoObject() myconfig.setProperty("s", -100) filter = Krita.instance().filter("hsvadjustment") filter.setConfiguration(myconfig) filter.startFilter(newlayer, 0, 0, width, height)
Can confirm this on KDE Neon based on Ubuntu 16.04 -------------------------GDB backtrace -------------------------- Thread 20 (Thread 0x7fff9fdad700 (LWP 18816)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007ffff518b335 in QBasicMutex::lockInternal() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007ffff518b397 in QMutex::lock() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007ffff51945d8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007fffee3006ba in start_thread (arg=0x7fff9fdad700) at pthread_create.c:333 #5 0x00007ffff488b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 19 (Thread 0x7fffa51fe700 (LWP 18815)): #0 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:81 #1 0x00007fffee2ff14a in create_thread (pd=pd@entry=0x7fff9fdad700, attr=attr@entry=0x7fffa51fd7b0, stopped_start=<optimized out>, stopped_start@entry=false, stackaddr=<optimized out>, thread_ran=0x7fffa51fd6cf) at ../sysdeps/unix/sysv/linux/createthread.c:102 #2 0x00007fffee300e84 in __pthread_create_2_1 (newthread=<optimized out>, attr=<optimized out>, start_routine=<optimized out>, arg=<optimized out>) at pthread_create.c:679 #3 0x00007ffff5193be6 in QThread::start(QThread::Priority) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff518fdc4 in QThreadPoolPrivate::startThread(QRunnable*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff519148b in QThreadPoolPrivate::tryStart(QRunnable*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff5191acc in QThreadPool::start(QRunnable*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007ffff24fe9f8 in KisUpdaterContext::addStrokeJob (this=this@entry=0x153fd640, strokeJob=0xcfbd630) at /home/wolthera/krita/src/libs/image/kis_updater_context.cpp:177 #8 0x00007ffff2507921 in KisStrokesQueue::processOneJob (this=this@entry=0x153fd630, updaterContext=..., externalJobsPending=externalJobsPending@entry=false) at /home/wolthera/krita/src/libs/image/kis_strokes_queue.cpp:704 #9 0x00007ffff25079ce in KisStrokesQueue::processQueue (this=0x153fd630, updaterContext=..., externalJobsPending=<optimized out>) at /home/wolthera/krita/src/libs/image/kis_strokes_queue.cpp:559 #10 0x00007ffff2510338 in KisUpdateScheduler::processQueues (this=0x137270a8) at /home/wolthera/krita/src/libs/image/kis_update_scheduler.cpp:413 #11 0x00007ffff539e489 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #12 0x00007ffff24fd9e0 in KisUpdaterContext::slotJobFinished (this=<optimized out>) at /home/wolthera/krita/src/libs/image/kis_updater_context.cpp:252 ---Type <return> to continue, or q <return> to quit--- #13 0x00007ffff539e489 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x00007ffff265e11c in KisUpdateJobItem::sigJobFinished (this=0x1371d2d0) at /home/wolthera/krita/build/libs/image/moc_kis_update_job_item.cpp:164 #15 KisUpdateJobItem::run (this=0x1371d2d0) at /home/wolthera/krita/build/libs/image/../../../src/libs/image/kis_update_job_item.h:99 #16 0x00007ffff5190b37 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #17 0x00007ffff51946eb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #18 0x00007fffee3006ba in start_thread (arg=0x7fffa51fe700) at pthread_create.c:333 #19 0x00007ffff488b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7fffb8604700 (LWP 17641)): #0 0x00007ffff487f74d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffeca9838c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffeca9849c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff53c85af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff536f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff518f554 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffd5adea35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007ffff51946eb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fffee3006ba in start_thread (arg=0x7fffb8604700) at pthread_create.c:333 #9 0x00007ffff488b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7fffb7e03700 (LWP 17639)): #0 0x00007ffff485030d in nanosleep () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ffff53c7f2d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007ffff5193a78 in QThread::msleep(unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007ffff24213ca in KisTileDataSwapper::run ( this=0x7ffff291ff80 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:97 #4 0x00007ffff51946eb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fffee3006ba in start_thread (arg=0x7fffb7e03700) at pthread_create.c:333 #6 0x00007ffff488b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7fffd07fd700 (LWP 17633)): #0 0x00007ffff487f74d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffeca9838c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #2 0x00007fffeca9849c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff53c85af in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff536f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff518f554 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffee52c2c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007ffff51946eb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fffee3006ba in start_thread (arg=0x7fffd07fd700) at pthread_create.c:333 #9 0x00007ffff488b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7fffdcbd5700 (LWP 17632)): #0 0x00007ffff487f74d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ffff2b7dc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ffff2b7f8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffdf12dce9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007ffff51946eb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fffee3006ba in start_thread (arg=0x7fffdcbd5700) at pthread_create.c:333 #6 0x00007ffff488b41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7ffff7f06900 (LWP 17627)): #0 0x0000000000000000 in ?? () #1 0x00007fffb4154b45 in Filter::~Filter (this=0xfe43160, __in_chrg=<optimized out>) at /home/wolthera/krita/src/libs/libkis/Filter.cpp:54 #2 0x00007fffb4154ba9 in Filter::~Filter (this=0xfe43160, __in_chrg=<optimized out>) at /home/wolthera/krita/src/libs/libkis/Filter.cpp:56 #3 0x00007fffaf97745e in release_Filter (sipCppV=0xfe43160) at /home/wolthera/krita/build/plugins/extensions/pykrita/sip/./krita/sipkritapart0.cpp:25085 #4 0x00007fffafbeede9 in forgetObject (sw=sw@entry=0x7fff9ea47948) at siplib.c:12011 #5 0x00007fffafbeee09 in sipWrapper_dealloc (self=0x7fff9ea47948) at siplib.c:11560 #6 0x00007fffb442e921 in subtype_dealloc (self=<Filter at remote 0x7fff9ea47948>) at ../Objects/typeobject.c:1208 #7 0x00007fffb4454ac7 in free_keys_object (keys=0xf9c8260) at ../Objects/dictobject.c:354 #8 dict_dealloc.lto_priv.401 (mp=0x7fffa5dead08) at ../Objects/dictobject.c:1607 Python Exception <class 'RuntimeError'> Type does not have a target.: #9 0x00007fffb446e219 in frame_dealloc.lto_priv.363 (f=) at ../Objects/frameobject.c:431 #10 0x00007fffb45e6697 in _PyEval_EvalCodeWithName.lto_priv.1742 (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:4029 #11 0x00007fffb45e6d83 in PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, ---Type <return> to continue, or q <return> to quit--- locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kws=<optimized out>, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at ../Python/ceval.c:4039 #12 0x00007fffb446ead8 in function_call.lto_priv.368 (func=<function at remote 0x7fff9ea34378>, Python Exception <class 'RuntimeError'> Type does not have a target.: arg=, kw=0x0) at ../Objects/funcobject.c:627 #13 0x00007fffb452354e in PyObject_Call (func=<function at remote 0x7fff9ea34378>, arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2165 #14 0x00007fffb45c1aec in method_call.lto_priv.274 (func=<function at remote 0x7fff9ea34378>, Python Exception <class 'RuntimeError'> Type does not have a target.: arg=, kw=0x0) at ../Objects/classobject.c:330 #15 0x00007fffb452354e in PyObject_Call (func=<method at remote 0x7fffcc1057c8>, arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2165 #16 0x00007fffb45e5937 in PyEval_CallObjectWithKeywords ( func=<method at remote 0x7fffcc1057c8>, arg=(), kw=<optimized out>) at ../Python/ceval.c:4580 #17 0x00007fffaf664c05 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so #18 0x00007fffaf665138 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so #19 0x00007fffaf6653c0 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so #20 0x00007fffaf665dd7 in ?? () from /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-35m-x86_64-linux-gnu.so #21 0x00007ffff539e5f4 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #22 0x00007ffff60ab4a2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #23 0x00007ffff60adc10 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #24 0x00007ffff61aa900 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #25 0x00007ffff61aaa3d in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007ffff62870da in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007ffff60f0f88 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007ffff62871b9 in QToolButton::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007ffff60b1acc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007ffff60ba03b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 ---Type <return> to continue, or q <return> to quit--- #31 0x00007ffff77d2357 in KisApplication::notify (this=<optimized out>, receiver=0x153407b0, event=0x7fffffffd0c0) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:620 #32 0x00007ffff53713c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x00007ffff60b89df in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #34 0x00007ffff610af4d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007ffff610d97b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007ffff60b1acc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007ffff60b9417 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #38 0x00007ffff77d2357 in KisApplication::notify (this=<optimized out>, receiver=0xf83a3a0, event=0x7fffffffd540) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:620 #39 0x00007ffff53713c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #40 0x00007ffff5909ef0 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #41 0x00007ffff590be45 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #42 0x00007ffff58e58fb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #43 0x00007fffdf1b01ab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #44 0x00007ffff536f64a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #45 0x00007ffff5378854 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #46 0x00000000004054d3 in main (argc=1, argv=0x7fffffffde58) at /home/wolthera/krita/src/krita/main.cc:349 (gdb)
I got the crash with the windows and appimage release, but not with a local master build on KDE Neon... The local build runs on sip 4.19.8, could be related?
Git commit ddfc126edc53880953a433cc14a5d03132c976cd by Boudewijn Rempt. Committed on 14/08/2018 at 08:51. Pushed by rempt into branch 'master'. Fix memory management of the Filter's InfoObject M +1 -1 plugins/extensions/pykrita/sip/krita/Filter.sip https://commits.kde.org/krita/ddfc126edc53880953a433cc14a5d03132c976cd
Git commit 052a44734b2a6d34f168346a7fe33cb15e2e7a39 by Boudewijn Rempt. Committed on 07/09/2018 at 12:37. Pushed by rempt into branch 'krita/4.1'. Fix memory management of the Filter's InfoObject M +1 -1 plugins/extensions/pykrita/sip/krita/Filter.sip https://commits.kde.org/krita/052a44734b2a6d34f168346a7fe33cb15e2e7a39