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

QQuickWidget crash on exit

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.3.0 Alpha
    • Fix Version/s: 5.3.0 Beta1
    • Component/s: Quick: Other
    • Labels:
      None
    • Commits:
      daff5656e2ffbec65db73cad3c0f997e6a1e7667

      Description

      Make sure you have https://codereview.qt-project.org/#change,80511 and https://codereview.qt-project.org/#change,80522 in qtdeclarative. Then run the QQuickWidget example with both C++ and QML debuggers attached. Close the application and receive the following stacktrace:

      Thread 7 (Thread 0x7fffe8ce3700 (LWP 321)):
      #0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
      No locals.
      #1  0x00007fffeae8ab33 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
      No symbol table info available.
      #2  0x00007ffff49f6b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
              __res = <optimized out>
              pd = 0x7fffe8ce3700
              unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737099216640, -6734822333166066161, 140737297519008, 140737099217344, 140737354125376, 3, 6734793876347086351, 6734838554564290063}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
              not_first_call = <optimized out>
              freesize = <optimized out>
              __PRETTY_FUNCTION__ = "start_thread"
      #3  0x00007ffff3fa1a7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      No locals.
      #4  0x0000000000000000 in ?? ()
      No symbol table info available.
      
      Thread 6 (Thread 0x7fffe3fff700 (LWP 320)):
      #0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
      No locals.
      #1  0x00007fffeae8ab33 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
      No symbol table info available.
      #2  0x00007ffff49f6b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
              __res = <optimized out>
              pd = 0x7fffe3fff700
              unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737018590976, -6734822333166066161, 140737297519008, 140737018591680, 140737354125376, 3, 6734813536559883791, 6734838554564290063}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
              not_first_call = <optimized out>
              freesize = <optimized out>
              __PRETTY_FUNCTION__ = "start_thread"
      #3  0x00007ffff3fa1a7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      No locals.
      #4  0x0000000000000000 in ?? ()
      No symbol table info available.
      
      Thread 2 (Thread 0x7fffecae4700 (LWP 31025)):
      #0  0x00007ffff3f96e33 in *__GI___poll (fds=<optimized out>, fds@entry=0x7fffecae3d60, nfds=<optimized out>, nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
              _a3 = -1
              _a1 = 140737164229984
              resultvar = <optimized out>
              _a2 = 1
              oldtype = 0
              result = <optimized out>
      #1  0x00007ffff1c1a1c2 in _xcb_conn_wait (c=c@entry=0x611e90, cond=cond@entry=0x611ed0, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:400
              ret = <optimized out>
              fd = {fd = 5, events = 1, revents = 0}
      #2  0x00007ffff1c1b93f in xcb_wait_for_event (c=0x611e90) at ../../src/xcb_in.c:522
              ret = 0x0
      #3  0x00007fffef9b0d1d in QXcbEventReader::run (this=0x61d610) at /home/ulf/dev/qt5-src/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1007
              event = 0x0
      #4  0x00007ffff4f28ec8 in QThreadPrivate::start (arg=0x61d610) at /home/ulf/dev/qt5-src/qtbase/src/corelib/thread/qthread_unix.cpp:345
              __clframe = {__cancel_routine = 0x7ffff4f28f5e <QThreadPrivate::finish(void*)>, __cancel_arg = 0x61d610, __do_it = 1, __cancel_type = 32767}
              thr = 0x61d610
              data = 0x61d970
              objectName = {static null = {<No data fields>}, d = 0x7ffff5283200}
      #5  0x00007ffff49f6b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
              __res = <optimized out>
              pd = 0x7fffecae4700
              unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737164232448, -6734822333166066161, 140737488344480, 140737164233152, 140737354125376, 3, 6734785355668841999, 6734838554564290063}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
              not_first_call = <optimized out>
              freesize = <optimized out>
              __PRETTY_FUNCTION__ = "start_thread"
      #6  0x00007ffff3fa1a7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      No locals.
      #7  0x0000000000000000 in ?? ()
      No symbol table info available.
      
      Thread 1 (Thread 0x7fffefe38740 (LWP 30966)):
      #0  0x00007ffff3ef9475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
              pid = <optimized out>
              selftid = <optimized out>
      #1  0x00007ffff3efc6f0 in *__GI_abort () at abort.c:92
              act = {__sigaction_handler = {sa_handler = 0x1ffffdb10, sa_sigaction = 0x1ffffdb10}, sa_mask = {__val = {140737302898158, 140737488345904, 140737294413196, 140737488345904, 140737302897920, 140737285774240, 140737353975008, 4294957904, 4294967295, 0, 5, 3080464, 0, 0, 0, 140737294274560}}, sa_flags = -136402446, sa_restorer = 0x7fff00000005}
              sigs = {__val = {32, 0 <repeats 15 times>}}
      #2  0x00007ffff474e89d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      No symbol table info available.
      #3  0x00007ffff474c996 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      No symbol table info available.
      #4  0x00007ffff474c9c3 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      No symbol table info available.
      #5  0x00007ffff474d4df in __cxa_pure_virtual () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      No symbol table info available.
      #6  0x00007ffff57ffdbd in QOpenGLContext::makeCurrent (this=0x7a3b40, surface=0x652db0) at /home/ulf/dev/qt5-src/qtbase/src/gui/kernel/qopenglcontext.cpp:770
              d = 0x9696b0
              __PRETTY_FUNCTION__ = "bool QOpenGLContext::makeCurrent(QSurface*)"
              previous = 0x7fffffffdd00
      #7  0x00007ffff5b24534 in QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject (this=0x7fffe404bb80, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/gui/opengl/qopenglvertexarrayobject.cpp:360
              ctx = 0x7a1de0
              d = 0x7fffe4048ff0
              oldContext = 0x7a1de0
      #8  0x00007ffff5b2463c in QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject (this=0x7fffe404bb80, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/gui/opengl/qopenglvertexarrayobject.cpp:375
      No locals.
      #9  0x00007ffff5b2b46f in QScopedPointerDeleter<QOpenGLVertexArrayObject>::cleanup (pointer=0x7fffe404bb80) at ../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/tools/qscopedpointer.h:62
      No locals.
      #10 0x00007ffff5b2b42f in QScopedPointer<QOpenGLVertexArrayObject, QScopedPointerDeleter<QOpenGLVertexArrayObject> >::reset (this=0x7fffe4058d88, other=0x0) at ../../include/QtCore/../../../../qt5-src/qtbase/src/corelib/tools/qscopedpointer.h:157
              oldD = 0x7fffe404bb80
      #11 0x00007ffff5b2a8b4 in QOpenGLTextureBlitter::destroy (this=0x7fffe40416d0) at /home/ulf/dev/qt5-src/qtbase/src/gui/opengl/qopengltextureblitter.cpp:296
              d = 0x7fffe4058d50
      #12 0x00007ffff5a6a3a4 in QPlatformBackingStorePrivate::~QPlatformBackingStorePrivate (this=0x74edc0, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/gui/painting/qplatformbackingstore.cpp:74
      No locals.
      #13 0x00007ffff5a6a23c in QPlatformBackingStore::~QPlatformBackingStore (this=0x74ebb0, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/gui/painting/qplatformbackingstore.cpp:348
      No locals.
      #14 0x00007fffef9d1074 in QXcbBackingStore::~QXcbBackingStore (this=0x74ebb0, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/plugins/platforms/xcb/qxcbbackingstore.cpp:255
      No locals.
      #15 0x00007fffef9d10ac in QXcbBackingStore::~QXcbBackingStore (this=0x74ebb0, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/plugins/platforms/xcb/qxcbbackingstore.cpp:258
      No locals.
      #16 0x00007ffff5965516 in QBackingStore::~QBackingStore (this=0x74ed20, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/gui/painting/qbackingstore.cpp:140
      No locals.
      #17 0x00007ffff6485576 in QWidgetPrivate::deleteTLSysExtra (this=0x64f210) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qwidget_qpa.cpp:945
      No locals.
      #18 0x00007ffff64826dc in QWidget::destroy (this=0x6447c0, destroyWindow=true, destroySubWindows=true) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qwidget_qpa.cpp:212
              d = 0x64f210
      #19 0x00007ffff64066f0 in QApplication::~QApplication (this=0x7fffffffe050, __in_chrg=<optimized out>) at /home/ulf/dev/qt5-src/qtbase/src/widgets/kernel/qapplication.cpp:709
              w = 0x6447c0
              it = {i = {i = 0x64f540}}
              mySet = 0x64daf0
              d = 0x6049a0
      #20 0x00000000004013dc in main (argc=1, argv=0x7fffffffe198) at ../quickwidget2/main.cpp:68
              app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7ffff6c74c70, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff534e880, data = 0x7ffff534e9a0, static_metacall = 0x7ffff51e92ba <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x6049a0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff539c6a0, data = 0x7ffff53a6500, static_metacall = 0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff56ad920, stringdata = 0x7ffff53b31c0, data = 0x7ffff53b33e0, static_metacall = 0x7ffff527917c <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fffffffe050}, static staticMetaObject = {d = {superdata = 0x7ffff56b1120, stringdata = 0x7ffff5b7ffa0, data = 0x7ffff5b803c0, static_metacall = 0x7ffff57bfd8c <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x7ffff5ec8640, stringdata = 0x7ffff6895740, data = 0x7ffff6895a60, static_metacall = 0x7ffff6410824 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
              lcd = 0x63a7a0
              w = 0x657cc0
              ret = 0
              toplevel = 0x6447c0
              source = {d = 0x65b0c0}
      

      The following messages appear on stderr:

      QQmlInspector: No plugin available for view ' QQuickWidget '.
      pure virtual method called
      terminate called without an active exception
      

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              tvete Paul Olav Tvete
              Reporter:
              ulherman Ulf Hermann
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes