Bug 281621 - Crash when logging in to a certain server over ssh
Summary: Crash when logging in to a certain server over ssh
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: CVS
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-08 13:36 UTC by Leo Franchi
Modified: 2011-09-09 20:15 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 Leo Franchi 2011-09-08 13:36:08 UTC
Version:           CVS (using Devel) 
OS:                Linux

I have a 100% reproducable konsole crash when i log in to this one particular server over SSH. No other servers exhibit this issue, but this one server is 100% reproduceable.

I'm not sure if it requires credentials to crash, but here's the (publically accessible) server:

ssh foobar@bakery.tomahawk-player.org -p10422

Backtrace:


Application: Konsole (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0x7fbfdbb80760 (LWP 17351))]

Thread 2 (Thread 0x7fbfc65e0700 (LWP 17797)):
#0  0x00007fbfd829e093 in select () from /lib/libc.so.6
#1  0x00007fbfda318c60 in QProcessManager::run (this=0x7fbfda6fa280) at io/qprocess_unix.cpp:244
#2  0x00007fbfda214d84 in QThreadPrivate::start (arg=0x7fbfda6fa280) at thread/qthread_unix.cpp:298
#3  0x00007fbfd9f59d60 in start_thread () from /lib/libpthread.so.0
#4  0x00007fbfd82a425d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fbfdbb80760 (LWP 17351)):
[KCrash Handler]
#6  0x00007fbfd8205725 in raise () from /lib/libc.so.6
#7  0x00007fbfd8206b9b in abort () from /lib/libc.so.6
#8  0x00007fbfda207d23 in qt_message_output (msgType=QtFatalMsg, buf=0x217fd28 "ASSERT failure in QVector<T>::operator[]: \"index out of range\", file /home/leo/qt/4.8/include/QtCore/qvector.h, line 355") at global/qglobal.cpp:2255
#9  0x00007fbfda207e96 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7fbfda3c8930 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=0x7fff6282f7c8) at global/qglobal.cpp:2301
#10 0x00007fbfda208626 in qFatal (msg=0x7fbfda3c8930 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2484
#11 0x00007fbfda207927 in qt_assert_x (where=0x7fbfd14178b2 "QVector<T>::operator[]", what=0x7fbfd1417860 "index out of range", file=0x7fbfd1417888 "/home/leo/qt/4.8/include/QtCore/qvector.h", line=355) at global/qglobal.cpp:2007
#12 0x00007fbfd13b14fb in QVector<QString>::operator[] (this=0x7fff6282f980, i=3) at /home/leo/qt/4.8/include/QtCore/qvector.h:355
#13 0x00007fbfd13af571 in Konsole::SSHProcessInfo::SSHProcessInfo (this=0x7fff6282fa70, process=...) at /home/leo/kde/src/konsole/src/ProcessInfo.cpp:1037
#14 0x00007fbfd13c4beb in Konsole::Session::getDynamicTitle (this=0x1feb670) at /home/leo/kde/src/konsole/src/Session.cpp:942
#15 0x00007fbfd13ca643 in Konsole::SessionController::snapshot (this=0x216fd00) at /home/leo/kde/src/konsole/src/SessionController.cpp:212
#16 0x00007fbfd13d2535 in Konsole::SessionController::qt_static_metacall (_o=0x216fd00, _c=QMetaObject::InvokeMetaMethod, _id=36, _a=0x7fff6282fc50) at /home/leo/kde/build/konsole/src/SessionController.moc:163
#17 0x00007fbfda363aba in QMetaObject::activate (sender=0x2189970, m=0x7fbfda6f3ce0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3546
#18 0x00007fbfda3c49bb in QTimer::timeout (this=0x2189970) at .moc/debug-shared/moc_qtimer.cpp:148
#19 0x00007fbfda36ccb3 in QTimer::timerEvent (this=0x2189970, e=0x7fff62830650) at kernel/qtimer.cpp:280
#20 0x00007fbfda35e5e4 in QObject::event (this=0x2189970, e=0x7fff62830650) at kernel/qobject.cpp:1156
#21 0x00007fbfd91a03ea in QApplicationPrivate::notify_helper (this=0x1ee11d0, receiver=0x2189970, e=0x7fff62830650) at kernel/qapplication.cpp:4499
#22 0x00007fbfd919da26 in QApplication::notify (this=0x7fff62830a60, receiver=0x2189970, e=0x7fff62830650) at kernel/qapplication.cpp:3881
#23 0x00007fbfdb4bd267 in KApplication::notify (this=0x7fff62830a60, receiver=0x2189970, event=0x7fff62830650) at /home/leo/kde/src/kdelibs/kdeui/kernel/kapplication.cpp:311
#24 0x00007fbfda345a66 in QCoreApplication::notifyInternal (this=0x7fff62830a60, receiver=0x2189970, event=0x7fff62830650) at kernel/qcoreapplication.cpp:853
#25 0x00007fbfda349561 in QCoreApplication::sendEvent (receiver=0x2189970, event=0x7fff62830650) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#26 0x00007fbfda384a77 in QTimerInfoList::activateTimers (this=0x1edf690) at kernel/qeventdispatcher_unix.cpp:611
#27 0x00007fbfda380dba in timerSourceDispatch (source=0x1edf630) at kernel/qeventdispatcher_glib.cpp:186
#28 0x00007fbfda380ea1 in idleTimerSourceDispatch (source=0x1edf6f0) at kernel/qeventdispatcher_glib.cpp:233
#29 0x00007fbfd4aef29d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007fbfd4aefa78 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007fbfd4aefd09 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007fbfda38186f in QEventDispatcherGlib::processEvents (this=0x1ee1050, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#33 0x00007fbfd927711c in QGuiEventDispatcherGlib::processEvents (this=0x1ee1050, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007fbfda343330 in QEventLoop::processEvents (this=0x7fff628309d0, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007fbfda3434ba in QEventLoop::exec (this=0x7fff628309d0, flags=...) at kernel/qeventloop.cpp:204
#36 0x00007fbfda3460e6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1125
#37 0x00007fbfd919d610 in QApplication::exec () at kernel/qapplication.cpp:3760
#38 0x00007fbfd1678179 in kdemain (argc=1, argv=0x1e349c0) at /home/leo/kde/src/konsole/src/main.cpp:89
#39 0x0000000000407383 in launch (argc=1, _name=0x1e714b8 "/home/leo/kde/bin/konsole", args=0x1e714d2 "\001", cwd=0x0, envc=1, envs=0x1e714e5 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x1e714ed "antiphon;1315488492;351458;2944_TIME406359495") at /home/leo/kde/src/kdelibs/kinit/kinit.cpp:734
#40 0x0000000000408491 in handle_launcher_request (sock=7, who=0x40dac4 "launcher") at /home/leo/kde/src/kdelibs/kinit/kinit.cpp:1226
#41 0x0000000000408d44 in handle_requests (waitForPid=0) at /home/leo/kde/src/kdelibs/kinit/kinit.cpp:1419
#42 0x000000000040a813 in main (argc=2, argv=0x7fff62831738, envp=0x7fff62831750) at /home/leo/kde/src/kdelibs/kinit/kinit.cpp:1907


Reproducible: Always

Steps to Reproduce:
open konsole.
`ssh foobar@bakery.tomahawk-player.org -p10422`


Expected Results:  
Not crash :)
Comment 1 Jekyll Wu 2011-09-08 13:57:29 UTC
Looks like this crash can only be triggered after login.

My guess is the final '-p10422' causes the crash, because the code currently only expects the form of '-p 10422'. Could you please try that?

It is sad that the crash happens somewhere I recently added :(
Comment 2 Jekyll Wu 2011-09-09 13:23:47 UTC
Git commit c4ab3d6c6d0cb460128a9944c16d7f6e153d728f by Jekyll Wu.
Committed on 08/09/2011 at 17:45.
Pushed by jekyllwu into branch 'master'.

Make the parsing of ssh command more robust, or more complicated.

It now can deal with both '-p 2222' and '-p2222'.

This is a follow up of 869cdb1090c5ea3e16a5b2f11276ffcabd09a982

CCBUG: 281621

M  +19   -5    src/ProcessInfo.cpp

http://commits.kde.org/konsole/c4ab3d6c6d0cb460128a9944c16d7f6e153d728f
Comment 3 Jekyll Wu 2011-09-09 13:26:38 UTC
That recent commit should avoid such crash. If this still happens, feel free to reopen it.
Comment 4 Leo Franchi 2011-09-09 20:15:25 UTC
Cheers, thanks!