Bug 386208 - QML somehow causing crash when inputting values in the internal color selector.
Summary: QML somehow causing crash when inputting values in the internal color selector.
Status: RESOLVED DUPLICATE of bug 385864
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-26 14:55 UTC by wolthera
Modified: 2017-11-09 14:48 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 wolthera 2017-10-26 14:55:18 UTC
To reproduce:

1. Go to the internal color selector dialog(by pressing the dual color buttons in the tool bar)
2. Try to fill in numbers in the RGB spinboxes.

Touchdocker is not visible, and also doesn't work here due to the same QML path issues that also plagued 2.8 that I cannot be bothered to figure out how to fix.

Backtrace:

Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x00007fffdc3f5e22 in QQmlData::isSignalConnected(QAbstractDeclarativeData*, QObject const*, int) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
(gdb) thread apply all backtrace

Thread 12 (Thread 0x7fff97fff700 (LWP 29989)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff59218eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff667dd8a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff5920989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fffef8966ba in start_thread (arg=0x7fff97fff700) at pthread_create.c:333
#5  0x00007ffff50173dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7fffaa46d700 (LWP 29988)):
#0  0x00007ffff500b70d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee29e38c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee29e49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff5b4992f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff5af27ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff591bcd4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffdc4990c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007ffff5920989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffef8966ba in start_thread (arg=0x7fffaa46d700) at pthread_create.c:333
#9  0x00007ffff50173dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7fffa9c6c700 (LWP 29985)):
---Type <return> to continue, or q <return> to quit---
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff59218eb in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff591aa16 in QSemaphore::tryAcquire(int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff2ee15f3 in KisTileDataSwapper::waitForWork (this=<optimized out>)
    at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007ffff2ee17ea in KisTileDataSwapper::run (
    this=0x7ffff33bfc40 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>)
    at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007ffff5920989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffef8966ba in start_thread (arg=0x7fffa9c6c700) at pthread_create.c:333
#7  0x00007ffff50173dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffd36e5700 (LWP 29976)):
#0  0x00007ffff500b70d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fffee29e38c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffee29e49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff5b4992f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff5af27ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff591bcd4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fffefac1b75 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007ffff5920989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffef8966ba in start_thread (arg=0x7fffd36e5700) at pthread_create.c:333
---Type <return> to continue, or q <return> to quit---
#9  0x00007ffff50173dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffded5a700 (LWP 29975)):
#0  0x00007ffff500b70d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff361dc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007ffff361f8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe10a2329 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007ffff5920989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fffef8966ba in start_thread (arg=0x7fffded5a700) at pthread_create.c:333
#6  0x00007ffff50173dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fffe11d3900 (LWP 29971)):
#0  0x00007fffdc3f5e22 in QQmlData::isSignalConnected(QAbstractDeclarativeData*, QObject const*, int) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#1  0x00007ffff5b2060b in QMetaObject::activate(QObject*, int, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff660794c in QWidgetLineControl::finishChange(int, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff660adb5 in QWidgetLineControl::processKeyEvent(QKeyEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff658633a in QLineEdit::keyPressEvent(QKeyEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007ffff649de77 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007ffff658bf29 in QLineEdit::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007ffff6545498 in QAbstractSpinBox::keyPressEvent(QKeyEvent*) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff649de77 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff65486f5 in QAbstractSpinBox::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff645c3fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff6465736 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff7891b37 in KisApplication::notify (this=<optimized out>, receiver=0xffd9960, event=0x7fffffffd4c0)
    at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:595
#13 0x00007ffff5af4798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff64b9ebb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff645c3fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff6463e07 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff7891b37 in KisApplication::notify (this=<optimized out>, receiver=0x172f1980, event=0x7fffffffd4c0)
    at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:595
#18 0x00007ffff5af4798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff5ee24e8 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#20 0x00007ffff5ee7885 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007ffff5ec1ceb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007fffe1100e00 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#23 0x00007fffee29e197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fffee29e3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fffee29e49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff5b4992f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff5af27ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff5afb704 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x0000000000405372 in main (argc=1, argv=<optimized out>) at /home/wolthera/krita/src/krita/main.cc:305
(gdb)
Comment 1 Halla Rempt 2017-11-08 13:25:47 UTC
I get this crash on opensuse. I am not sure what it's about, since this seems to happen almost completely inside Qt, except that it passes 3 times through KisApplication::notify

Thread 1 (Thread 0x7fbbf2cf4940 (LWP 31389)):
[KCrash Handler]
#6  0x00007fbbe8441f2f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#7  0x00007fbbe949479c in QWidgetLineControl::cursorPositionChanged(int, int) () at /usr/lib64/libQt5Widgets.so.5
#8  0x00007fbbe94964aa in QWidgetLineControl::emitCursorPositionChanged() () at /usr/lib64/libQt5Widgets.so.5
#9  0x00007fbbe9497a13 in QWidgetLineControl::finishChange(int, bool, bool) () at /usr/lib64/libQt5Widgets.so.5
#10 0x00007fbbe9499fd8 in QWidgetLineControl::processKeyEvent(QKeyEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007fbbe948ddfa in QLineEdit::keyPressEvent(QKeyEvent*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007fbbe939007a in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#13 0x00007fbbe9493615 in QLineEdit::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#14 0x00007fbbe94e3118 in QAbstractSpinBox::keyPressEvent(QKeyEvent*) () at /usr/lib64/libQt5Widgets.so.5
#15 0x00007fbbe939007a in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007fbbe94e5f8d in QAbstractSpinBox::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007fbbe9354cbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007fbbe935b94c in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007fbbf260d637 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x9895fb0, event=0x7ffe05d8efe0) at /home/boud/dev/krita/libs/ui/KisApplication.cpp:595
#20 0x00007fbbe8418d25 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#21 0x00007fbbe93ab26b in QWidgetWindow::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#22 0x00007fbbe9354cbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#23 0x00007fbbe935ba10 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#24 0x00007fbbf260d637 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0xb901000, event=0x7ffe05d8efe0) at /home/boud/dev/krita/libs/ui/KisApplication.cpp:595
#25 0x00007fbbe8418d25 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#26 0x00007fbbe89d99d0 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib64/libQt5Gui.so.5
#27 0x00007fbbe89de3a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5
#28 0x00007fbbe89bc8ab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#29 0x00007fbbdc8965b0 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5XcbQpa.so.5
#30 0x00007fbbe380c134 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#31 0x00007fbbe380c388 in  () at /usr/lib64/libglib-2.0.so.0
#32 0x00007fbbe380c42c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#33 0x00007fbbe8469dbc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#34 0x00007fbbe841701b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#35 0x00007fbbe841f5e4 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#36 0x000000000040599d in main(int, char**) (argc=1, argv=<optimized out>) at /home/boud/dev/krita/krita/main.cc:305
Comment 2 Halla Rempt 2017-11-09 14:48:32 UTC
I suspect that this is a variant of 385864, only with a slightly different backtrace because the error hits a similar condition in another Qt library

*** This bug has been marked as a duplicate of bug 385864 ***