Bug 389950 - Kate closed when attempting to close inactive split windows inside the main window
Summary: Kate closed when attempting to close inactive split windows inside the main w...
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: general (show other bugs)
Version: Git
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2018-02-06 13:17 UTC by Grigory
Modified: 2019-07-13 22:39 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Accumulation of "splits" (37.85 KB, image/jpeg)
2018-02-07 04:21 UTC, Grigory
Details
Closing inactive sub-windows (148.61 KB, image/jpeg)
2018-02-07 05:37 UTC, Grigory
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Grigory 2018-02-06 13:17:21 UTC
Application: kate (18.03.70)

Qt Version: 5.5.1
Operating System: Linux 4.4.0-104-generic x86_64
Distribution: Ubuntu 16.04.3 LTS

-- Information about the crash:
- What I was doing when the application crashed:

1. Created a session
2. Worked in the Git-project
3. Closed Kate
4. Opened this session again later
5. Try to close inactive splitters and then the program crashed

- Unusual behavior I noticed:

There are too many "splitters" in the left side of the window. How they were so much uncovered is not clear. Before this, the window was not manually divided into sub-windows.

The crash can be reproduced every time.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f07fbe508c0 (LWP 28400))]

Thread 10 (Thread 0x7f07c67fc700 (LWP 28415)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07c67fc700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7f07c6ffd700 (LWP 28414)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07c6ffd700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f07c77fe700 (LWP 28413)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07c77fe700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f07c7fff700 (LWP 28412)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07c7fff700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f07d4def700 (LWP 28410)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07d4def700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f07d55f0700 (LWP 28409)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07d55f0700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f07d5df1700 (LWP 28408)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07d5df1700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f07d65f2700 (LWP 28407)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f07f7b14a5b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f07db2342bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f07db2384e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f07db23346d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f07db236353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f07f48c06ba in start_thread (arg=0x7f07d65f2700) at pthread_create.c:333
#8  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f07eaa89700 (LWP 28401)):
#0  0x00007f07f711474d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f07f4ce2c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f07f4ce48d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f07ecddb889 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f07f7b137be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f07f48c06ba in start_thread (arg=0x7f07eaa89700) at pthread_create.c:333
#6  0x00007f07f712041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f07fbe508c0 (LWP 28400)):
[KCrash Handler]
#6  0x00007f07f8e533a8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x0000000000445f6c in KateViewManager::removeViewSpace (this=this@entry=0x2c7c0f0, viewspace=0x31937f0) at /home/okhmak/kde/kate/kate/kateviewmanager.cpp:943
#8  0x00000000004460d5 in KateViewManager::slotCloseOtherViews (this=0x2c7c0f0) at /home/okhmak/kde/kate/kate/kateviewmanager.cpp:971
#9  0x0000000000470205 in KateViewManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x2976080) at /home/okhmak/kde/build/kate/moc_kateviewmanager.cpp:269
#10 0x00007f07f7d23c01 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f07f8cf7d1b in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f07f8cb505c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f07f8cba516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f07f7cf438b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f07f7cf6786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f07f7d4a3c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f07f439f197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f07f439f3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f07f439f49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f07f7d4a7cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f07f7cf1b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f07f7cf9bec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x000000000042828c in main (argc=1, argv=<optimized out>) at /home/okhmak/kde/kate/kate/main.cpp:583

Reported using DrKonqi
Comment 1 Grigory 2018-02-07 04:03:55 UTC
The accumulation of split elements occurs when another session is opened in the current session (Session -> Open session -> <select session from list>)
Comment 2 Grigory 2018-02-07 04:21:13 UTC
Created attachment 110385 [details]
Accumulation of "splits"
Comment 3 Grigory 2018-02-07 05:37:12 UTC
Created attachment 110386 [details]
Closing inactive sub-windows
Comment 5 Christoph Cullmann 2019-07-13 22:39:21 UTC
Yes, should be fixed now.