Bug 188049

Summary: Konsole crashes on start ( QHash<int, Konsole::KeyboardTranslator::Entry>, Konsole::KeyboardTranslator::findEntry )
Product: [Applications] konsole Reporter: Tom Diehl <me>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED LATER    
Severity: crash CC: adaptee, robertknight
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Tom Diehl 2009-03-25 04:38:27 UTC
Version:            (using KDE 4.2.1)
OS:                Linux
Installed from:    Fedora RPMs

When I start konsole it crashes. Below is the debugging information:

Application: Konsole (konsole), signal SIGSEGV
0x0000003dbb2a7f50 in __nanosleep_nocancel () from /lib64/libc.so.6
Current language:  auto; currently c
[Current thread is 1 (Thread 0x7fcbb9e3a800 (LWP 7333))]

Thread 1 (Thread 0x7fcbb9e3a800 (LWP 7333)):
[KCrash Handler]
#5  QHash<int, Konsole::KeyboardTranslator::Entry>::findNode () at /usr/include/QtCore/qhash.h:856
#6  QHash<int, Konsole::KeyboardTranslator::Entry>::values () at /usr/include/QtCore/qhash.h:685
#7  Konsole::KeyboardTranslator::findEntry (this=0x0, keyCode=16777219, modifiers=) at /usr/src/debug/kdebase-4.2.1/apps/konsole/src/KeyboardTranslator.cpp:832
#8  0x0000003cbd6b497e in Konsole::Vt102Emulation::eraseChar (this=<value optimized out>) at /usr/src/debug/kdebase-4.2.1/apps/konsole/src/Vt102Emulation.cpp:1193
#9  0x0000003cbd681e7e in Konsole::Session::run (this=0x1b2bc60) at /usr/src/debug/kdebase-4.2.1/apps/konsole/src/Session.cpp:387
#10 0x0000003cbd6b7aee in Konsole::Application::createSession (this=<value optimized out>, profile=) at /usr/src/debug/kdebase-4.2.1/apps/konsole/src/Application.cpp:317
#11 0x0000003cbd6b808a in Konsole::Application::newInstance (this=0x7fffc1e71340) at /usr/src/debug/kdebase-4.2.1/apps/konsole/src/Application.cpp:127
#12 0x0000003cbce0d8b6 in KUniqueApplicationAdaptor::newInstance (this=0x1aea9e0, asn_id=<value optimized out>, args=@0x1ae5e50) at /usr/src/debug/kdelibs-4.2.1/kdeui/kernel/kuniqueapplication_p.h:77
#13 0x0000003cbce0bc82 in KUniqueApplicationAdaptor::qt_metacall (this=0x1aea9e0, _c=QMetaObject::InvokeMetaMethod, _id=-10326816, _a=0x7fffc1e705d0)
    at /usr/src/debug/kdelibs-4.2.1/x86_64-redhat-linux-gnu/kdeui/kuniqueapplication_p.moc:74
#14 0x00000038ffc22143 in QDBusConnectionPrivate::deliverCall (this=0x1a5b0f0, object=0x1aea9e0, msg=@0x1a63060, metaTypes=@0x7fffc1e706d8, slotIdx=4) at qdbusintegrator.cpp:849
#15 0x00000038ffc23354 in QDBusConnectionPrivate::activateCall (this=0x1a5b0f0, object=0x1aea9e0, flags=337, msg=@0x1a63060) at qdbusintegrator.cpp:754
#16 0x00000038ffc23a31 in QDBusConnectionPrivate::activateObject (this=0x1a5b0f0, node=@0x1a63038, msg=@0x1a63060, pathStartPos=<value optimized out>) at qdbusintegrator.cpp:1283
#17 0x00000038ffc23d48 in QDBusActivateObjectEvent::placeMetaCall (this=0x1a62ff0) at qdbusintegrator.cpp:1400
#18 0x00000038ff3513d5 in QObject::event (this=0x7fffc1e71340, e=0x1a62ff0) at kernel/qobject.cpp:1155
#19 0x0000003cbbd87fea in QApplication::event (this=0x7fffc1e71340, e=0x1a62ff0) at kernel/qapplication.cpp:2187
#20 0x0000003cbbd828dd in QApplicationPrivate::notify_helper (this=0x1a6fde0, receiver=0x7fffc1e71340, e=0x1a62ff0) at kernel/qapplication.cpp:3803
#21 0x0000003cbbd8a68a in QApplication::notify (this=0x7fffc1e71340, receiver=0x7fffc1e71340, e=0x1a62ff0) at kernel/qapplication.cpp:3768
#22 0x0000003cbce04f3b in KApplication::notify (this=0x7fffc1e71340, receiver=0x7fffc1e71340, event=0x1a62ff0) at /usr/src/debug/kdelibs-4.2.1/kdeui/kernel/kapplication.cpp:307
#23 0x00000038ff342391 in QCoreApplication::notifyInternal (this=0x7fffc1e71340, receiver=0x7fffc1e71340, event=0x1a62ff0) at kernel/qcoreapplication.cpp:587
#24 0x00000038ff34302a in QCoreApplication::sendEvent () at ../../src/corelib/kernel/qcoreapplication.h:209
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1a464a0) at kernel/qcoreapplication.cpp:1198
#26 0x00000038ff36ab13 in QCoreApplication::sendPostedEvents () at ../../src/corelib/kernel/qcoreapplication.h:214
#27 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:205
#28 0x000000329323779b in g_main_dispatch () at gmain.c:2144
#29 IA__g_main_context_dispatch (context=0x1a6ba20) at gmain.c:2697
#30 0x000000329323af6d in g_main_context_iterate (context=0x1a6ba20, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2778
#31 0x000000329323b12b in IA__g_main_context_iteration (context=0x1a6ba20, may_block=1) at gmain.c:2841
#32 0x00000038ff36a79f in QEventDispatcherGlib::processEvents (this=0x1a56660, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#33 0x0000003cbbe1328f in QGuiEventDispatcherGlib::processEvents (this=0x7fffc1e6fd80, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198
#34 0x00000038ff340cb2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:143
#35 0x00000038ff340e3d in QEventLoop::exec (this=0x7fffc1e71290, flags=) at kernel/qeventloop.cpp:194
#36 0x00000038ff3432ed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#37 0x0000003cbd6bceb4 in kdemain (argc=1, argv=0x7fffc1e71598) at /usr/src/debug/kdebase-4.2.1/apps/konsole/src/main.cpp:104
#38 0x0000003dbb21e576 in __libc_start_main (main=0x400800 <main>, argc=1, ubp_av=0x7fffc1e71598, init=0x400830 <__libc_csu_init>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fffc1e71588) at libc-start.c:220
#39 0x0000000000400739 in _start ()

In addition, it appears that this has something to do with my existing config files in ~/.kde. Before the upgrade, I had konsole setup to emulate a vt420pc term type. I found out that if I remove the line in ~/.kde/share/apps/konsole/Shell.profile that says KeyBindings=vt420pc then konsole will start up. The problem with this is that my backspace and del keybindings are wrong. I want backspace to send <ctrl-H> and delete to send an <ASCII DEL>. vt420pc emulation used to do that.

In my mind there are 2 problems with this. The first is that previous working configurations should not cause konsole to crash. The 2nd is that I can no longer see how to configure konsole to use the keybindings I have been using for the last 15+ years. Is this documented somewhere? If it is, the location is non-obvious to me, as looking at the kde documentation and google have not revealed it.
Comment 1 Robert Knight 2009-03-25 15:44:30 UTC
After adjusting the config files so that Konsole starts up, you can change the key bindings by going to Settings -> Edit Current Profile -> Input -> Edit...

Alternatively you can grab a copy of the VT420 key bindings file that used to be shipped with Konsole from http://websvn.kde.org/branches/KDE/4.1/kdebase/apps/konsole/data/keyboard-layouts/ .  Put the vt420pc.keytab file in /usr/share/apps/konsole

Confirming bug about existing settings causing a crash after upgrade.  In this case the VT420 file was removed because it apparently doesn't actually emulate a VT420 properly at all and there nobody was available to write a correct one.
Comment 2 Tom Diehl 2009-03-25 16:25:27 UTC
Thank You for the info. I got the the keymaps to work the way I needed by simply remapping the backspace and del keys. It would be nice if when I typed <ctrl H> in the keymap editor it actually echoed something back to the screen so that the user knew something was there. The only way I knew what I typed was captured was to exit the editor and test the keymap in the terminal to see If I got the results I wanted.

Thanks again!!
Comment 3 Jekyll Wu 2011-08-18 08:35:38 UTC
Can't reproduce it.

The problem of crashing when specified keymap is not found should have been fixed in recent version.