Closed xusheng6 closed 2 years ago
This happens on the staging branch, which, after the async communication refactor, we can already control the target from the console. On macOS everything works fine, on Linux BN crashes and the stack trace is not very helpful:
QFontEngineFT::shouldUseDesignMetrics(QFlags<QFontEngine::ShaperFlag>) const 0x00007fffed2088f0 QFontEngineFT::recalcAdvances(QGlyphLayout*, QFlags<QFontEngine::ShaperFlag>) const 0x00007fffed20e79f _hb_qt_font_get_glyph_h_advance(hb_font_t*, void*, unsigned int, void*) 0x00007fffed1b6b04 hb_font_get_glyph_h_advances_default(hb_font_t*, void*, unsigned int, unsigned int const*, unsigned int, int*, unsigned int, void*) 0x00007fffed2d8c9c _hb_ot_shape 0x00007fffed326e15 hb_shape_plan_execute 0x00007fffed2de688 hb_shape_full 0x00007fffed2ddbf9 QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QList<unsigned int> const&, bool, bool) const 0x00007fffed0be054 QTextEngine::shapeText(int) const 0x00007fffed0c6e5f QTextEngine::shape(int) const 0x00007fffed0c8970 QTextEngine::shapeLine(QScriptLine const&) 0x00007fffed0c965a QTextLineItemIterator::QTextLineItemIterator(QTextEngine*, int, QPointF const&, QTextLayout::FormatRange const*) 0x00007fffed0cb5b2 QTextLine::draw_internal(QPainter*, QPointF const&, QTextLayout::FormatRange const*) const 0x00007fffed0ecf96 QTextLayout::draw(QPainter*, QPointF const&, QList<QTextLayout::FormatRange> const&, QRectF const&) const 0x00007fffed0eee93 QTextDocumentLayoutPrivate::drawBlock(QPointF const&, QPainter*, QAbstractTextDocumentLayout::PaintContext const&, QTextBlock const&, bool) const 0x00007fffed0a4191 QTextDocumentLayoutPrivate::drawFlow(QPointF const&, QPainter*, QAbstractTextDocumentLayout::PaintContext const&, QTextFrame::iterator, QList<QTextFrame*> const&, QTextBlock*) const 0x00007fffed0a4ce2 QTextDocumentLayoutPrivate::drawFrame(QPointF const&, QPainter*, QAbstractTextDocumentLayout::PaintContext const&, QTextFrame*) const 0x00007fffed0a6d6d QTextDocumentLayout::draw(QPainter*, QAbstractTextDocumentLayout::PaintContext const&) 0x00007fffed0b403f QWidgetTextControl::drawContents(QPainter*, QRectF const&, QWidget*) 0x00007ffff74bf820 QTextEditPrivate::paint(QPainter*, QPaintEvent*) 0x00007ffff748d94e QTextBrowser::paintEvent(QPaintEvent*) 0x00007ffff74927df QWidget::event(QEvent*) 0x00007ffff72bca7e QFrame::event(QEvent*) 0x00007ffff7357242 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) 0x00007fffec6e9e93 QApplicationPrivate::notify_helper(QObject*, QEvent*) 0x00007ffff725efc5 QApplication::notify(QObject*, QEvent*) 0x00007ffff726a230 QCoreApplication::notifyInternal2(QObject*, QEvent*) 0x00007fffec6ea10a QWidgetPrivate::sendPaintEvent(QRegion const&) 0x00007ffff72b460a QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) 0x00007ffff72b4f07 QWidgetRepaintManager::paintAndFlush() 0x00007ffff72c70ed QWidgetRepaintManager::sync() 0x00007ffff72c7da4 QWidgetPrivate::syncBackingStore() 0x00007ffff72b5d05 QWidget::event(QEvent*) 0x00007ffff72bcf40 QMainWindow::event(QEvent*) 0x00007ffff7405248 QApplicationPrivate::notify_helper(QObject*, QEvent*) 0x00007ffff725efd6 QApplication::notify(QObject*, QEvent*) 0x00007ffff726a230 QCoreApplication::notifyInternal2(QObject*, QEvent*) 0x00007fffec6ea10a QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) 0x00007fffec6ed37c QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x00007fffec8838e1 QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x00007fffe7fba112 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) 0x00007fffec6f5f3b QCoreApplication::exec() 0x00007fffec6f19f6 <unknown> 0x00005555555fe8b8 __libc_start_call_main 0x00007fffec078d90 __libc_start_main_impl 0x00007fffec078e40 <unknown> 0x0000555555609d2e
This might just be a Qt issue -- I am using a qt build that is different from the one used to build BN.
No this is not just a qt issue. The crash is also happening on the latest dev.
This happens on the staging branch, which, after the async communication refactor, we can already control the target from the console. On macOS everything works fine, on Linux BN crashes and the stack trace is not very helpful: