With mingw-w64 5.4, Krita SegFault when creating or opening files

Alvin Wong alvinhochun+krita at gmail.com
Sat Sep 24 19:54:39 UTC 2016


Just for the record, I am getting a SegFault (dereferencing null pointer)
at this location on the third hit creating a new file.

HEAD is at bcc7d63 with patches.

I am getting this with both x64 and x86 mingw-w64 mingw-builds 5.4 release,
and also tested with the x64 ones of 5.1.

This doesn't happen with TDM-GCC 5.1, so it has to be caused by different
behaviours of TDM-GCC releases.

I have yet to try looking into this problem. I'm just wondering if anyone
has any clue. It's probably either a compiler bug or some non-compliant
code somewhere which got compiled differently.

Breakpoint 2, KisInputManager::slotToolChanged (this=0x450806b0) at
F:\dev\krita\krita\libs\ui\input\kis_input_manager.cpp:564
564         if (tool->isInTextMode()) {
(gdb) p tool
$1 = (KoToolBase *) 0x5a23b060
(gdb) c
Continuing.
[Thread 12068.0x6e4 exited with code 0]
warning: krita.lib.flake: "InteractionTool" : action "object_order_raise"
conflicts with canvas action "rotate_canvas_right" shortcut: "Ctrl+]"
warning: krita.lib.flake: "InteractionTool" : action "object_order_lower"
conflicts with canvas action "rotate_canvas_left" shortcut: "Ctrl+["

Breakpoint 2, KisInputManager::slotToolChanged (this=0x450806b0) at
F:\dev\krita\krita\libs\ui\input\kis_input_manager.cpp:564
564         if (tool->isInTextMode()) {
(gdb) p tool
$2 = (KoToolBase *) 0x5a23b060
(gdb) c
Continuing.
[New Thread 12068.0x21a8]
[New Thread 12068.0x248c]
warning: krita.lib.flake: "KritaShape/KisToolBrush" : action
"object_order_raise" conflicts with canvas action "rotate_canvas_right"
shortcut: "Ctrl+]"
warning: krita.lib.flake: "KritaShape/KisToolBrush" : action
"object_order_lower" conflicts with canvas action "rotate_canvas_left"
shortcut: "Ctrl+["

Breakpoint 2, KisInputManager::slotToolChanged (this=0x450806b0) at
F:\dev\krita\krita\libs\ui\input\kis_input_manager.cpp:564
564         if (tool->isInTextMode()) {
(gdb) p tool
$3 = (KoToolBase *) 0x0
(gdb) bt
#0  KisInputManager::slotToolChanged (this=0x450806b0) at
F:\dev\krita\krita\libs\ui\input\kis_input_manager.cpp:564
#1  0x0000000068a2e3fa in QMetaObject::activate(QObject*, int, int, void**)
() from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#2  0x000000000f1ce045 in KoToolManager::changedTool (_t2=23,
_t1=0x59ff5750, this=<optimized out>)
    at
F:/dev/krita/build_mgw54_x64/build_krita/libs/flake/moc_KoToolManager.cpp:452
#3  KoToolManager::Private::postSwitchTool (this=0x450875f0,
temporary=<optimized out>) at
F:\dev\krita\krita\libs\flake\KoToolManager.cpp:745
#4  0x0000000000b9c134 in KisMainWindow::showView (this=0x44f07c50,
imageView=0x59e2c040) at F:\dev\krita\krita\libs\ui\KisMainWindow.cpp:579
#5  0x0000000000b99ee4 in KisMainWindow::addView (this=this at entry=0x44f07c50,
view=0x59e2c040) at F:\dev\krita\krita\libs\ui\KisMainWindow.cpp:533
#6  0x0000000000b99fdf in KisMainWindow::addViewAndNotifyLoadingCompleted
(this=0x44f07c50, document=0x5a0487d0)
    at F:\dev\krita\krita\libs\ui\KisMainWindow.cpp:796
#7  0x0000000000bac6f2 in KisPart::startCustomDocument (this=<optimized
out>, doc=<optimized out>) at F:\dev\krita\krita\libs\ui\KisPart.cpp:482
#8  0x0000000000c16e1c in KisPart::qt_static_metacall (_o=<optimized out>,
_c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at F:/dev/krita/build_mgw54_x64/build_krita/libs/ui/moc_KisPart.cpp:117
#9  0x0000000068a2e3fa in QMetaObject::activate(QObject*, int, int, void**)
() from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#10 0x0000000000c09bd1 in KisOpenPane::documentSelected (this=0x5a4fad70, )
at F:/dev/krita/build_mgw54_x64/build_krita/libs/ui/moc_KisOpenPane.cpp:236
#11 0x0000000000adcaf0 in KisImageFromClipboard::createImage
(this=0x59fdb120) at
F:\dev\krita\krita\libs\ui\widgets\kis_image_from_clipboard_widget.cpp:100
#12 0x0000000068a2e3fa in QMetaObject::activate(QObject*, int, int, void**)
() from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#13 0x0000000019b45431 in QAbstractButton::toggled(bool) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#14 0x0000000019b456f9 in QAbstractButton::toggled(bool) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#15 0x0000000019c386a8 in QDialog::keyPressEvent(QKeyEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#16 0x0000000019a9dedb in QWidget::event(QEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#17 0x0000000019a5a33c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#18 0x0000000019a612c0 in QApplication::notify(QObject*, QEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#19 0x0000000000b6e9d6 in KisApplication::notify (this=<optimized out>,
receiver=0x59fdb120, event=0x227eb0)
    at F:\dev\krita\krita\libs\ui\KisApplication.cpp:511
#20 0x0000000068a0e312 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#21 0x0000000019ab5db0 in QDesktopWidget::qt_metacall(QMetaObject::Call,
int, void**) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#22 0x0000000019a5a33c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#23 0x0000000019a5f6a0 in QApplication::notify(QObject*, QEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#24 0x0000000000b6e9d6 in KisApplication::notify (this=<optimized out>,
receiver=0x5a03fbd0, event=0x227eb0)
    at F:\dev\krita\krita\libs\ui\KisApplication.cpp:511
#25 0x0000000068a0e312 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#26 0x0000000061962453 in
QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#27 0x00000000619675a5 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#28 0x000000006194cd1c in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#29 0x0000000068a54fba in QEventDispatcherWin32Private::sendTimerEvent(int)
() from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#30 0x0000000077109bdd in USER32!TranslateMessageEx () from
C:\Windows\system32\user32.dll
---Type <return> to continue, or q <return> to quit---
#31 0x00000000771098e2 in USER32!TranslateMessage () from
C:\Windows\system32\user32.dll
#32 0x0000000068a546f3 in
QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#33 0x000000002d82ab55 in qwindows!qt_plugin_instance () from
F:\dev\krita\build_mgw54_x64\test\bin\platforms\qwindows.dll
#34 0x0000000068a0d5ea in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#35 0x0000000019c388cc in QDialog::exec() () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#36 0x0000000000b99112 in KisMainWindow::slotFileNew (this=<optimized out>)
at F:\dev\krita\krita\libs\ui\KisMainWindow.cpp:1388
#37 0x0000000000ba9377 in KisMainWindow::qt_static_metacall (_o=0x44f07c50,
_c=<optimized out>, _id=<optimized out>, _a=0x22bab0)
    at
F:/dev/krita/build_mgw54_x64/build_krita/libs/ui/moc_KisMainWindow.cpp:311
#38 0x0000000068a2e3fa in QMetaObject::activate(QObject*, int, int, void**)
() from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#39 0x0000000019a541b6 in QAction::activate(QAction::ActionEvent) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#40 0x0000000019a54c8a in QAction::event(QEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#41 0x0000000019a5a33c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#42 0x0000000019a5f6a0 in QApplication::notify(QObject*, QEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Widgets.dll
#43 0x0000000000b6e9d6 in KisApplication::notify (this=<optimized out>,
receiver=0x59a4cba0, event=0x22bf00)
    at F:\dev\krita\krita\libs\ui\KisApplication.cpp:511
#44 0x0000000068a0e312 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#45 0x000000006198c9c3 in QShortcutMap::dispatchEvent(QKeyEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#46 0x000000006198cae1 in QShortcutMap::tryShortcut(QKeyEvent*) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#47 0x0000000061950687 in
QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int,
QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, un
signed int, QString const&, bool, unsigned short) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#48 0x00000000619624a6 in
QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#49 0x00000000619675a5 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#50 0x000000006194cd1c in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Gui.dll
#51 0x0000000068a54fba in QEventDispatcherWin32Private::sendTimerEvent(int)
() from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#52 0x0000000077109bdd in USER32!TranslateMessageEx () from
C:\Windows\system32\user32.dll
#53 0x00000000771098e2 in USER32!TranslateMessage () from
C:\Windows\system32\user32.dll
#54 0x0000000068a546f3 in
QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#55 0x000000002d82ab55 in qwindows!qt_plugin_instance () from
F:\dev\krita\build_mgw54_x64\test\bin\platforms\qwindows.dll
#56 0x0000000068a0d5ea in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#57 0x0000000068a14207 in QCoreApplication::exec() () from
F:\dev\krita\build_mgw54_x64\test\bin\Qt5Core.dll
#58 0x00000000004056f5 in main (argc=1, argv=<optimized out>) at
F:\dev\krita\krita\krita\main.cc:234
(gdb) l
559
560     void KisInputManager::slotToolChanged()
561     {
562         auto toolManager = KoToolManager::instance();
563         auto tool = toolManager->toolById(canvas(),
toolManager->activeToolId());
564         if (tool->isInTextMode()) {
565             d->forwardAllEventsToTool = true;
566             d->matcher.suppressAllActions(true);
567         } else {
568             d->forwardAllEventsToTool = false;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kimageshop/attachments/20160925/463a09ce/attachment-0001.html>


More information about the kimageshop mailing list