1
votes

We experience some random crashes in our application which uses Qt 4.8.6 embedded and couldn't find a way to trace the problem so far.

Here is the backtrace :

#0  qt_alphamapblit_quint32 (rasterBuffer=0xbec87f6c, x=-4662395, y=<value optimized out>, color=3050196992, map=0xb419bff8 <Address 0xb419bff8 out of bounds>, mapWidth=11,
mapHeight=<value optimized out>, mapStride=12, clip=0x0) at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7198
#1  0xb6160204 in QRasterPaintEngine::alphaPenBlt (this=<value optimized out>, src=0xb617a570, bpl=12, depth=249, rx=45, ry=236, w=11, h=13)
at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qpaintengine_raster.cpp:2605
#2  0xb62779ec in QFontEngineQPF::draw (this=0xcbaa48, p=0xc78580, _x=44, _y=<value optimized out>, si=...)
at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/text/qfontengine_qpf.cpp:669
#3  0xb616ad70 in QRasterPaintEngine::drawTextItem (this=0xc78580, p=..., textItem=...) at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qpaintengine_raster.cpp:3133
#4  0xb6108718 in QPainter::drawTextItem (this=<value optimized out>, p=..., _ti=...) at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qpainter.cpp:6709
#5  0xb61fb58c in drawMenuText (this=<value optimized out>, p=0xbec8a938, pos=<value optimized out>, selection=<value optimized out>)
at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/text/qtextlayout.cpp:2050
#6  QTextLine::draw (this=<value optimized out>, p=0xbec8a938, pos=<value optimized out>, selection=<value optimized out>)
at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/text/qtextlayout.cpp:2425
#7  0xb610ba4c in qt_format_text (fnt=..., _r=<value optimized out>, tf=134217873, option=0x0, str=..., brect=0x0, tabstops=-1094134436, ta=0x0, tabarraylen=0, painter=0xbec8d5f4)
at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qpainter.cpp:8283
#8  0xb610c3c4 in QPainter::drawText (this=0xbec8d5f4, r=<value optimized out>, flags=<value optimized out>, str=..., br=0x0)
at /homes/tr1a5038/tr1a5038-qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qpainter.cpp:6199
....

The only thing we found is the following :

https://forum.qt.io/topic/58654/qt-crash-in-qrasterpaintengine-alphapenblt-while-painting-label-text

And this one :

https://bugreports.qt.io/browse/QTBUG-41355

But we have no idea if it happens due to the same underlying reason or not.

Any idea ? Should we apply the mentioned fix in the link ?

1

1 Answers

0
votes

These crashes happen when you do recursive painting. This is occurs if a widget, in its repainting code, calls code that will unconditionally paint. A possible reason might be calling a function that end-up running an event loop.