Bug 425775 - SIGSEGV when exiting all open split-views using send to all
Summary: SIGSEGV when exiting all open split-views using send to all
Status: RESOLVED DUPLICATE of bug 411962
Alias: None
Product: konsole
Classification: Applications
Component: split-view (show other bugs)
Version: master
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-25 11:57 UTC by davidtsulaia
Modified: 2021-08-02 18:36 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description davidtsulaia 2020-08-25 11:57:45 UTC
SUMMARY
Konsole crashes with SIGSEGV after exiting from split-views simultaneously using copy input to all.

STEPS TO REPRODUCE
1. using master branch (as of writing) compile konsole with default options
2. after opening konsole, add another tab
3. in new tab split view multiple times ('ctrl + )')
4. select option Edit->Copy Input To->All Tabs in Current Window
5. focus on one of opened split view tabs
6. type 'exit'

OBSERVED RESULT
Konsole crashes with SIGSEGV
backtrace:
Core was generated by `./konsole --nofork'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f7121ec0a0c in QWidget::setFocus(Qt::FocusReason) () from /usr/lib/libQt5Widgets.so.5
[Current thread is 1 (Thread 0x7f711d8db480 (LWP 29217))]
(gdb) bt
#0  0x00007f7121ec0a0c in QWidget::setFocus(Qt::FocusReason) () from /usr/lib/libQt5Widgets.so.5
#1  0x00007f712135aa26 in ?? () from /usr/lib/libQt5Core.so.5
#2  0x00007f71231dfca2 in Konsole::TabbedViewContainer::activeViewChanged (this=this@entry=0x55f774b3da50, _t1=<optimized out>, _t1@entry=0x0)
    at /home/david/projects/private/kde/build/konsole/src/konsoleprivate_autogen/IMAN36LHMA/moc_ViewContainer.cpp:300
#3  0x00007f7123254ba6 in Konsole::TabbedViewContainer::currentTabChanged (index=0, this=0x55f774b3da50) at /home/david/projects/private/kde/src/konsole/src/widgets/ViewContainer.cpp:491
#4  Konsole::TabbedViewContainer::currentTabChanged (this=0x55f774b3da50, index=0) at /home/david/projects/private/kde/src/konsole/src/widgets/ViewContainer.cpp:486
#5  0x00007f712135aa26 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f712205954f in QTabWidget::currentChanged(int) () from /usr/lib/libQt5Widgets.so.5
#7  0x00007f712135aa60 in ?? () from /usr/lib/libQt5Core.so.5
#8  0x00007f712203889f in QTabBar::currentChanged(int) () from /usr/lib/libQt5Widgets.so.5
#9  0x00007f712203fe25 in QTabBar::removeTab(int) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007f712205bbdf in ?? () from /usr/lib/libQt5Widgets.so.5
#11 0x00007f712135aa60 in ?? () from /usr/lib/libQt5Core.so.5
#12 0x00007f7122036142 in QStackedWidget::widgetRemoved(int) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007f712135aa60 in ?? () from /usr/lib/libQt5Core.so.5
#14 0x00007f7121eaa8bf in QStackedLayout::widgetRemoved(int) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007f7121eab837 in QStackedLayout::takeAt(int) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007f7121ea5e3e in QLayout::removeWidget(QWidget*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f71232531d9 in Konsole::TabbedViewContainer::viewDestroyed (this=0x55f774b3da50, view=0x55f775083700) at /home/david/projects/private/kde/src/konsole/src/widgets/ViewContainer.cpp:398
#18 0x00007f712135aa26 in ?? () from /usr/lib/libQt5Core.so.5
#19 0x00007f7121353c70 in QObject::destroyed(QObject*) () from /usr/lib/libQt5Core.so.5
#20 0x00007f7121ec24bc in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5
#21 0x00007f71231e6351 in Konsole::ViewSplitter::~ViewSplitter (this=0x55f775083700, __in_chrg=<optimized out>) at /home/david/projects/private/kde/src/konsole/src/widgets/ViewSplitter.h:51
#22 Konsole::ViewSplitter::~ViewSplitter (this=0x55f775083700, __in_chrg=<optimized out>) at /home/david/projects/private/kde/src/konsole/src/widgets/ViewSplitter.h:51
#23 0x00007f712134ff90 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#24 0x00007f7121f71f9f in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#25 0x00007f7121e85702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#26 0x00007f71213237ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#27 0x00007f71213262a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#28 0x00007f712137ccf4 in ?? () from /usr/lib/libQt5Core.so.5
#29 0x00007f711fa5043c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007f711fa9e1d9 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007f711fa4f221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007f712137c331 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#33 0x00007f712132213c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#34 0x00007f712132a5c4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#35 0x00007f712331743b in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/david/projects/private/kde/src/konsole/src/main.cpp:230
#36 0x00007f7120b92002 in __libc_start_main () from /usr/lib/libc.so.6
#37 0x000055f77357a07e in _start ()

EXPECTED RESULT
The tab with active spli-views should close and focus should switch to existing tabs or if there are none the app should exit

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux
KDE Plasma Version: 5.19.4
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.0
Kernel Version: 5.4.58-1-MANJARO
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-7200U CPU @ 2.50GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 620

ADDITIONAL INFORMATION
observing the backtrace this is caused by the fact that main window has no more widgets to focus on.
Comment 1 Kurt Hindenburg 2020-08-25 14:13:23 UTC
It seems to work here but I'm on Qt5.14 - anyone else confirm?
Comment 2 Nate Graham 2021-08-02 18:36:56 UTC

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