Bug 297877 - Konsole crashing with specialized title strings
Summary: Konsole crashing with specialized title strings
Status: RESOLVED DUPLICATE of bug 297156
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-11 00:28 UTC by wjhns25
Modified: 2012-04-20 18:20 UTC (History)
1 user (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 wjhns25 2012-04-11 00:28:18 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Build Identifier: 

I have a special title string set (normal: "|- %n", remote: "|- %h") and occasionally konsole crashes quite possibly right as the title would normally be changing from one value to the other (not necessarily normal to remote, but normal to normal too but as the application name changes).  Debug trace below indicates a QString failure probably because one is a null string?


#6  0x0000003d6dac6397 in QString::operator=(QString const&) () from /usr/lib64/libQtCore.so.4
#7  0x00000034fd878a94 in ?? () from /usr/lib64/libkonsoleprivate.so
#8  0x00000034fd8894dd in Konsole::Session::getDynamicTitle() () from /usr/lib64/libkonsoleprivate.so
#9  0x00000034fd892b75 in Konsole::SessionController::snapshot() () from /usr/lib64/libkonsoleprivate.so
#10 0x00000034fd897e6a in ?? () from /usr/lib64/libkonsoleprivate.so
#11 0x0000003d6db8cce1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#12 0x0000003d6db91c49 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#13 0x0000003d701c9994 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#14 0x0000003d701ce813 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00000034fb451d56 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#16 0x0000003d6db7904c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4


Reproducible: Sometimes

Steps to Reproduce:
1. I wish I knew exact steps.  It does, however, almost always seem to occur right when a command is finishing it's execution phase and shifting back to the "waiting" mode of the shell.
2.
3.
Actual Results:  
kaboom

Expected Results:  
a shell prompt (not-kaboom)
Comment 1 Jekyll Wu 2012-04-11 00:55:35 UTC
Thanks for reporting. 

I haven't managed to reproduce it so far.

What is the exact version of konsole and KDE?  Please paste the result of "LANG=en konsole --version" .

Do you have the debuginfo installed? The backtrace seems to miss some important information.
Comment 2 wjhns25 2012-04-11 15:02:09 UTC
Qt: 4.8.0
KDE Development Platform: 4.8.1 (4.8.1)
Konsole: 2.8.1
(fedora 16 rpms)

I actually had installed the debug info but I think the fedora packaging doesn't have a debug compile for konsole itself (just the kde stuff above it).

I don't think reproducing it will be easy.  It only happens once every other day or so and I think it's a timing issue.  EG, maybe a slot is getting fired right when the application name goes to empty or something.  I'm guessing randomly, as I haven't looked at the konsole code at all.

[you know, somewhere there is a new tool waiting to be written that lets programmers not only have the debug stuff but also a stack trace and pulls the right file from the web and shows them exactly where it crashed, variables, and lets them create a possible patch at the same time.  The biggest problem with looking at new code is getting it and finding the right place to look]
Comment 3 Jekyll Wu 2012-04-12 00:28:58 UTC
OK, hope I can reproduce it in the comming days.

Another question is: does konsole crash more often when using that specific tab title format than using other tab title formats ?

Actually, I think fedora does ship the debugging symbols and correspoding code of konsole in the package named as konsole-debuginfo. Did you enable the corresponding repository?
Comment 4 wjhns25 2012-04-12 15:13:21 UTC
Good question, I'm not positive.  The problem is that I changed the title format at a time very near when I also had done an update to Fedora itself.  So it could, in theory, be the version number change.  But there was enough of a gap between the fedora upgrade to the title change that I'm pretty sure it's the title change.

Re Fedora: normally you'd be right.  Except that doesn't seem to be the case for the konsole packaging (which is odd).  These are the only konsole repos:

konsole-part.x86_64 : Konsole kpart plugin
quadkonsole.x86_64 : Embeds Konsole kparts in a grid layout
konsole.x86_64 : KDE Terminal emulator
Comment 5 Jekyll Wu 2012-04-12 15:34:56 UTC
You need to enable the Debug repository to see and get the konsole-debuginfo package, like this one: http://mirrors.163.com/fedora/releases/16/Everything/i386/debug/konsole-debuginfo-4.7.2-1.fc16.i686.rpm 

I only use fedora occasionally for testing, so I'm not sure the recommended way of enabling it . I myself just play with /etc/yum.repos.d/fedora*.repo
Comment 6 wjhns25 2012-04-12 15:44:16 UTC
Found it...  my updates-debug repo was disabled.  I'll go install it and hopefully get a better backtrace, thanks.
Comment 7 wjhns25 2012-04-15 16:26:31 UTC
Got a better stack trace, that points to the SSH half of things:


Application: Konsole (konsole), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#6  0x0000003d6dac6397 in QString::operator=(QString const&) () from /usr/lib64/libQtCore.so.4
#7  0x00000034fd878a94 in Konsole::SSHProcessInfo::SSHProcessInfo (this=0x7fffa32da950, process=<optimized out>) at /usr/src/debug/konsole-4.8.1/src/ProcessInfo.cpp:1043
#8  0x00000034fd8894dd in Konsole::Session::getDynamicTitle (this=0xf1fa50) at /usr/src/debug/konsole-4.8.1/src/Session.cpp:1005
#9  0x00000034fd892b75 in Konsole::SessionController::snapshot (this=0x11bc7d0) at /usr/src/debug/konsole-4.8.1/src/SessionController.cpp:204
#10 0x00000034fd897e6a in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at /usr/src/debug/konsole-4.8.1/x86_64-redhat-linux-gnu/src/SessionController.moc:164
#11 Konsole::SessionController::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/konsole-4.8.1/x86_64-redhat-linux-gnu/src/SessionController.moc:121
#12 0x0000003d6db8cce1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#13 0x0000003d6db91c49 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#14 0x0000003d701c9994 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x0000003d701ce813 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#16 0x00000034fb451d56 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#17 0x0000003d6db7904c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#18 0x0000003d6dba9b52 in ?? () from /usr/lib64/libQtCore.so.4
#19 0x0000003d6dba752d in ?? () from /usr/lib64/libQtCore.so.4
#20 0x0000003d6dba7551 in ?? () from /usr/lib64/libQtCore.so.4
#21 0x000000366ac44acd in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#22 0x000000366ac452c8 in ?? () from /lib64/libglib-2.0.so.0
#23 0x000000366ac4549c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#24 0x0000003d6dba7d5f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#25 0x0000003d7026c66e in ?? () from /usr/lib64/libQtGui.so.4
#26 0x0000003d6db78182 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#27 0x0000003d6db783d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#28 0x0000003d6db7cdd5 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#29 0x00000034fd413fd2 in kdemain (argc=5, argv=0x7fffa32db7d8) at /usr/src/debug/konsole-4.8.1/src/main.cpp:89
#30 0x000000366b02169d in __libc_start_main () from /lib64/libc.so.6
#31 0x00000000004007b1 in _start ()
Comment 8 Jekyll Wu 2012-04-15 16:45:23 UTC
(In reply to comment #7)
> Got a better stack trace, that points to the SSH half of things:

Thanks for the backtrace.  This crash looks like the same as the one in bug 27156 (fixed in 4.8.2). 

What is the exact form of the executed ssh command?
Comment 9 wjhns25 2012-04-15 17:06:13 UTC
I actually don't know the command executed.  That's actually the problem, as I rarely remember when it crashes what caused it as it doesn't seem directly tied to just what I was doing.  I suspect it may have been a remote 'ssh somewhere do_something' command that had just ended.
Comment 10 wjhns25 2012-04-15 17:07:23 UTC
PS the bug you linked to was in kmail, not konsole?
Comment 11 Jekyll Wu 2012-04-15 17:18:09 UTC
(In reply to comment #10)
> PS the bug you linked to was in kmail, not konsole?

Sorry, missing one digit. Should be bug  297156.
Comment 12 Jekyll Wu 2012-04-20 06:51:53 UTC
I'm makring this as duplicate of bug 297156, because I'm quite sure they are caused by the same problem. Please try to upgrade to konsole 2.8.2

*** This bug has been marked as a duplicate of bug 297156 ***
Comment 13 wjhns25 2012-04-20 18:20:32 UTC
Ok, thanks and I appreciate the help (and the wonderful k/console!)