[Development] Fwd: [Qt bugreports] (QTBUG-46505) assertion failure (=> crash) in harfbuzz-shaper
René J.V. Bertin
rjvbertin at gmail.com
Fri Jun 5 21:45:37 CEST 2015
Hi,
As asked in the bug report below: is it necessary to handle this situation with an assert/abort, instead of simply returning (with whatever error the void function in question can return)?
Thanks,
René
---------- Forwarded Message ----------
Subject: [Qt bugreports] (QTBUG-46505) assertion failure (=> crash) in harfbuzz-shaper
Date: Friday June 05 2015, 17:12:15
From: René Bertin (via JIRA) <jira-noreply at qt-project.org>
To: rjvbertin at gmail.com
René Bertin created an issue
Qt / QTBUG-46505
assertion failure (=> crash) in harfbuzz-shaper
Issue Type: Bug
Affects Versions: 4.8.7
Assignee: Thiago Macieira
Components: Core: Other
Created: 05/Jun/15 5:12 PM
Environment:
OS X 10.9.5 with Qt 4.8.7 built through a custom MacPorts port
Priority: Not Evaluated
Reporter: René Bertin
I've run twice in succession into an assertion failure in harfbuzz-shaper.cpp line 484 . Sadly I cannot determine what combination of text and font cause the issue.
Is it necessary to abort here, or are there more graceful ways to handle the error?
I'm using the harfbuzz library from MacPorts, version 0.9.40 .
Code Type: X86-64 (Native)
Parent Process: tcsh [95718]
Responsible: Terminal [936]
User ID: 505
Date/Time: 2015-06-05 18:47:31.627 +0200
OS Version: Mac OS X 10.9.5 (13F1077)
Report Version: 11
Anonymous UUID: 64B814D9-356F-6F85-8341-E17C1354A330
Sleep/Wake UUID: 69ABB6DD-3D80-4B02-9FCF-EF5D156F2919
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
Assertion failed: (glyph_pos == item->num_glyphs), function HB_HeuristicSetGlyphAttributes, file ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp, line 484.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8dcee292 __kill + 10
1 libkdeui.5.dylib 0x0000000106a72706 KCrash::defaultCrashHandler(int) + 326 (kcrash.cpp:352)
2 libsystem_platform.dylib 0x00007fff865665aa _sigtramp + 26
3 ??? 000000000000000000 0 + 0
4 libsystem_c.dylib 0x00007fff91d85b1a abort + 125
5 libsystem_c.dylib 0x00007fff91d4f9bf __assert_rtn + 321
6 QtCore 0x0000000108206fee HB_HeuristicSetGlyphAttributes + 1102
7 QtCore 0x0000000108207092 HB_BasicShape + 82 (harfbuzz-shaper.cpp:618)
8 QtCore 0x00000001082082b1 HB_ShapeItem + 49 (harfbuzz-shaper.cpp:1420)
9 QtGui 0x0000000107228709 QTextEngine::shapeTextWithHarfbuzz(int) const + 3177 (qtextengine.cpp:1342)
10 QtGui 0x0000000107229b7a QTextEngine::shapeText(int) const + 186 (qtextengine.cpp:924)
11 QtGui 0x0000000107229ab0 QTextEngine::shape(int) const + 576 (qtextengine.cpp:1452)
12 QtGui 0x000000010722d4f9 QTextEngine::width(int, int) const + 537 (qtextengine.cpp:1687)
13 QtGui 0x000000010723016d QTextEngine::elidedText(Qt::TextElideMode, QFixed const&, int) const + 461 (qtextengine.cpp:2518)
14 QtGui 0x000000010720d7eb QFontMetrics::elidedText(QString const&, Qt::TextElideMode, int, int) const + 683 (qtextengine_p.h:653)
15 libmessagelist.4.dylib 0x0000000115db1e56 paint_left_aligned_elided_text(QString const&, MessageList::Core::Theme::ContentItem*, QPainter*, int&, int, int&, Qt::LayoutDirection, QFont const&) + 118
16 libmessagelist.4.dylib 0x0000000115daee1e MessageList::Core::ThemeDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const + 22494
17 QtGui 0x00000001074cf275 QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const + 3813 (qtreeview.cpp:1685)
18 QtGui 0x00000001074cd2f3 QTreeView::drawTree(QPainter*, QRegion const&) const + 931 (qtreeview.cpp:1438)
19 QtGui 0x00000001074cce8a QTreeView::paintEvent(QPaintEvent*) + 346 (qabstractitemview_p.h:182)
20 QtGui 0x000000010708141e QWidget::event(QEvent*) + 1198 (qwidget.cpp:8546)
21 QtGui 0x000000010739c92d QFrame::event(QEvent*) + 45 (qframe.cpp:557)
22 QtGui 0x0000000107415f9c QAbstractScrollArea::viewportEvent(QEvent*) + 108 (qabstractscrollarea.cpp:1043)
23 QtGui 0x000000010748e0a4 QAbstractItemView::viewportEvent(QEvent*) + 1108 (qabstractitemview.cpp:1644)
24 QtGui 0x00000001074ccc1a QTreeView::viewportEvent(QEvent*) + 218 (qtreeview.cpp:1252)
25 QtGui 0x0000000107416775 QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) + 37 (qabstractscrollarea_p.h:116)
26 QtCore 0x000000010829f3ec QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 124 (qcoreapplication.cpp:1065)
27 QtGui 0x0000000107031bcb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 235 (qapplication.cpp:4561)
28 QtGui 0x0000000107034b7d QApplication::notify(QObject*, QEvent*) + 7693 (qapplication.cpp:4530)
29 QtCore 0x000000010829f0c6 QCoreApplication::notifyInternal(QObject*, QEvent*) + 118 (qcoreapplication.cpp:968)
30 QtGui 0x000000010707cb90 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1984 (qwidget.cpp:5601)
31 QtGui 0x00000001071f5dd9 QWidgetBackingStore::sync() + 3321 (qbackingstore.cpp:1367)
32 QtGui 0x0000000107075c7f QWidgetPrivate::syncBackingStore() + 239 (qwidget.cpp:1894)
33 QtGui 0x0000000107081749 QWidget::event(QEvent*) + 2009 (qwidget.cpp:8693)
34 QtGui 0x00000001073b4fb1 QMainWindow::event(QEvent*) + 993 (qmainwindow.cpp:1478)
35 libkdeui.5.dylib 0x0000000106b3058a KXmlGuiWindow::event(QEvent*) + 26 (kxmlguiwindow.cpp:126)
36 QtGui 0x0000000107031bdb QApplicationPrivate::notify_helper(QObject*, QEvent*) + 251 (qapplication.cpp:4565)
37 QtGui 0x0000000107034b7d QApplication::notify(QObject*, QEvent*) + 7693 (qapplication.cpp:4530)
38 QtCore 0x000000010829f0c6 QCoreApplication::notifyInternal(QObject*, QEvent*) + 118 (qcoreapplication.cpp:968)
39 QtCore 0x000000010829fc2e QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 686 (qcoreapplication.h:231)
40 com.apple.CoreFoundation 0x00007fff911925b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
41 com.apple.CoreFoundation 0x00007fff91183c62 __CFRunLoopDoSources0 + 242
42 com.apple.CoreFoundation 0x00007fff911833ef __CFRunLoopRun + 831
43 com.apple.CoreFoundation 0x00007fff91182e75 CFRunLoopRunSpecific + 309
44 com.apple.HIToolbox 0x00007fff8f138a0d RunCurrentEventLoopInMode + 226
45 com.apple.HIToolbox 0x00007fff8f1387b7 ReceiveNextEventCommon + 479
46 com.apple.HIToolbox 0x00007fff8f1385bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
47 com.apple.AppKit 0x00007fff8c47624e _DPSNextEvent + 1434
48 com.apple.AppKit 0x00007fff8c47589b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
49 com.apple.AppKit 0x00007fff8c46999c -[NSApplication run] + 553
50 QtGui 0x0000000106fe6a7b QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2059
51 QtCore 0x000000010829c45f QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 495 (qglobal.h:2434)
52 QtCore 0x000000010829f677 QCoreApplication::exec() + 199 (qcoreapplication.cpp:1227)
53 kontact 0x00000001049309ef main + 4175
54 libdyld.dylib 0x00007fff91ef75fd start + 1
Add Comment
This message was sent by Atlassian JIRA (v6.3.9#6339-sha1:46fa261)
-----------------------------------------
More information about the Development
mailing list