Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-34944

Crash when switching fast between two images in a QtQuick 2.1 application

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.2.0
    • 5.1.1
    • None
    • Linux yocto running on TI Keystone2 (ARM)
      mesa-dri GL SW implementation
      Xvfb
    • 472950ecab88fc41a99f2a1deb861a4abd273174

    Description

      Our application switches between two different jpeg images using a timer. It crashes after a random period in the call to QSGOpaqueTextureMaterialShader::updateState

      Below is the full backtrace

      [New Thread 1795]
      [New Thread 1802]
      
      Thread 5 (Thread 1802):
      #0  0xb5e2acc0 in nanosleep () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #1  0xb5e2acb4 in nanosleep () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #2  0x000dbba0 in ?? ()
      No symbol table info available.
      #3  0x000dbba0 in ?? ()
      No symbol table info available.
      Backtrace stopped: previous frame identical to this frame (corrupt stack?)
      
      Thread 4 (Thread 1795):
      #0  0xb5dd4274 in ?? () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #1  0xb5e434a8 in poll () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #2  0xb58bead0 in _xcb_conn_wait (c=c@entry=0x212d0, cond=cond@entry=0x212f8, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:400
              ret = <optimized out>
              fd = {fd = 5, events = 1, revents = 0}
      #3  0xb58c0314 in xcb_wait_for_event (c=0x212d0) at xcb_in.c:517
              ret = 0x0
      #4  0xb57b0038 in deref<int> (_q_value=@0xb561bd68: 5) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/include/QtCore/../../src/corelib/arch/qatomic_armv6.h:151
              newValue = <optimized out>
      #5  deref (this=0xb561bd68) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/include/QtCore/../../src/corelib/thread/qbasicatomic.h:153
      No locals.
      #6  deref (this=0xb561bd68) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/include/QtCore/../../src/corelib/tools/qrefcount.h:71
      No locals.
      #7  deref (this=0xb561bd68) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/plugins/platforms/xcb/qxcbconnection.cpp:100
      No locals.
      #8  ~QByteArray (this=0xb561bda4, __in_chrg=<optimized out>) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/include/QtCore/../../src/corelib/tools/qbytearray.h:396
      No locals.
      #9  QXcbConnection::findOrCreateScreen (this=0xb4d03868, newScreens=..., screenNumber=1, xcbScreen=0x2aa20, output=0xbefff9a0) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/plugins/platforms/xcb/qxcbconnection.cpp:112
              displayName = {d = 0xb635da7c <QThreadPrivate::start(void*)+280>}
              dotPos = <optimized out>
              name = {static null = {<No data fields>}, d = 0x0}
              ret = <optimized out>
      #10 0x00000000 in ?? ()
      No symbol table info available.
      
      Thread 3 (Thread 1803):
      #0  0xb29a3c78 in ?? ()
      No symbol table info available.
      #1  0xb6e43c7c in QSGOpaqueTextureMaterialShader::updateState (this=0xb42ccf20, state=..., newEffect=<optimized out>, oldEffect=0x0) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/util/qsgtexturematerial.cpp:121
              tx = <optimized out>
              oldTx = 0x0
              t = 0xb29a84e0
      #2  0xb6e3a650 in QSGDefaultRenderer::renderNodes (this=this@entry=0xb2999180, nodes=<optimized out>, count=599, count@entry=2) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp:528
              geomNode = 0xb29a8568
              changeMatrix = <optimized out>
              updates = <optimized out>
              changeClip = <optimized out>
              changeProgram = <optimized out>
              changeRenderOrder = <optimized out>
              changeOpacity = <optimized out>
              material = 0xb29a85f8
              program = <optimized out>
              i = <optimized out>
              scale = <optimized out>
              currentRenderOrder = -1272131808
              currentClipType = <optimized out>
              projection = {m = {{0.00333333341, 0, 0, 0}, {0, -0.00499999989, 0, 0}, {0, 0, 1, 0}, {-1, 1, 0, 1}}, flagBits = 3}
      #3  0xb6e3aa40 in QSGDefaultRenderer::render (this=0xb2999180) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/coreapi/qsgdefaultrenderer.cpp:267
              opaqueEnd = 2
              transparentEnd = 0
              i = <optimized out>
              r = {x1 = 0, y1 = 0, x2 = 599, y2 = 399}
              sortNodes = <optimized out>
              opaqueStart = <optimized out>
              transparentStart = <optimized out>
      #4  0xb6e3fbd4 in QSGRenderer::renderScene (this=0xb2999180, bindable=...) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/coreapi/qsgrenderer.cpp:274
              profileFrames = false
              bindTime = 0
              renderTime = 0
      #5  0xb6e3fd3c in QSGRenderer::renderScene (this=<optimized out>) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/coreapi/qsgrenderer.cpp:231
              b = {<QSGBindable> = {_vptr.QSGBindable = 0xb6fc5e00 <vtable for QSGRenderer::renderScene()::B+8>}, <No data fields>}
      #6  0xb6e49ba0 in QSGContext::renderNextFrame (this=<optimized out>, renderer=0xb2999180, fboId=<optimized out>) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/qsgcontext.cpp:313
      No locals.
      #7  0xb6e7b978 in QQuickWindowPrivate::renderSceneGraph (this=0x40c00, size=...) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/items/qquickwindow.cpp:336
              _qml_memory_scope = {pushed = false}
              fboId = <optimized out>
              devicePixelRatio = <optimized out>
      #8  0xb6e61190 in QSGRenderThread::syncAndRender (this=this@entry=0x41028) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:595
              d = 0x40c00
              i = <optimized out>
              profileFrames = <optimized out>
              syncRequested = <optimized out>
              __PRETTY_FUNCTION__ = "void QSGRenderThread::syncAndRender()"
              waitTimer = {t1 = 363, t2 = 65275283}
              repaintRequested = <optimized out>
      #9  0xb6e624ac in QSGRenderThread::run (this=0x41028) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtdeclarative-5.1.1-r0/qtdeclarative-opensource-src-5.1.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:666
      No locals.
      #10 0xb635da7c in QThreadPrivate::start (arg=0x41028) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/corelib/thread/qthread_unix.cpp:345
              __clframe = {__cancel_routine = 0xb635cd14 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x41028, __do_it = 1, __cancel_type = <optimized out>}
              thr = 0x41028
              data = 0x410f8
              objectName = {static null = {<No data fields>}, d = 0xb65835d4 <QArrayData::shared_null>}
      #11 0xb5fd5ed2 in start_thread () from /home/jose/keystone2/sysroot/lib/libpthread.so.0
      No symbol table info available.
      #12 0xb5e4c058 in ?? () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #13 0xb5e4c058 in ?? () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      Backtrace stopped: previous frame identical to this frame (corrupt stack?)
      
      Thread 2 (Thread 1801):
      #0  0xb5e47844 in select () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #1  0xb5e47838 in select () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #2  0xb5e9b000 in ?? () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #3  0xb5e9b000 in ?? () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      Backtrace stopped: previous frame identical to this frame (corrupt stack?)
      
      Thread 1 (Thread 1790):
      #0  0xb5dd4274 in ?? () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #1  0xb5e4794e in pselect () from /home/jose/keystone2/sysroot/lib/libc.so.6
      No symbol table info available.
      #2  0xb652f0e4 in qt_safe_select (nfds=8, fdread=0x1ff20, fdwrite=0x20130, fdexcept=0x20340, orig_timeout=0xbefffba0) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/corelib/kernel/qcore_unix.cpp:90
              start = {tv_sec = 363, tv_nsec = 65593986}
              timeout = {tv_sec = 0, tv_nsec = 5000000}
              ret = <optimized out>
      #3  0xb65304c4 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x1fe38, flags=..., flags@entry=..., timeout=timeout@entry=0xbefffba0) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/corelib/kernel/qeventdispatcher_unix.cpp:204
              highest = <optimized out>
              wakeUpFd = <optimized out>
              nsel = <optimized out>
              __PRETTY_FUNCTION__ = "int QEventDispatcherUNIXPrivate::doSelect(QEventLoop::ProcessEventsFlags, timespec*)"
              nevents = <optimized out>
      #4  0xb6530978 in QEventDispatcherUNIX::processEvents (this=0x1b168, flags=...) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/corelib/kernel/qeventdispatcher_unix.cpp:615
              tm = 0xbefffba0
              wait_tm = {tv_sec = 0, tv_nsec = 5000000}
              d = 0x1fe38
              nevents = 0
              canWait = <optimized out>
      #5  0xb5856164 in OrgA11yBusInterface::qt_metacall (this=0x8, _c=130848, _id=131376, _a=0x20340) at .moc/release-shared/moc_bus_interface.cpp:96
      No locals.
      #6  0xb64e5968 in QEventLoop::exec (this=0x24, flags=...) at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/corelib/kernel/qeventloop.cpp:212
              locker = {val = 107368}
              __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
              ref = {d = 0xbefffc1c, locker = @0xbefffbe0, exceptionCaught = <optimized out>}
              app = 0x0
              d = 0xbefffc1c
      #7  0xb64ec72c in QCoreApplication::exec () at /home/jose/environments/kuvio-next/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/qtbase-5.1.1-r0-kuvio0/qtbase-opensource-src-5.1.1/src/corelib/kernel/qcoreapplication.cpp:1120
              threadData = 0x1a1f8
              __PRETTY_FUNCTION__ = "static int QCoreApplication::exec()"
              eventLoop = {<QObject> = {_vptr.QObject = 0xb6728778 <vtable for QEventLoop+8>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0xb6627834 <qt_meta_stringdata_QObject>, data = 0xb6627fa4 <qt_meta_data_QObject>, static_metacall = 0xb6515e08 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x6ff00}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0xb66dac78 <qt_meta_stringdata_Qt>, data = 0xb66e2628 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0xb6726bf4 <QObject::staticMetaObject>, stringdata = 0xb66ec6cc <qt_meta_stringdata_QEventLoop>, data = 0xb66ec720 <qt_meta_data_QEventLoop>, static_metacall = 0xb657d07c <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
              returnCode = <optimized out>
      #8  0x00008abe in main (argc=1, argv=0xbefffdd4) at ../crash/main.cc:9
              app = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0xb6a74de8 <vtable for QGuiApplication+8>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0xb6627834 <qt_meta_stringdata_QObject>, data = 0xb6627fa4 <qt_meta_data_QObject>, static_metacall = 0xb6515e08 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x1a9d0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0xb66dac78 <qt_meta_stringdata_Qt>, data = 0xb66e2628 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0xb6726bf4 <QObject::staticMetaObject>, stringdata = 0xb66ec774 <qt_meta_stringdata_QCoreApplication>, data = 0xb66ec938 <qt_meta_data_QCoreApplication>, static_metacall = 0xb657d220 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0xbefffc68}, static staticMetaObject = {d = {superdata = 0xb6728810 <QCoreApplication::staticMetaObject>, stringdata = 0xb6a3f9c4 <qt_meta_stringdata_QGuiApplication+208>, data = 0xb6a3fcac <qt_meta_data_QGuiApplication+208>, static_metacall = 0xb67d8698 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
              view = {<QQuickWindow> = {<QWindow> = {<QObject> = {_vptr.QObject = 0xb6fcfbd8 <vtable for QQuickView+8>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0xb6627834 <qt_meta_stringdata_QObject>, data = 0xb6627fa4 <qt_meta_data_QObject>, static_metacall = 0xb6515e08 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x40c00}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0xb66dac78 <qt_meta_stringdata_Qt>, data = 0xb66e2628 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, <QSurface> = {_vptr.QSurface = 0xb6fcfc6c <vtable for QQuickView+156>, m_type = QSurface::Window, m_reserved = 0x0}, static staticMetaObject = {d = {superdata = 0xb6726bf4 <QObject::staticMetaObject>, stringdata = 0xb6a400e4 <qt_meta_stringdata_QWindow+208>, data = 0xb6a409f0 <qt_meta_data_QWindow+208>, static_metacall = 0xb67e2738 <QWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0xb6a74f8c <QWindow::staticMetaObject>, stringdata = 0xb6f95050 <qt_meta_stringdata_QQuickWindow>, data = 0xb6f95474 <qt_meta_data_QQuickWindow>, static_metacall = 0xb6e7ccb8 <QQuickWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0xb6fc71f4 <QQuickWindow::staticMetaObject>, stringdata = 0xb6fb36ac <qt_meta_stringdata_QQuickView>, data = 0xb6fb3900 <qt_meta_data_QQuickView>, static_metacall = 0xb6f7a8a4 <QQuickView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
      Cannot access memory at address 0x1
      Cannot access memory at address 0x1
      Cannot access memory at address 0x0
      warning: RTTI symbol not found for class 'QSGRenderer::renderScene()::B'
      Cannot access memory at address 0x0
      
      

      Attached the application and images used to reproduce it

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            sletta Gunnar Sletta
            melonipoika Jose Alarcon Roldan
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes