Summary: | Konsole crashes often | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Oded Arbel <oded> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | christoph, fanzhuyifan, kr.karov, m.costacano, maconics |
Priority: | NOR | Keywords: | drkonqi, qt6 |
Version: | 24.01.85 | ||
Target Milestone: | --- | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Oded Arbel
2024-01-04 19:29:10 UTC
This stack trace was generated with konsole-dbgsym from Neon installed (and the correct version). I don't know why the libkonsoleprivate debug symbols are missing. Humm so konsole crashes, but not plasmashell? There were a couple of reports on plasmashell crashing upon display configuration changes. (In reply to fanzhuyifan from comment #2) > Humm so konsole crashes, but not plasmashell? There were a couple of reports > on plasmashell crashing upon display configuration changes. That is correct. I actually don't think it is related to the display configuration changes - I've had a couple of more crashes after that, which looks to be the same stack trace, where display configuration was stable. I also had many crashes earlier in the same day, when the display configuration was not changed during a long session - but that was with an earlier build and I couldn't get debug symbols for that. Konsole has been surprisingly not as stable as I learned to expect in the last few days since I started running Plasma 6.0 beta 2. I will try to shake things up a bit more and get more crashes - though as Konsole is my main work tool (not kidding - I don't even use a browser as much), any such crash can be really troublesome... Any idea what to do about the libkonsoleprivate.so debug symbols? (In reply to Oded Arbel from comment #3) > Any idea what to do about the libkonsoleprivate.so debug symbols? You could try this: https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl (In reply to fanzhuyifan from comment #4) > (In reply to Oded Arbel from comment #3) > > Any idea what to do about the libkonsoleprivate.so debug symbols? > > You could try this: > https://community.kde.org/Guidelines_and_HOWTOs/Debugging/ > How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl Yea, this gives the same result as the Dr Konqi graphical reporting tool - the interesting part looks like this: ---8<--- #15 0x00007fec862a6f14 in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at ./src/corelib/global/qassert.cpp:68 #16 0x00007fec87887597 in ?? () from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 #17 0x00007fec87887437 in ?? () from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 #18 0x00007fec878a5324 in ?? () from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 #19 0x00007fec8622767e in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433 #20 doActivate<false> (sender=0x55886c861c20, signal_index=11, argv=0x7fff3faa5280) at ./src/corelib/kernel/qobject.cpp:4021 #21 0x00007fec87946733 in Konsole::TerminalDisplay::changedContentSizeSignal(int, int) () from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 #22 0x00007fec87939059 in Konsole::TerminalDisplay::updateImageSize() () from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 #23 0x00007fec8793c028 in Konsole::TerminalDisplay::resizeEvent(QResizeEvent*) () from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 #24 0x00007fec8742c3d8 in QWidget::event (this=0x55886c861c20, event=0x7fff3faa54b0) at ./src/widgets/kernel/qwidget.cpp:9153 ---8<--- so some code in libkonsoleprivate.so.24.01.85 causes an assert, but even though I have Konsole debug symbols installed - it shows up as "?? ()" while some other stuff from libkonsoleprivate.so.24.01.85 does get parsed... so... IDK. (In reply to Oded Arbel from comment #5) > (In reply to fanzhuyifan from comment #4) > > (In reply to Oded Arbel from comment #3) > > > Any idea what to do about the libkonsoleprivate.so debug symbols? > > > > You could try this: > > https://community.kde.org/Guidelines_and_HOWTOs/Debugging/ > > How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl > > Yea, this gives the same result as the Dr Konqi graphical reporting tool - > the interesting part looks like this: > > ---8<--- > #15 0x00007fec862a6f14 in qt_assert (assertion=<optimized out>, > file=<optimized out>, line=<optimized out>) at > ./src/corelib/global/qassert.cpp:68 > #16 0x00007fec87887597 in ?? () from > /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 > #17 0x00007fec87887437 in ?? () from > /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 > #18 0x00007fec878a5324 in ?? () from > /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 > #19 0x00007fec8622767e in QtPrivate::QSlotObjectBase::call (a=<optimized > out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, > r=<optimized out>, a=<optimized out>) at > ./src/corelib/kernel/qobjectdefs_impl.h:433 > #20 doActivate<false> (sender=0x55886c861c20, signal_index=11, > argv=0x7fff3faa5280) at ./src/corelib/kernel/qobject.cpp:4021 > #21 0x00007fec87946733 in > Konsole::TerminalDisplay::changedContentSizeSignal(int, int) () from > /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 > #22 0x00007fec87939059 in Konsole::TerminalDisplay::updateImageSize() () > from /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 > #23 0x00007fec8793c028 in > Konsole::TerminalDisplay::resizeEvent(QResizeEvent*) () from > /lib/x86_64-linux-gnu/libkonsoleprivate.so.24.01.85 > #24 0x00007fec8742c3d8 in QWidget::event (this=0x55886c861c20, > event=0x7fff3faa54b0) at ./src/widgets/kernel/qwidget.cpp:9153 > ---8<--- > > so some code in libkonsoleprivate.so.24.01.85 causes an assert, but even > though I have Konsole debug symbols installed - it shows up as "?? ()" while > some other stuff from libkonsoleprivate.so.24.01.85 does get parsed... so... > IDK. If you have set DEBUGINFOD_URLS="https://debuginfod.ubuntu.com", and answer Y when gdb asks to enable debuginfod, the debug symbols should be downloaded automatically.. (In reply to fanzhuyifan from comment #6) > If you have set DEBUGINFOD_URLS="https://debuginfod.ubuntu.com", and answer > Y when gdb asks to enable debuginfod, the debug symbols should be downloaded > automatically.. My DEBUGINFOD_URLS are set to "https://debuginfod.neon.kde.org/:https://debuginfod.ubuntu.com", and it did ask and I did answer, but I think it used the local debug symbols anyway. I don't think it matters though, because I looked again at the raw (non-demangled) core parsed dump, and the problematic libkonsoleprivate.so lines look like this: #11 0x00007fec87887597 n/a (libkonsoleprivate.so.24.01.85 + 0x87597) #12 0x00007fec87887437 n/a (libkonsoleprivate.so.24.01.85 + 0x87437) #13 0x00007fec878a5324 n/a (libkonsoleprivate.so.24.01.85 + 0xa5324) where the "n/a" part is where I'd expect the mangled names to appear. (In reply to Oded Arbel from comment #7) > My DEBUGINFOD_URLS are set to > "https://debuginfod.neon.kde.org/:https://debuginfod.ubuntu.com", and it did > ask and I did answer, but I think it used the local debug symbols anyway. It needs to be space separated, instead of colon separated https://sourceware.org/elfutils/Debuginfod.html Hmmm... I'm sure it tries to download missing files because I did see a download error: ---8<--- #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140653741082048) at ./nptl/pthread_kill.c:44 Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: No such file or directory. ---8<--- which is unrelated to the Konsole debug symbols. I tried to remove the konsole-dbgsym package and ran the coredumpctl gdb command again, and it took a bit more time but showed all the expected debug symbols (and still didn't show the symbols that weren't showing before) - so I believe that works and isn't the problem. I also tried with space separating the URLs and that did not change anything. Konsole keep crashing for me, after updates, but now it won't even let me report - Dr Konqi says there is no stack trace. Running Konsole from another terminal, I can see this output during the crash: ---8<--- org.kde.konsole: Controller changed to Konsole::SessionController(0x55a4734e3390) org.kde.konsole: HistoryFile: /proc/1686434/fd/62 ASSERT: "rc <= 0xffff" in file /usr/include/x86_64-linux-gnu/qt6/QtCore/qchar.h, line 79 KCrash: Application 'konsole' crashing... crashRecursionCounter = 2 Aborted (core dumped) ---8<--- Also, I found a reliable repro - Konsole always crashes when it is full screen and the screen it is on disconnects so it is moved to one of the existing screens. Sometimes it crashes when disconnected screen returns and I move it to the new screen. This could be related to the fact that my external screens (that disconnect and reconnect) are vertical (portrait orientation). (In reply to Oded Arbel from comment #10) > Konsole keep crashing for me, after updates, but now it won't even let me > report - Dr Konqi says there is no stack trace. If Dr. Konqi doesn't work, could you try using coredumpctl to generate a backtrace with debug symbols? > Also, I found a reliable repro - Konsole always crashes when it is full > screen and the screen it is on disconnects so it is moved to one of the > existing screens. Sometimes it crashes when disconnected screen returns and > I move it to the new screen. > > This could be related to the fact that my external screens (that disconnect > and reconnect) are vertical (portrait orientation). Thanks for your investigation! Unfortunately I cannot reproduce on master. I maximize konsole on my external monitor, and disconnect and reconnect it. I tried both setting the external display to portrait mode and landscape mode, but in neither case does konsole crash.. It would be great if you could help narrow down the cause of the issue further -- here are some possible ideas: - does this only happen for certain display resolutions/scaling factors? - Are panels on the external monitor a necessary ingredient? - maybe the display arrangement also matters? Thanks again! (In reply to fanzhuyifan from comment #11) > If Dr. Konqi doesn't work, could you try using coredumpctl to generate a > backtrace with debug symbols? Unfortunately `coredumpctl list` does not show a Konsole core dump. (In reply to fanzhuyifan from comment #12) > It would be great if you could help narrow down the cause of the issue > further -- here are some possible ideas: > - does this only happen for certain display resolutions/scaling factors? I have two different setups - one with a 1920x1200 external vertical monitor at 100% scaling, the other having two UHD vertical monitors at 125% scaling. It happened in both. > - Are panels on the external monitor a necessary ingredient? There are no panels on either external monitor. > - maybe the display arrangement also matters? Possibly - in both setups the vertical screens are to the left of the horizontal screen (that is set as the primary with the single default panel) - which is a configuration Plasma appears to think is non-intuitive. *** Bug 466775 has been marked as a duplicate of this bug. *** *** Bug 481208 has been marked as a duplicate of this bug. *** *** Bug 436400 has been marked as a duplicate of this bug. *** Thread 1 (Thread 0x7f9e4cbf3280 (LWP 27236)): [KCrash Handler] #4 0x00007f9de3dd2af4 in Konsole::CompactHistoryLine::CompactHistoryLine (this=0x7f9dcfd90ea0, line=..., bList=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:147 #5 0x00007f9de3dd378a in Konsole::CompactHistoryScroll::setCellsVectorAt (this=0x5600a5ce9750, position=2772, cells=...) at ./src/history/compact/CompactHistoryScroll.cpp:132 #6 0x00007f9de3dd2f15 in Konsole::CompactHistoryScroll::setCellsAt (this=0x5600a5ce9750, position=2772, a=0x7f9dcfb10028, count=65610) at ./src/history/compact/CompactHistoryScroll.cpp:127 #7 0x00007f9de3dd3367 in Konsole::CompactHistoryScroll::reflowLines (this=0x5600a5ce9750, columns=167) at ./src/history/compact/CompactHistoryScroll.cpp:181 #8 0x00007f9de3daaf39 in Konsole::Screen::resizeImage (this=0x5600a5a3a930, new_lines=new_lines@entry=25, new_columns=new_columns@entry=167) at ./src/Screen.cpp:451 #9 0x00007f9de3d97b30 in Konsole::Emulation::setImageSize (this=0x5600a5ce0440, lines=25, columns=167) at ./src/Emulation.cpp:317 #10 0x00007f9e5140c6fe in QtPrivate::QSlotObjectBase::call (a=0x7ffcf6b45920, r=0x5600a5cdfaf0, this=0x5600a5d73730) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #11 doActivate<false> (sender=0x5600a5c380e0, signal_index=11, argv=0x7ffcf6b45920) at kernel/qobject.cpp:3886 #12 0x00007f9e51405ac7 in QMetaObject::activate (sender=sender@entry=0x5600a5c380e0, m=m@entry=0x7f9de3ec4d00 <Konsole::TerminalDisplay::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7ffcf6b45920) at kernel/qobject.cpp:3946 #13 0x00007f9de3d87603 in Konsole::TerminalDisplay::changedContentSizeSignal (this=this@entry=0x5600a5c380e0, _t1=<optimized out>, _t2=<optimized out>) at ./obj-x86_64-linux-gnu/src/konsoleprivate_autogen/DRAQINE3W2/moc_TerminalDisplay.cpp:574 #14 0x00007f9de3df9f22 in Konsole::TerminalDisplay::updateImageSize (this=this@entry=0x5600a5c380e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:269 #15 0x00007f9de3e01f18 in Konsole::TerminalDisplay::resizeEvent (this=0x5600a5c380e0, event=<optimized out>) at ./src/terminalDisplay/TerminalDisplay.cpp:962 #16 0x00007f9e51ef028f in QWidget::event (this=0x5600a5c380e0, event=0x7ffcf6b45d00) at kernel/qwidget.cpp:8804 #17 0x00007f9e51eacdc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5600a5c380e0, e=0x7ffcf6b45d00) at kernel/qapplication.cpp:3632 #18 0x00007f9e51eb5bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156 from bug 436400 looks interesting as hint I can not reproduce any crashes with 24.08.x If somebody can reproduce it and get some backtrace for that or a more up to date version, please re-open. I hadn't had a crash for a long time now, now on 24.08.3. lets put this thing to rest, until I find some new crashes :-) |