Application: yakuake (3.0.4+) Qt Version: 5.10.0 Frameworks Version: 5.45.0 Operating System: Linux 4.13.0-36-generic x86_64 Distribution: KDE neon User Edition 5.12 -- Information about the crash: - What I was doing when the application crashed: press alt+left/right shortcut - Custom settings of the application: set shortcut grow terminal to left/right -> alt+left/right The crash can be reproduced every time. -- Backtrace: Application: Yakuake (yakuake), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f1a964e88c0 (LWP 23969))] Thread 2 (Thread 0x7f1a79d66700 (LWP 23971)): #0 0x00007f1a9090674d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f1a8af0738c in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f1a74012750, timeout=<optimized out>, context=0x7f1a74000990) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f1a74000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3835 #3 0x00007f1a8af0749c in g_main_context_iteration (context=0x7f1a74000990, may_block=1) at /build/glib2.0-prJhLS/glib2.0-2.48.2/./glib/gmain.c:3901 #4 0x00007f1a912395cb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f1a911e064a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f1a91000554 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007f1a92e0a2c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #8 0x00007f1a910056eb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #9 0x00007f1a8c9d86ba in start_thread (arg=0x7f1a79d66700) at pthread_create.c:333 #10 0x00007f1a9091241d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f1a964e88c0 (LWP 23969)): [KCrash Handler] #6 0x00007f1a920cd35b in QSplitter::indexOf(QWidget*) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #7 0x0000000000434768 in ?? () #8 0x0000000000417be9 in ?? () #9 0x00007f1a9120f489 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #10 0x00007f1a91f1c4a2 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #11 0x00007f1a91f1ec10 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #12 0x00007f1a91f1f634 in QAction::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #13 0x00007f1a91f22acc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #14 0x00007f1a91f2a417 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #15 0x00007f1a911e23c8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #16 0x00007f1a917a8fb6 in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #17 0x00007f1a917a9069 in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #18 0x00007f1a9175a956 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #19 0x00007f1a91777a94 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #20 0x00007f1a9177ce25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #21 0x00007f1a917568fb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #22 0x00007f1a832f71ab in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #23 0x00007f1a911e064a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007f1a911e9854 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x0000000000416c40 in ?? () #26 0x00007f1a9082b830 in __libc_start_main (main=0x416540, argc=1, argv=0x7ffcc632d368, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcc632d358) at ../csu/libc-start.c:291 #27 0x0000000000416cc9 in _start () Possible duplicates by query: bug 376335. Reported using DrKonqi
bug 392928 seems related/duplicate.
Created attachment 129592 [details] New crash information added by DrKonqi yakuake (3.0.5+) using Qt 5.15.0 - What I was doing when the application crashed: 1. Split Left/Right 2. Grow Terminal to Right Reproducible every time. - Custom settings of the application: "Grow Terminal to Right" is mapped to shortcut Ctrl+Shift+L -- Backtrace (Reduced): #4 0x00007f11255348ab in QSplitter::indexOf(QWidget*) const () from /usr/lib/libQt5Widgets.so.5 [...] #8 0x00007f1125380f23 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5 #9 0x00007f1125383805 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5 #10 0x00007f1125384448 in QAction::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #11 0x00007f1125387702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
Created attachment 131536 [details] New crash information added by DrKonqi yakuake (20.08.1) using Qt 5.15.0 - What I was doing when the application crashed: This bug is still present in Yakuake 20.08. Activating "grow terminal right/left/top/bottom" will crash the application on these conditions: 1) Allways INDEPENDENT of direction if the terminal has not been split 2) Allways on GROW RIGHT if the active terminal is the right-most terminal 3) Allways on GROW LEFT if the active terminal is the left-most terminal 4) Allways on GROW UP if the active terminal is the top-most terminal 5) Allways on GROW DOWN if the active terminal is the bottom-most terminal I explored further what happens when the terminal is not split yet and trying to grow the terminal to the right (case 1). in app/session.cpp, the method tryGrowTerminal(): On line ~341, The QWidget-pointer 'child' is assigned to the result of terminal->partWidget(): QWidget* child = terminal->partWidget(); Unfortunately, I do not have debugging symbols on QWidget, so I don't know the details, other than that the pointer seems to point to an valid QWidget object. Then, the execution will enter the wile loop at line ~343. It will execute once, assign int currentPos to a value (0, to be exact) from splitter->indexOfChild(child) which is inherited from QSplitter::indexOfChild(QWidget*). Then the currentPos != -1 check will fail in the if on line ~355, which means 'child 'will be repointed to the current 'splitter' on line ~371, which as an instance of a Splitter, a subclass of QSplitter. Also, splitter itself will be reassigned to its parentWidget on line ~372 (splitter->parentWidget()). Now, here comes to real issue. The while (splitter) loops continue once more. But this time, when it's trying to run splitter->indexOf(child) on line ~353, it will just SEGFAULT, with no further explanation. Unfortunately, I'm not able to rebuild QSplitter and QWidget with debugging symbols just to debug this issue furter, atm. So I hope someone else (a maintainer or a bug-squashing KDE core dev, perhaps) can try to hunt down this bug further. For other users, I can recommend disabling the grow terminal keyboard shortcuts so you don't accidentally trigger this bug. -- Backtrace (Reduced): #4 0x00007faccd64b8ab in QSplitter::indexOf(QWidget*) const () from /usr/lib/libQt5Widgets.so.5 #5 0x00005597a9fc2edc in Session::tryGrowTerminal (this=<optimized out>, terminalId=<optimized out>, direction=direction@entry=Session::Right, pixels=pixels@entry=10) at /home/makepkg/yakuake/trunk/src/yakuake-20.08.1/app/session.cpp:353 #6 0x00005597a9fbf588 in SessionStack::tryGrowTerminalRight (this=this@entry=0x5597ab68dae0, terminalId=<optimized out>, pixels=pixels@entry=10) at /usr/include/qt/QtCore/qhash.h:156 #7 0x00005597a9fa8275 in MainWindow::handleContextDependentAction (this=0x7fff22a5e6a0, action=0x5597ab746250, sessionId=<optimized out>) at /home/makepkg/yakuake/trunk/src/yakuake-20.08.1/app/mainwindow.cpp:515 [...] #9 0x00007faccd497f23 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version? If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
(In reply to Justin Zobel from comment #4) > Thank you for reporting this crash in KDE software. As it has been a while > since this issue was reported, can we please ask you to see if you can > reproduce the crash with a recent software version? > > If you can reproduce the issue, please change the status to "CONFIRMED" when > replying. Thank you! I just checked, an no crash for me any longer in 22.08.
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!