enmbed application crushes using QT4
-
Hi,
I am building a QT4 (4.8.6) application on a emded system, when I start it using "./UIController -qws", it crashes. Here is the stack////////////////////////////////////////////////////////////////////////////
Thread 1 "UIController" received signal SIGSEGV, Segmentation fault.
0x76241e68 in void qt_memfill_template<unsigned int, unsigned int>(unsigned int*, unsigned int, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
(gdb) bt
#0 0x76241e68 in void qt_memfill_template<unsigned int, unsigned int>(unsigned int*, unsigned int, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#1 0x7621768c in qt_memfill_quint16(unsigned short*, unsigned short, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#2 0x760577e4 in void solidFill_template<unsigned short>(QScreen*, QColor const&, QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#3 0x76056f50 in QScreen::solidFill(QColor const&, QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#4 0x7605e2f4 in QScreen::paintBackground(QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#5 0x7605e844 in QScreen::compose(int, QRegion const&, QRegion&, QImage**, int) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#6 0x7605e9b4 in QScreen::compose(int, QRegion const&, QRegion&, QImage**, int) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#7 0x7605eb80 in QScreen::exposeRegion(QRegion, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#8 0x76068374 in QWSServerPrivate::exposeRegion(QRegion const&, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#9 0x7606b330 in QWSServerPrivate::repaint_region(int, int, bool, QRegion const&) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#10 0x760f1d98 in QWSDisplay::repaintRegion(int, int, bool, QRegion) ()
---Type <return> to continue, or q <return> to quit---
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#11 0x762605fc in QWSWindowSurface::flush(QWidget*, QRegion const&, QPoint const&) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#12 0x7625ab50 in QWidgetBackingStore::flush(QWidget*, QWindowSurface*) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#13 0x7625bdfc in QWidgetBackingStore::sync() ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#14 0x7625c020 in QWidgetBackingStore::sync(QWidget*, QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#15 0x762604fc in QWSWindowSurface::setClipRegion(QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#16 0x760eed84 in QETWidget::translateRegionEvent(QWSRegionEvent const*) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#17 0x760f9974 in QApplication::qwsProcessEvent(QWSEvent*) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#18 0x760fdd10 in QEventDispatcherQWS::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#19 0x75c756c4 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtCore.so.4
#20 0x75c75994 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtCore.so.4
#21 0x75c7acc8 in QCoreApplication::exec() ()
---Type <return> to continue, or q <return> to quit---
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtCore.so.4
#22 0x000163c0 in main (argc=<optimized out>, argv=0x7e7ff2c4)
at ../../../node_red/1.0.0/apps/UIController/main.cpp:43
/////////////////////////////////////////////////////////////////////////////It runs normally on ubuntu. Could someone help to fix this ? Thanks very much.
-
Hi,
I am building a QT4 (4.8.6) application on a emded system, when I start it using "./UIController -qws", it crashes. Here is the stack////////////////////////////////////////////////////////////////////////////
Thread 1 "UIController" received signal SIGSEGV, Segmentation fault.
0x76241e68 in void qt_memfill_template<unsigned int, unsigned int>(unsigned int*, unsigned int, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
(gdb) bt
#0 0x76241e68 in void qt_memfill_template<unsigned int, unsigned int>(unsigned int*, unsigned int, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#1 0x7621768c in qt_memfill_quint16(unsigned short*, unsigned short, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#2 0x760577e4 in void solidFill_template<unsigned short>(QScreen*, QColor const&, QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#3 0x76056f50 in QScreen::solidFill(QColor const&, QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#4 0x7605e2f4 in QScreen::paintBackground(QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#5 0x7605e844 in QScreen::compose(int, QRegion const&, QRegion&, QImage**, int) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#6 0x7605e9b4 in QScreen::compose(int, QRegion const&, QRegion&, QImage**, int) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#7 0x7605eb80 in QScreen::exposeRegion(QRegion, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#8 0x76068374 in QWSServerPrivate::exposeRegion(QRegion const&, int) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#9 0x7606b330 in QWSServerPrivate::repaint_region(int, int, bool, QRegion const&) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#10 0x760f1d98 in QWSDisplay::repaintRegion(int, int, bool, QRegion) ()
---Type <return> to continue, or q <return> to quit---
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#11 0x762605fc in QWSWindowSurface::flush(QWidget*, QRegion const&, QPoint const&) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#12 0x7625ab50 in QWidgetBackingStore::flush(QWidget*, QWindowSurface*) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#13 0x7625bdfc in QWidgetBackingStore::sync() ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#14 0x7625c020 in QWidgetBackingStore::sync(QWidget*, QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#15 0x762604fc in QWSWindowSurface::setClipRegion(QRegion const&) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#16 0x760eed84 in QETWidget::translateRegionEvent(QWSRegionEvent const*) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#17 0x760f9974 in QApplication::qwsProcessEvent(QWSEvent*) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#18 0x760fdd10 in QEventDispatcherQWS::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtGui.so.4
#19 0x75c756c4 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtCore.so.4
#20 0x75c75994 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtCore.so.4
#21 0x75c7acc8 in QCoreApplication::exec() ()
---Type <return> to continue, or q <return> to quit---
from target:/usr/local/Trolltech/QtEmbedded-4.8.6-NT/lib/libQtCore.so.4
#22 0x000163c0 in main (argc=<optimized out>, argv=0x7e7ff2c4)
at ../../../node_red/1.0.0/apps/UIController/main.cpp:43
/////////////////////////////////////////////////////////////////////////////It runs normally on ubuntu. Could someone help to fix this ? Thanks very much.
-
@Abu2023 that's some ancient version of Qt :-) Condolences.
You can try analyzing your app with Valgrind or address sanitizer, it is possible they will detect the problem even on desktop.
@sierdzio Thanks @sierdzio , I can run the app on ubuntu, so I think the app is OK. it can not run on embed system, I think the embed system maybe miss something. It crashes in QTGUI on embed system, does that mean I need to install something before I can use QTGUI on embed system because everything is OK on ubuntu. I checked frame buffer on embed system, it was installed correctly.
-
@sierdzio Thanks @sierdzio , I can run the app on ubuntu, so I think the app is OK. it can not run on embed system, I think the embed system maybe miss something. It crashes in QTGUI on embed system, does that mean I need to install something before I can use QTGUI on embed system because everything is OK on ubuntu. I checked frame buffer on embed system, it was installed correctly.
-
Hi,
I find that the app crashes when QT paints a retangle, but I do not know why it crashes, I installed frame buffer correctly. Could someone help figure out why?
Thanks very much. -
@Abu2023 hi,
You should give more informations about your target.
Also, did you consider using 4.8.7 ?
@SGaist
As QT4.8.6 is using in our whole project, I can not change it to 4.8.7, I use QT debug version to run, and here is the stack which shows more detail infomation,//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(gdb) bt
#0 0x75eab2f4 in qt_memfill_template<unsigned int, unsigned int> (
dest=0x75163004, color=629810570, count=236)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7611
#1 0x75b89fac in qt_memfill<unsigned int> (dest=0x75162e50, color=629810570,
count=236)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1846
#2 0x75ea69dc in qt_memfill_template<unsigned short, unsigned short> (
dest=0x75162e50, value=9610, count=472)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7640
#3 0x75e61784 in qt_memfill_quint16 (dest=0x75162e50, color=9610, count=472)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7648
#4 0x75b8a000 in qt_memfill<unsigned short> (dest=0x75162e50, color=9610,
count=472)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1852
#5 0x75b8b134 in qt_rectfill<unsigned short> (dest=0x75162e50, value=9610,
x=808, y=2, width=472, height=635, stride=2560)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1891
---Type <return> to continue, or q <return> to quit---
#6 0x75b81138 in solidFill_template<unsigned short> (screen=0x50fb8,
color=..., region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:394
#7 0x75b7bf60 in qt_solidFill_setup (screen=0x50fb8, color=..., region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:590
#8 0x75b7ec88 in QScreen::solidFill (this=0x50fb8, color=..., region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2583
#9 0x75b7fe3c in QScreen::paintBackground (this=0x50fb8, r=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2797
#10 0x75b7f560 in QScreen::compose (this=0x50fb8, level=2, exposed=...,
blend=..., blendbuffer=0x7e7fe584, changing_level=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2711
#11 0x75b7f4a8 in QScreen::compose (this=0x50fb8, level=1, exposed=...,
blend=..., blendbuffer=0x7e7fe584, changing_level=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2701
#12 0x75b7e574 in QScreen::exposeRegion (this=0x50fb8, r=..., windowIndex=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscree---Type <return> to continue, or q <return> to quit---
n_qws.cpp:2448
#13 0x75ba120c in QWSServerPrivate::exposeRegion (this=0x4e478, r=...,
changing=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qwindowsystem_qws.cpp:3589
#14 0x75ba22d4 in QWSServerPrivate::repaint_region (this=0x4e478, wid=1000,
windowFlags=134279169, opaque=true, region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qwindowsystem_qws.cpp:3848
#15 0x75c8a0ec in QWSDisplay::repaintRegion (this=0x504b0, winId=1000,
windowFlags=134279169, opaque=true, r=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication_qws.cpp:1524
#16 0x75edd280 in QWSWindowSurface::flush (this=0x61988, widget=0x7e7fecd8,
region=..., offset=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qwindowsurface_qws.cpp:711
#17 0x75ed3618 in qt_flush (widget=0x7e7fecd8, region=...,
windowSurface=0x61988, tlw=0x7e7fecd8, tlwOffset=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:119
#18 0x75ed8c64 in QWidgetBackingStore::flush (this=0x4b3c0, widget=0x0,
surface=0x0)
---Type <return> to continue, or q <return> to quit---
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:1434
#19 0x75ed4258 in QWidgetBackingStore::endPaint (this=0x4b3c0, cleaned=...,
windowSurface=0x61988, beginPaintInfo=0x7e7fe834)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:409
#20 0x75ed8a84 in QWidgetBackingStore::sync (this=0x4b3c0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:1376
#21 0x75ed7cdc in QWidgetBackingStore::sync (this=0x4b3c0,
exposedWidget=0x7e7fecd8, exposedRegion=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:1161
#22 0x75c48138 in QWidgetPrivate::syncBackingStore (this=0x5f800, region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget.cpp:1903
#23 0x75edc8b4 in QWSWindowSurface::setClipRegion (this=0x61988, clip=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qwindowsurface_qws.cpp:539
#24 0x75c93cfc in QETWidget::translateRegionEvent (this=0x7e7fecd8,
event=0x5f0f8)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication_qws.cpp:3600
---Type <return> to continue, or q <return> to quit---
#25 0x75c912b8 in QApplication::qwsProcessEvent (this=0x7e7fecd0,
event=0x5f0f8)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication_qws.cpp:3005#26 0x75c9c56c in QEventDispatcherQWS::processEvents (this=0x4c3a8, flags=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qeventdispatcher_qws.cpp:119
#27 0x756afa58 in QEventLoop::processEvents (this=0x7e7fec9c, flags=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#28 0x756afc00 in QEventLoop::exec (this=0x7e7fec9c, flags=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:200
#29 0x756b365c in QCoreApplication::exec ()
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcoreapplication.cpp:1225
#30 0x75be8b68 in QApplication::exec ()
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication.cpp:3823
#31 0x000163c0 in main (argc=<optimized out>, argv=0x7e7ff264)
at ../../../node_red/1.0.0/apps/UIController/main.cpp:43
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
In stack #0, dest = 0x75163004, but in #1 to #5, dest=0x75162e50, I do not know why dest changes.and in stack #1,
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#1 0x75b89fac in qt_memfill<unsigned int> (dest=0x75162e50, color=629810570,
count=236)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1846
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////the function in qdrawhelper_p.h:1846 is as follows:
1843 template<> inline void qt_memfill(quint32 *dest, quint32 color, int count)
1844 {
1845 extern void (*qt_memfill32)(quint32 *dest, quint32 value, int count);
1846 qt_memfill32(dest, color, count);
1847 }line 1846 invokes qt_memfill32, but stack #0 shows qt_memfill_template<unsigned short, unsigned short>
is invoked, it seems that something misses between stack #0 and #1.I am not familiar with QT code, so can someone help?
-
@SGaist
As QT4.8.6 is using in our whole project, I can not change it to 4.8.7, I use QT debug version to run, and here is the stack which shows more detail infomation,//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(gdb) bt
#0 0x75eab2f4 in qt_memfill_template<unsigned int, unsigned int> (
dest=0x75163004, color=629810570, count=236)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7611
#1 0x75b89fac in qt_memfill<unsigned int> (dest=0x75162e50, color=629810570,
count=236)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1846
#2 0x75ea69dc in qt_memfill_template<unsigned short, unsigned short> (
dest=0x75162e50, value=9610, count=472)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7640
#3 0x75e61784 in qt_memfill_quint16 (dest=0x75162e50, color=9610, count=472)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper.cpp:7648
#4 0x75b8a000 in qt_memfill<unsigned short> (dest=0x75162e50, color=9610,
count=472)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1852
#5 0x75b8b134 in qt_rectfill<unsigned short> (dest=0x75162e50, value=9610,
x=808, y=2, width=472, height=635, stride=2560)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1891
---Type <return> to continue, or q <return> to quit---
#6 0x75b81138 in solidFill_template<unsigned short> (screen=0x50fb8,
color=..., region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:394
#7 0x75b7bf60 in qt_solidFill_setup (screen=0x50fb8, color=..., region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:590
#8 0x75b7ec88 in QScreen::solidFill (this=0x50fb8, color=..., region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2583
#9 0x75b7fe3c in QScreen::paintBackground (this=0x50fb8, r=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2797
#10 0x75b7f560 in QScreen::compose (this=0x50fb8, level=2, exposed=...,
blend=..., blendbuffer=0x7e7fe584, changing_level=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2711
#11 0x75b7f4a8 in QScreen::compose (this=0x50fb8, level=1, exposed=...,
blend=..., blendbuffer=0x7e7fe584, changing_level=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscreen_qws.cpp:2701
#12 0x75b7e574 in QScreen::exposeRegion (this=0x50fb8, r=..., windowIndex=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qscree---Type <return> to continue, or q <return> to quit---
n_qws.cpp:2448
#13 0x75ba120c in QWSServerPrivate::exposeRegion (this=0x4e478, r=...,
changing=0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qwindowsystem_qws.cpp:3589
#14 0x75ba22d4 in QWSServerPrivate::repaint_region (this=0x4e478, wid=1000,
windowFlags=134279169, opaque=true, region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/embedded/qwindowsystem_qws.cpp:3848
#15 0x75c8a0ec in QWSDisplay::repaintRegion (this=0x504b0, winId=1000,
windowFlags=134279169, opaque=true, r=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication_qws.cpp:1524
#16 0x75edd280 in QWSWindowSurface::flush (this=0x61988, widget=0x7e7fecd8,
region=..., offset=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qwindowsurface_qws.cpp:711
#17 0x75ed3618 in qt_flush (widget=0x7e7fecd8, region=...,
windowSurface=0x61988, tlw=0x7e7fecd8, tlwOffset=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:119
#18 0x75ed8c64 in QWidgetBackingStore::flush (this=0x4b3c0, widget=0x0,
surface=0x0)
---Type <return> to continue, or q <return> to quit---
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:1434
#19 0x75ed4258 in QWidgetBackingStore::endPaint (this=0x4b3c0, cleaned=...,
windowSurface=0x61988, beginPaintInfo=0x7e7fe834)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:409
#20 0x75ed8a84 in QWidgetBackingStore::sync (this=0x4b3c0)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:1376
#21 0x75ed7cdc in QWidgetBackingStore::sync (this=0x4b3c0,
exposedWidget=0x7e7fecd8, exposedRegion=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qbackingstore.cpp:1161
#22 0x75c48138 in QWidgetPrivate::syncBackingStore (this=0x5f800, region=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qwidget.cpp:1903
#23 0x75edc8b4 in QWSWindowSurface::setClipRegion (this=0x61988, clip=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/painting/qwindowsurface_qws.cpp:539
#24 0x75c93cfc in QETWidget::translateRegionEvent (this=0x7e7fecd8,
event=0x5f0f8)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication_qws.cpp:3600
---Type <return> to continue, or q <return> to quit---
#25 0x75c912b8 in QApplication::qwsProcessEvent (this=0x7e7fecd0,
event=0x5f0f8)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication_qws.cpp:3005#26 0x75c9c56c in QEventDispatcherQWS::processEvents (this=0x4c3a8, flags=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qeventdispatcher_qws.cpp:119
#27 0x756afa58 in QEventLoop::processEvents (this=0x7e7fec9c, flags=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:149
#28 0x756afc00 in QEventLoop::exec (this=0x7e7fec9c, flags=...)
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventloop.cpp:200
#29 0x756b365c in QCoreApplication::exec ()
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qcoreapplication.cpp:1225
#30 0x75be8b68 in QApplication::exec ()
at /home/benan/qt/qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qapplication.cpp:3823
#31 0x000163c0 in main (argc=<optimized out>, argv=0x7e7ff264)
at ../../../node_red/1.0.0/apps/UIController/main.cpp:43
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
In stack #0, dest = 0x75163004, but in #1 to #5, dest=0x75162e50, I do not know why dest changes.and in stack #1,
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#1 0x75b89fac in qt_memfill<unsigned int> (dest=0x75162e50, color=629810570,
count=236)
at ../../include/QtGui/private/../../../../qt-everywhere-opensource-src-4.8.6/src/gui/painting/qdrawhelper_p.h:1846
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////the function in qdrawhelper_p.h:1846 is as follows:
1843 template<> inline void qt_memfill(quint32 *dest, quint32 color, int count)
1844 {
1845 extern void (*qt_memfill32)(quint32 *dest, quint32 value, int count);
1846 qt_memfill32(dest, color, count);
1847 }line 1846 invokes qt_memfill32, but stack #0 shows qt_memfill_template<unsigned short, unsigned short>
is invoked, it seems that something misses between stack #0 and #1.I am not familiar with QT code, so can someone help?
-
@Abu2023 as already requested: which device are you running this on ? What are its specification ?
-
Please provide a link to the spec of the platform. If you want people to help you, the minimum is to give them the information they request rather than making them search.
-
Please provide a link to the spec of the platform. If you want people to help you, the minimum is to give them the information they request rather than making them search.
-
@SGaist
Hi, sorry for that. I did not find specification on its website, only found product introduction, https://www.novatek.com.tw/en-global/Product/product/Index/product2 , I do not if it will help finding the cause of the error. -
@Abu2023 did the provide you with an SDK for use with their product ?
I am currently wondering what they are using as memory and image layout to display the image on screen.
-
@SGaist
I can't see the sdk layer, my app invokes QT, QT invokes SDK, so my app does not invoke SDK directly.@Abu2023 said in enmbed application crushes using QT4:
so my app does not invoke SDK directly
SDK is used to build software for the target device. So, if you have an SDK and use it to build your Qt app then it is used during the build process.
You did not answer the question whether there is an SDK... -
@Abu2023 said in enmbed application crushes using QT4:
so my app does not invoke SDK directly
SDK is used to build software for the target device. So, if you have an SDK and use it to build your Qt app then it is used during the build process.
You did not answer the question whether there is an SDK...@jsulm There must be a SDK in the machine, but I do not know it. I did not check the source code. As QT uses frame buffer to show GUI, I check the frame buffer interfaces,
and found no referrence of it, only found some functions from article, like,1,open a device
int open(const char *pathname, int flags);
2, map lcd to local address
void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
3, fill memory of mmap to draw UI
4, unmap address to lcd
int munmap(void *addr, size_t length);
5, close the device
int close(int fd);hope these informations can be helpfull.