Bug 331159 - System Settings crash when selecting new font if Neris font is currently set
Summary: System Settings crash when selecting new font if Neris font is currently set
Status: RESOLVED WORKSFORME
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_fonts (show other bugs)
Version: 4.12.2
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL: http://ge.tt/9bjUcAK1
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-15 15:07 UTC by Nathaniel
Modified: 2015-09-26 22:27 UTC (History)
4 users (show)

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


Attachments
Same video as linked in URL (472.47 KB, video/ogg)
2014-02-15 15:10 UTC, Nathaniel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nathaniel 2014-02-15 15:07:43 UTC
I downloaded and installed the free-as-in-beer Neris font (http://cargocollective.com/eimantas/Neris-1) and set it as my font in KDE; however, the system settings will reliably crash now if I try to change that font to anything else. There is a video of this issue at the URL I provided. Note that the Adjust All Fonts button triggers the crash as well.

If I'm understanding gdb's output correctly, the stack depth is well in excess of 10,000 which seems strange to me. Is that normal? Here's some of the stack dump:

#11120 0x00007ffff677a8f1 in QAbstractScrollAreaPrivate::layoutChildren() () from /usr/lib/libQtGui.so.4
#11121 0x00007ffff677bd9d in QAbstractScrollArea::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11122 0x00007ffff680e73b in QAbstractItemView::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11123 0x00007ffff63130dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11124 0x00007ffff63196a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11125 0x00007ffff703277a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#11126 0x00007ffff5698ebd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11127 0x00007ffff635e1c2 in QWidget::setContentsMargins(int, int, int, int) () from /usr/lib/libQtGui.so.4
#11128 0x00007ffff677aa5a in QAbstractScrollAreaPrivate::layoutChildren() () from /usr/lib/libQtGui.so.4
#11129 0x00007ffff682f76b in QListView::updateGeometries() () from /usr/lib/libQtGui.so.4
#11130 0x00007ffff63623e2 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11131 0x00007ffff66ff89e in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11132 0x00007ffff680ea83 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#11133 0x00007ffff5699026 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11134 0x00007ffff63130bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11135 0x00007ffff63196a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#11136 0x00007ffff703277a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#11137 0x00007ffff5698ebd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11138 0x00007ffff63a6a0e in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) () from /usr/lib/libQtGui.so.4
#11139 0x00007ffff635ab75 in QWidget::setGeometry(QRect const&) () from /usr/lib/libQtGui.so.4
#11140 0x00007ffff677a8f1 in QAbstractScrollAreaPrivate::layoutChildren() () from /usr/lib/libQtGui.so.4
#11141 0x00007ffff677bd9d in QAbstractScrollArea::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11142 0x00007ffff680e73b in QAbstractItemView::event(QEvent*) () from /usr/lib/libQtGui.so.4

The very top of the stack is more relevant and looks like so:
#0  0x00007ffff655c0f7 in QTextEngine::itemize() const () from /usr/lib/libQtGui.so.4
#1  0x00007ffff655d455 in QTextEngine::attributes() const () from /usr/lib/libQtGui.so.4
#2  0x00007ffff656b612 in QTextLine::layout_helper(int) () from /usr/lib/libQtGui.so.4
#3  0x00007ffff660722d in ?? () from /usr/lib/libQtGui.so.4
#4  0x00007ffff6607cf9 in ?? () from /usr/lib/libQtGui.so.4
#5  0x00007ffff66085b7 in QCommonStyle::sizeFromContents(QStyle::ContentsType, QStyleOption const*, QSize const&, QWidget const*) const () from /usr/lib/libQtGui.so.4
#6  0x00007fffe1afbe3c in ?? () from /usr/lib/kde4/plugins/styles/qtcurve.so
#7  0x00007ffff68a4282 in QStyledItemDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/libQtGui.so.4
#8  0x00007ffff6823155 in ?? () from /usr/lib/libQtGui.so.4
#9  0x00007ffff682f690 in QListView::updateGeometries() () from /usr/lib/libQtGui.so.4
#10 0x00007ffff63623e2 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#11 0x00007ffff66ff89e in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x00007ffff680ea83 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#13 0x00007ffff5699026 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#14 0x00007ffff63130bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x00007ffff63196a0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#16 0x00007ffff703277a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#17 0x00007ffff5698ebd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4

Sadly, I don't seem to have debug symbols. If there's an easier way than recompiling all of KDE/Qt to get those on Arch, let me know and I'll post a better stack trace.

It does occur to me (given the lack of K anywhere in the top of the stack) that this could be a Qt bug, but I'm not sure. If it is, let me know and I'll post to their bug tracker instead.

Reproducible: Always

Steps to Reproduce:
1. Set a font to Neris
2. Try to change the font
3. Watch the world burn
Actual Results:  
Systemsettings promptly crashes

Expected Results:  
Display a font selection dialog

I experienced this issue after selecting the Neris font. I do not know if that is the real cause, if other fonts cause it, etc. My system is now stuck in the Neris font, and I cannot change it via the GUI.
Comment 1 Nathaniel 2014-02-15 15:10:04 UTC
Created attachment 85165 [details]
Same video as linked in URL
Comment 2 Christoph Feck 2014-02-15 22:27:47 UTC
Can you reproduce when not using the QtCurve widget style?
Comment 3 Nathaniel 2014-02-15 22:35:20 UTC
I can reproduce using the Oxygen widget style.

I also determined that it is only the General font which causes this issue. I can set other fonts to Neris with no ill effect.
Comment 4 Albert Astals Cid 2015-09-26 09:07:39 UTC
I can not reproduce this crash with the following combinations
       systemsettings 5.4.1 + Qt 5.5.0
       systemsettings 5.3.2 + Qt 5.4.1

Can you still reproduce this crash?
Comment 5 Nathaniel 2015-09-26 18:24:06 UTC
Nope, I can no longer reproduce it.