Application: konsole (3.90.900) (Compiled from sources) Qt Version: 5.4.0 Operating System: Linux 3.17.4-302.fc21.x86_64 x86_64 Distribution (Platform): Fedora RPMs -- Information about the crash: - What I was doing when the application crashed: * Konsole crashes very often when launching, almost everytime when createing new tab. Fedora 20/21 x86_64 Qt 5.4 branch from source latest at present kf5 and plasma-workspaces konsole are latest at present built them by kdesrc-build The crash can be reproduced sometimes. -- Backtrace: Application: Konsole (konsole), signal: Aborted Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f6be19438c0 (LWP 1591))] Thread 3 (Thread 0x7f6bd995e700 (LWP 1592)): #0 0x00007f6bed7d11dd in poll () at /lib64/libc.so.6 #1 0x00007f6beadca182 in _xcb_conn_wait () at /lib64/libxcb.so.1 #2 0x00007f6beadcbcff in xcb_wait_for_event () at /lib64/libxcb.so.1 #3 0x00007f6bdb30c049 in () at /opt/qt/5.4/plugins/platforms/libqxcb.so #4 0x00007f6bee3692cf in () at /opt/qt/5.4/lib/libQt5Core.so.5 #5 0x00007f6beb8c152a in start_thread () at /lib64/libpthread.so.0 #6 0x00007f6bed7dc77d in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f6bd02f3700 (LWP 1593)): #0 0x00007f6beb8c6590 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f6bd284440b in radeon_drm_cs_emit_ioctl () at /usr/lib64/dri/r600_dri.so #2 0x00007f6bd2843c97 in impl_thrd_routine () at /usr/lib64/dri/r600_dri.so #3 0x00007f6beb8c152a in start_thread () at /lib64/libpthread.so.0 #4 0x00007f6bed7dc77d in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f6be19438c0 (LWP 1591)): [KCrash Handler] #6 0x00007f6bed7108c7 in raise () at /lib64/libc.so.6 #7 0x00007f6bed71252a in abort () at /lib64/libc.so.6 #8 0x00007f6bee356e6c in QMessageLogger::fatal(char const*, ...) const () at /opt/qt/5.4/lib/libQt5Core.so.5 #9 0x00007f6bee352581 in () at /opt/qt/5.4/lib/libQt5Core.so.5 #10 0x00007f6bf445039b in QVector<unsigned char>::operator[](int) const (this=0x106be08, i=0) at /opt/qt/5.4/include/QtCore/qvector.h:392 #11 0x00007f6bf444ce25 in Konsole::TerminalDisplay::inputMethodQuery(Qt::InputMethodQuery) const (this=0x106bd50, query=Qt::ImSurroundingText) at /home/thashimo/devel/kf5/src/kde/applications/konsole/src/TerminalDisplay.cpp:2833 #12 0x00007f6beee99533 in QWidget::event(QEvent*) () at /opt/qt/5.4/lib/libQt5Widgets.so.5 #13 0x00007f6bf444d83d in Konsole::TerminalDisplay::event(QEvent*) (this=0x106bd50, event=0x7fffc1f3fdf0) at /home/thashimo/devel/kf5/src/kde/applications/konsole/src/TerminalDisplay.cpp:3040 #14 0x00007f6beee5865c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /opt/qt/5.4/lib/libQt5Widgets.so.5 #15 0x00007f6beee5d950 in QApplication::notify(QObject*, QEvent*) () at /opt/qt/5.4/lib/libQt5Widgets.so.5 #16 0x00007f6bee5458c3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /opt/qt/5.4/lib/libQt5Core.so.5 #17 0x00007f6bd8b0bf51 in () at /opt/qt/5.4/plugins/platforminputcontexts/libim-qimsys-qt5.so #18 0x00007f6bd8b10ace in () at /opt/qt/5.4/plugins/platforminputcontexts/libim-qimsys-qt5.so #19 0x00007f6bee8721e2 in QGuiApplicationPrivate::_q_updateFocusObject(QObject*) () at /opt/qt/5.4/lib/libQt5Gui.so.5 #20 0x00007f6bee573b59 in QMetaObject::activate(QObject*, int, int, void**) () at /opt/qt/5.4/lib/libQt5Core.so.5 #21 0x00007f6bee874cd2 in QWindow::focusObjectChanged(QObject*) () at /opt/qt/5.4/lib/libQt5Gui.so.5 #22 0x00007f6beee93f27 in QWidget::setFocus(Qt::FocusReason) () at /opt/qt/5.4/lib/libQt5Widgets.so.5 #23 0x00007f6beee5b4f2 in QApplication::setActiveWindow(QWidget*) () at /opt/qt/5.4/lib/libQt5Widgets.so.5 #24 0x00007f6beee5b603 in QApplicationPrivate::notifyActiveWindowChange(QWindow*) () at /opt/qt/5.4/lib/libQt5Widgets.so.5 #25 0x00007f6bee8725c5 in QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent*) () at /opt/qt/5.4/lib/libQt5Gui.so.5 #26 0x00007f6bee87284d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /opt/qt/5.4/lib/libQt5Gui.so.5 #27 0x00007f6bee8590ff in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /opt/qt/5.4/lib/libQt5Gui.so.5 #28 0x00007f6bdb34c450 in () at /opt/qt/5.4/plugins/platforms/libqxcb.so #29 0x00007f6bea464aeb in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #30 0x00007f6bea464e88 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 #31 0x00007f6bea464f3c in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #32 0x00007f6bee59a097 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /opt/qt/5.4/lib/libQt5Core.so.5 #33 0x00007f6bee5434c2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /opt/qt/5.4/lib/libQt5Core.so.5 #34 0x00007f6bee54aaed in QCoreApplication::exec() () at /opt/qt/5.4/lib/libQt5Core.so.5 #35 0x00007f6bf471770c in kdemain(int, char**) (argc=1, argv=0x7fffc1f40938) at /home/thashimo/devel/kf5/src/kde/applications/konsole/src/main.cpp:90 #36 0x0000000000400bb8 in main(int, char**) (argc=1, argv=0x7fffc1f40938) at /home/thashimo/devel/kf5/build/kde/applications/konsole/src/konsole_dummy.cpp:3 Reported using DrKonqi
I have investigated this issue and found out PlainTextDecoder::decodeLine() failed in TerminalDisplay.cpp:2830 ------ case Qt::ImSurroundingText: { // return the text from the current line QString lineText; QTextStream stream(&lineText); PlainTextDecoder decoder; decoder.begin(&stream); decoder.decodeLine(&_image[loc(0, cursorPos.y())], _usedColumns, _lineProperties[cursorPos.y()]); decoder.end(); return lineText; } ------- As I use qimsys, a Japanese input method written in Qt, TerminalDisplay::inputMethodQuery is called by event. I checked PlainTextDecoder::decodeLine() implements. I think it need not care if line property is LINE_DEFAULT of LINE_WRAPPED when launching konsole at present. I suggest a patch to fix LineProperty to 0(LINE_DEFAULT) in inputMethodQuery.
Created attachment 91230 [details] fix the line property to 0(LINE_DEFAULT)
Git commit 7986af1d253c409e34b2d7aeae7032fdaccb64e5 by Kurt Hindenburg. Committed on 28/02/2015 at 15:39. Pushed by hindenburg into branch 'master'. Prevent crashes upon startup and/or new tab when using input methods TerminalDisplay::inputMethodQuery causes crashes when using non-standard input methods. Qt::ImSurroundingText was trying to use lineProperties of the current line, but this parameter is ignored in decodeLine anyway. Thanks to Takahiro Hashimoto kenya888 gmail com for report, research and patch M +1 -1 src/TerminalDisplay.cpp http://commits.kde.org/konsole/7986af1d253c409e34b2d7aeae7032fdaccb64e5