Bug 392660 - Crash when opening terminal panel if Konsole is not installed
Summary: Crash when opening terminal panel if Konsole is not installed
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: panels: terminal (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Roman Inflianskas
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2018-04-02 23:18 UTC by Antonio Rojas
Modified: 2018-04-03 20:49 UTC (History)
2 users (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 Antonio Rojas 2018-04-02 23:18:58 UTC
Dolphin 18.04 beta crashes when trying to open the terminal panel (via F4 or the menu item) if konsole is not installed.

(gdb) bt
#0  KMessageWidget::isHideAnimationRunning (this=0x70006f00630061) at /build/kwidgetsaddons/src/kwidgetsaddons-5.44.0/src/kmessagewidget.cpp:483
#1  0x00007ffff423a1ce in KMessageWidget::animatedShow (this=0x70006f00630061)
    at /build/kwidgetsaddons/src/kwidgetsaddons-5.44.0/src/kmessagewidget.cpp:419
#2  0x00007ffff7b74de7 in TerminalPanel::showEvent (this=0x5555559f3c60, event=0x7fffffffd960)
    at /build/dolphin/src/dolphin-18.03.80/src/panels/terminal/terminalpanel.cpp:164
#3  0x00007ffff2a1a588 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#4  0x00007ffff29da5dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#5  0x00007ffff29e1db6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#6  0x00007ffff199e200 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff2a16e6d in QWidgetPrivate::show_helper() () from /usr/lib/libQt5Widgets.so.5
#8  0x00007ffff2a16d30 in QWidgetPrivate::showChildren(bool) () from /usr/lib/libQt5Widgets.so.5
#9  0x00007ffff2a16e42 in QWidgetPrivate::show_helper() () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff2a1a119 in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff2b01f20 in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ffff19ce3e6 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#13 0x00007ffff29d3c43 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff29d63b6 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff19ce50f in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#16 0x00007ffff29d3c43 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff29d63b6 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff29d6d62 in QAction::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007ffff29da5dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff29e1db6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff199e200 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#22 0x00007ffff21f8cf9 in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5
#23 0x00007ffff21f8dce in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5
#24 0x00007ffff21a503d in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/libQt5Gui.so.5
#25 0x00007ffff21c5c58 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/libQt5Gui.so.5
#26 0x00007ffff21cb066 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /usr/lib/libQt5Gui.so.5
#27 0x00007ffff21a0fac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
---Type <return> to continue, or q <return> to quit---
#28 0x00007fffe341e7fd in ?? () from /usr/lib/libQt5XcbQpa.so.5
#29 0x00007ffff199c95b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#30 0x00007ffff19a5ba8 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#31 0x00007ffff7b40976 in kdemain (argc=<optimized out>, argv=<optimized out>) at /build/dolphin/src/dolphin-18.03.80/src/main.cpp:163
#32 0x00007ffff776af4a in __libc_start_main () from /usr/lib/libc.so.6
#33 0x000055555555477a in _start ()
Comment 1 Nate Graham 2018-04-03 03:17:21 UTC
Roman, this looks like it could be related to your recent (awesome) work to make Dolphin help the user install Konsole in this circumstance. I see that it's crashing in KMessageWidget::isHideAnimationRunning(), which wouldn't have been present until your patch added a KMessageWidget.
Comment 2 Antonio Rojas 2018-04-03 15:46:41 UTC
https://phabricator.kde.org/D11904
Comment 3 Antonio Rojas 2018-04-03 20:49:29 UTC
Git commit 386a862de4e67a44afa74f9ac66fba5c8b7abd38 by Antonio Rojas.
Committed on 03/04/2018 at 20:48.
Pushed by arojas into branch 'Applications/18.04'.

Initialize m_konsolePartMissingMessage

Otherwise it just crashes when trying to open the terminal panel
Differential Revision: https://phabricator.kde.org/D11904

M  +1    -0    src/panels/terminal/terminalpanel.cpp

https://commits.kde.org/dolphin/386a862de4e67a44afa74f9ac66fba5c8b7abd38