Bug 384977

Summary: Crash when switching any toolview position
Product: [Applications] kdevelop Reporter: Juraj <jurajoravec>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash CC: chrisito, cyberbeat, kossebau
Priority: NOR Keywords: drkonqi
Version: 5.1.2   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.2.0
Sentry Crash Report:

Description Juraj 2017-09-22 23:00:15 UTC
Application: kdevelop (5.1.2)

Qt Version: 5.9.1
Frameworks Version: 5.38.0
Operating System: Linux 4.9.51-1-lts x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
I started KDevelop, Right-clicked on the any active widget title (Documents, Filesystem...) and selected item from sub-menu "Toolview position" > "Bottom | Right". It crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f930de7be40 (LWP 5290))]

Thread 10 (Thread 0x7f92ba574700 (LWP 5349)):
#0  0x00007f93046b538d in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f930b3bd5ec in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f92ffa0a2ef in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f92ffa0f339 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f92ffa097f4 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f92ffa0cb43 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f92bb0a3700 (LWP 5348)):
#0  0x00007f93046b538d in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f930b3bd5ec in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f92ffa0a2ef in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f92ffa0f339 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f92ffa097f4 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f92ffa0cb43 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f92c4e1d700 (LWP 5347)):
#0  0x00007f93046b538d in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f930b3bd5ec in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f92ffa0a2ef in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f92ffa0f339 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f92ffa097f4 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f92ffa0cb43 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f92c461c700 (LWP 5313)):
#0  0x00007f930acb97d8 in read () at /usr/lib/libc.so.6
#1  0x00007f9302447730 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f93024036eb in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9302403bb0 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f9302403d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f930b5fa084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f930b59dffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f930b3b740e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007f930063c1d5 in  () at /usr/lib/libQt5Qml.so.5
#9  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#10 0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f92d50aa700 (LWP 5303)):
#0  0x00007f930acbdcbb in poll () at /usr/lib/libc.so.6
#1  0x00007f9302403c09 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9302403d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f930b5fa084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f930b59dffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f930b3b740e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9308ec4232 in  () at /usr/lib/libKDevPlatformLanguage.so.10
#7  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f92d6cba700 (LWP 5302)):
#0  0x00007f93046b56cd in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f930b3bd4a1 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f9308db00da in  () at /usr/lib/libKDevPlatformLanguage.so.10
#3  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#4  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#5  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f92e182e700 (LWP 5300)):
#0  0x00007f930acbdcbb in poll () at /usr/lib/libc.so.6
#1  0x00007f9302403c09 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9302403d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f930b5fa084 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f930b59dffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f930b3b740e in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f930d137396 in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f92ea1ab700 (LWP 5297)):
#0  0x00007f930acbdcbb in poll () at /usr/lib/libc.so.6
#1  0x00007f92fa5c18e0 in  () at /usr/lib/libxcb.so.1
#2  0x00007f92fa5c3679 in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f92ec93072a in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f930b3bc15b in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f92ed945700 (LWP 5295)):
#0  0x00007f93046b538d in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f930b03c48d in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /build/gcc-multilib/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:864
#2  0x00007f930b03c48d in std::condition_variable::wait(std::unique_lock<std::mutex>&) (this=<optimized out>, __lock=...) at /build/gcc-multilib/src/gcc/libstdc++-v3/src/c++11/condition_variable.cc:53
#3  0x00007f92fec9e3f7 in  () at /usr/lib/libQt5WebKit.so.5
#4  0x00007f92fec9e539 in  () at /usr/lib/libQt5WebKit.so.5
#5  0x00007f930b042a6f in std::execute_native_thread_routine(void*) (__p=0x5601dda38360) at /build/gcc-multilib/src/gcc/libstdc++-v3/src/c++11/thread.cc:83
#6  0x00007f93046af08a in start_thread () at /usr/lib/libpthread.so.0
#7  0x00007f930acc81bf in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f930de7be40 (LWP 5290)):
[KCrash Handler]
#5  0x00007f930ac068a0 in raise () at /usr/lib/libc.so.6
#6  0x00007f930ac07f09 in abort () at /usr/lib/libc.so.6
#7  0x00007f930ac49517 in __libc_message () at /usr/lib/libc.so.6
#8  0x00007f930ac4fc84 in malloc_printerr () at /usr/lib/libc.so.6
#9  0x00007f930b5cd2cd in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#10 0x00007f930c3048c5 in QWidget::~QWidget() () at /usr/lib/libQt5Widgets.so.5
#11 0x00007f93088b7692 in  () at /usr/lib/libKDevPlatformSublime.so.10
#12 0x00007f93088b2694 in  () at /usr/lib/libKDevPlatformSublime.so.10
#13 0x00007f930b5cf8af in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#14 0x00007f93088bb901 in Sublime::Area::toolViewMoved(Sublime::View*, Sublime::Position) () at /usr/lib/libKDevPlatformSublime.so.10
#15 0x00007f93088834ea in Sublime::Area::moveToolView(Sublime::View*, Sublime::Position) () at /usr/lib/libKDevPlatformSublime.so.10
#16 0x00007f93088b7f53 in  () at /usr/lib/libKDevPlatformSublime.so.10
#17 0x00007f930b5cf8af in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#18 0x00007f930c2ee8b6 in QWidget::customContextMenuRequested(QPoint const&) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007f930c309c01 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007f930c3da07c in QDockWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#21 0x00007f930c2c6e4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#22 0x00007f930c2cf6d0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007f930b59fbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007f930c324093 in  () at /usr/lib/libQt5Widgets.so.5
#25 0x00007f930c326691 in  () at /usr/lib/libQt5Widgets.so.5
#26 0x00007f930c2c6e4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#27 0x00007f930c2ce926 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#28 0x00007f930b59fbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#29 0x00007f930bb021e4 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#30 0x00007f930bb03d46 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/libQt5Gui.so.5
#31 0x00007f930badb4ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#32 0x00007f92ec994cc1 in  () at /usr/lib/libQt5XcbQpa.so.5
#33 0x00007f9302403a57 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#34 0x00007f9302403c88 in  () at /usr/lib/libglib-2.0.so.0
#35 0x00007f9302403d1c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#36 0x00007f930b5fa061 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#37 0x00007f930b59dffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#38 0x00007f930b5a7048 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#39 0x00005601dc825e2d in  ()
#40 0x00007f930abf2f6a in __libc_start_main () at /usr/lib/libc.so.6
#41 0x00005601dc82641a in _start ()

Possible duplicates by query: bug 384828, bug 382096, bug 373996, bug 367653.

Reported using DrKonqi
Comment 1 Friedrich W. H. Kossebau 2017-09-22 23:14:57 UTC
Crashes also with some local build from mid-September master.
Comment 2 Kevin Funk 2017-09-24 21:51:29 UTC
Git commit ce4fabd900d6a394b89e38761f575b70885b098a by Kevin Funk, on behalf of Christoph Roick.
Committed on 24/09/2017 at 21:51.
Pushed by kfunk into branch '5.2'.

Fix crash when closing dock widgets from within the widget

Summary:
- context menu was owned by widget that is to be deleted
Related: bug 384828

Test Plan: - close dock widget by context menu from widget title -> no longer crashes

Reviewers: #kdevelop, apol

Reviewed By: #kdevelop, apol

Subscribers: kdevelop-devel

Differential Revision: https://phabricator.kde.org/D7947

(cherry picked from commit 16abb2d78ec0d79de9d7a379705f2c208e65be6c)

M  +1    -1    kdevplatform/sublime/idealdockwidget.cpp

https://commits.kde.org/kdevelop/ce4fabd900d6a394b89e38761f575b70885b098a
Comment 3 Francis Herne 2017-11-20 00:19:02 UTC
*** Bug 386262 has been marked as a duplicate of this bug. ***