Bug 416156 - KRDC crashes when clicking "switch to full scrren" while not connected
Summary: KRDC crashes when clicking "switch to full scrren" while not connected
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: general (show other bugs)
Version: 19.04
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-01-12 11:16 UTC by emelenas
Modified: 2020-01-25 16:01 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 19.12.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description emelenas 2020-01-12 11:16:45 UTC
Application: krdc (19.04.3)

Qt Version: 5.13.2
Frameworks Version: 5.64.0
Operating System: Linux 5.4.8-200.fc31.x86_64 x86_64
Distribution: "Fedora release 31 (Thirty One)"

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

On opening KRDC, it shows an empty window, only the menubar and the toolbar (if so configured) are shown. The Hosts list does not appear. If in this state, I click the "Switch to full screen" button (or menu Session->Switch to full screen), KRDC crashes.
I need to click the New Connection icon (or menu File->New Connection to access the hosts list. Then, I can click the full screen switch button and KRDC does not crash.

The crash can be reproduced every time.

-- Backtrace:
Application: KRDC (krdc), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f4f8517f840 (LWP 10777))]

Thread 3 (Thread 0x7f4f7709e700 (LWP 10780)):
#0  0x00007f4f89940a6f in poll () from /lib64/libc.so.6
#1  0x00007f4f87aca80e in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007f4f87aca943 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f4f89ed28b3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007f4f89e7c24b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f4f89cccc75 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007f4f88d10f6a in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007f4f89ccddc6 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007f4f884db4e2 in start_thread () from /lib64/libpthread.so.0
#9  0x00007f4f8994b693 in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f4f77e87700 (LWP 10779)):
#0  0x00007f4f89940a6f in poll () from /lib64/libc.so.6
#1  0x00007f4f8755338a in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007f4f87554fea in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007f4f78035d48 in QXcbEventQueue::run() () from /lib64/libQt5XcbQpa.so.5
#4  0x00007f4f89ccddc6 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#5  0x00007f4f884db4e2 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f4f8994b693 in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f4f8517f840 (LWP 10777)):
[KCrash Handler]
#6  0x00007f4f8aa0efe2 in QWidget::setFocus(Qt::FocusReason) () from /lib64/libQt5Widgets.so.5
#7  0x0000562b2a09cb95 in MainWindow::switchFullscreen() ()
#8  0x0000562b2a08c3b5 in MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.0] ()
#9  0x00007f4f89ea798b in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#10 0x00007f4f8a9cb456 in QAction::triggered(bool) () from /lib64/libQt5Widgets.so.5
#11 0x00007f4f8a9cdb92 in QAction::activate(QAction::ActionEvent) () from /lib64/libQt5Widgets.so.5
#12 0x00007f4f8aaca0b0 in QAbstractButtonPrivate::click() () from /lib64/libQt5Widgets.so.5
#13 0x00007f4f8aaca2d5 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#14 0x00007f4f8abbe54e in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#15 0x00007f4f8aa14c7e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#16 0x00007f4f8abbe5f8 in QToolButton::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#17 0x00007f4f8a9d1ab6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007f4f8a9db3a3 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#19 0x00007f4f89e7d458 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#20 0x00007f4f8a9da4b7 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib64/libQt5Widgets.so.5
#21 0x00007f4f8aa30c8d in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#22 0x00007f4f8aa33c8c in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#23 0x00007f4f8a9d1ab6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#24 0x00007f4f8a9db150 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#25 0x00007f4f89e7d458 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#26 0x00007f4f8a25cb83 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#27 0x00007f4f8a25e37b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib64/libQt5Gui.so.5
#28 0x00007f4f8a23a6eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#29 0x00007f4f78036d5e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#30 0x00007f4f87aca510 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#31 0x00007f4f87aca8a0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#32 0x00007f4f87aca943 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#33 0x00007f4f89ed2895 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#34 0x00007f4f89e7c24b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#35 0x00007f4f89e84126 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#36 0x0000562b2a08b250 in main ()
[Inferior 1 (process 10777) detached]

Possible duplicates by query: bug 383299, bug 381101, bug 377347, bug 377346, bug 374466.

Reported using DrKonqi
Comment 1 emelenas 2020-01-12 11:20:35 UTC
The bug reporting tool set the candidate duplicates, but I do not believe they are actually related
Comment 2 emelenas 2020-01-25 14:53:58 UTC
I filed a phabricator code review to handle thos bug. See https://phabricator.kde.org/D26917
Comment 3 Christoph Feck 2020-01-25 16:01:40 UTC
Git commit f16e40db3baca67b2e133f9a20d12b72ad983d55 by Christoph Feck, on behalf of Enrique Melendez.
Committed on 25/01/2020 at 15:57.
Pushed by cfeck into branch 'release/19.12'.

Fix crash in full screen requests when the window shows no host list
FIXED-IN: 19.12.2

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

M  +1    -1    mainwindow.cpp

https://commits.kde.org/krdc/f16e40db3baca67b2e133f9a20d12b72ad983d55