Bug 357180 - Segfault after trying to select unreadably small text in konsole 15.12
Summary: Segfault after trying to select unreadably small text in konsole 15.12
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-12-26 16:42 UTC by Paul Konecny
Modified: 2017-02-13 00:27 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Screencast showing the text glitch and segfault (1.67 MB, video/webm)
2015-12-26 16:44 UTC, Paul Konecny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Konecny 2015-12-26 16:42:53 UTC
Application: konsole (15.12.0)

Qt Version: 5.5.1
Operating System: Linux 4.2.5-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
Trying to select any text because after a recent Arch update I can only see very small white dots isntead of text.
- Unusual behavior I noticed:
The unreadably small (?) text. I can't even resize it. Trying to select anything with the mouse causes this segfault. See attached screencast.
- Custom settings of the application:
None that I know of.

The crash can be reproduced every time.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8107d1e840 (LWP 3912))]

Thread 2 (Thread 0x7f80fc358700 (LWP 3914)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f80ff9b6b33 in ?? () from /usr/lib/xorg/modules/dri/radeonsi_dri.so
#2  0x00007f80ff9b6287 in ?? () from /usr/lib/xorg/modules/dri/radeonsi_dri.so
#3  0x00007f8112f664a4 in start_thread (arg=0x7f80fc358700) at pthread_create.c:334
#4  0x00007f811ac5113d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f8107d1e840 (LWP 3912)):
[KCrash Handler]
#5  0x00007f811a8c4d6c in Konsole::Screen::copyLineToStream (this=this@entry=0xbe79a0, line=line@entry=594, start=0, count=1658, count@entry=-1, decoder=decoder@entry=0x7ffc0a24ac00, appendNewLine=appendNewLine@entry=true, preserveLineBreaks=true, trimTrailingSpaces=false) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/Screen.cpp:1273
#6  0x00007f811a8c51b1 in Konsole::Screen::writeToStream (this=this@entry=0xbe79a0, decoder=decoder@entry=0x7ffc0a24ac00, startIndex=startIndex@entry=984175, endIndex=endIndex@entry=987495, preserveLineBreaks=preserveLineBreaks@entry=true, trimTrailingSpaces=trimTrailingSpaces@entry=false) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/Screen.cpp:1184
#7  0x00007f811a8c5ef0 in Konsole::Screen::text (this=0xbe79a0, startIndex=984175, endIndex=987495, preserveLineBreaks=preserveLineBreaks@entry=true, trimTrailingSpaces=trimTrailingSpaces@entry=false, html=false) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/Screen.cpp:1137
#8  0x00007f811a8c5fba in Konsole::Screen::selectedText (this=<optimized out>, preserveLineBreaks=preserveLineBreaks@entry=true, trimTrailingSpaces=trimTrailingSpaces@entry=false, html=html@entry=false) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/Screen.cpp:1115
#9  0x00007f811a8929cf in Konsole::Emulation::checkSelectedText (this=0xc15380) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/Emulation.cpp:98
#10 0x00007f81177231a7 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#11 0x00007f811a8f55d6 in Konsole::TerminalDisplay::extendSelection (this=this@entry=0xdaf400, position=...) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/TerminalDisplay.cpp:2295
#12 0x00007f811a8f29ea in Konsole::TerminalDisplay::mouseMoveEvent (this=0xdaf400, ev=0x7ffc0a24b3a0) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/TerminalDisplay.cpp:2134
#13 0x00007f811802a9c8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007f811a8f975a in Konsole::TerminalDisplay::event (this=0xdaf400, event=0x7ffc0a24b3a0) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/TerminalDisplay.cpp:3151
#15 0x00007f8117fe79ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007f8117fed589 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007f81176f4bab in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#18 0x00007f8117fec492 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007f8118044f3b in ?? () from /usr/lib/libQt5Widgets.so.5
#20 0x00007f81180474fb in ?? () from /usr/lib/libQt5Widgets.so.5
#21 0x00007f8117fe79ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#22 0x00007f8117fece86 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#23 0x00007f81176f4bab in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#24 0x00007f8117a355f1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#25 0x00007f8117a372b5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#26 0x00007f8117a1c6d8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#27 0x00007f81078bd8c0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#28 0x00007f8112832dc7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x00007f8112833020 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007f81128330cc in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x00007f811774b54f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#32 0x00007f81176f257a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#33 0x00007f81176fa53c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#34 0x00007f811af3554c in kdemain (argc=1, argv=0x7ffc0a24bda8) at /home/paul/rebuild/konsole/src/konsole-15.12.0/src/main.cpp:125
#35 0x00007f811ab88610 in __libc_start_main (main=0x400750 <main(int, char**)>, argc=1, argv=0x7ffc0a24bda8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc0a24bd98) at libc-start.c:289
#36 0x0000000000400789 in _start () at ../sysdeps/x86_64/start.S:118

Possible duplicates by query: bug 330066.

Reported using DrKonqi
Comment 1 Paul Konecny 2015-12-26 16:44:51 UTC
Created attachment 96302 [details]
Screencast showing the text glitch and segfault
Comment 2 Paul Konecny 2016-01-11 00:26:45 UTC
I found the reason for the unreadable  text. 
Turns out it is related to the recent change from the Oxygen to the Noto font.
Setting another font in the profile preferences solved this.  
I can't reproduce the segfault anymore but maybe it would be useful to protect against a missing profile font.
Comment 3 Kurt Hindenburg 2017-02-12 02:46:01 UTC
I can't reproduce - please update and let us know if you still have issues.
Comment 4 Paul Konecny 2017-02-13 00:27:35 UTC
As I said in my previous comment, the problem was, that the oxygen font was replaced by the noto one. Konsole had Oxygen set a default which was no longer there as it got deleted due to a packaging change. Switching the default font to some other font fixed the issue. 
I think a similar problem can be avoided in the future by letting Konsole fall back to another font if the one selected is no longer available.