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

[ListView] Crash / SIGSEGV: "QML VisualDataModel: Error creating delegate"

    XMLWordPrintable

Details

    • 3e3b5709025d3564215cfca4f9aa5da95742a61f

    Description

      When I run a simple ListView test it crashes after a few left/right moves saying: "<Unknown File>: QML VisualDataModel: Error creating delegate"

      (gdb) bt
      #0  0x00507d76 in QQmlContextData::destroy() () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Qml.so.5
      #1  0x002f0643 in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Quick.so.5
      #2  0x002f088e in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Quick.so.5
      #3  0x00504882 in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Qml.so.5
      #4  0x00505441 in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Qml.so.5
      #5  0x00505868 in QQmlIncubationController::incubateFor(int) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Qml.so.5
      #6  0x0025bbf5 in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Quick.so.5
      #7  0x0079ce94 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Widgets.so.5
      #8  0x007a08a4 in QApplication::notify(QObject*, QEvent*) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Widgets.so.5
      #9  0x0132ed3e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #10 0x01330f04 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #11 0x0133145c in QCoreApplication::sendPostedEvents(QObject*, int) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #12 0x0137c0e4 in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #13 0x01e9bd86 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
      #14 0x01e9c125 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
      #15 0x01e9c201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
      #16 0x0137c4f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #17 0x0254d486 in ?? () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/plugins/platforms/libqxcb.so
      #18 0x0132d576 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #19 0x0132d9b4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #20 0x01331502 in QCoreApplication::exec() () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Core.so.5
      #21 0x00d831b4 in QGuiApplication::exec() () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Gui.so.5
      #22 0x00798044 in QApplication::exec() () from /home/A.Romanek/Qt5.0.1/5.0.1/gcc/bin/../lib/libQt5Widgets.so.5
      #23 0x0804b369 in ?? ()
      #24 0x016754d3 in __libc_start_main (main=0x804aad0, argc=2, ubp_av=0xbffff2c4, init=0x804eea0, fini=0x804ef10, rtld_fini=0x11f270 <_dl_fini>, stack_end=0xbffff2bc) at libc-start.c:226
      #25 0x0804d841 in ?? ()
      

      When run through valgrind I see some invalid reads and writes in libQt5Quick.so:

      ==24568== Invalid read of size 4
      ==24568==    at 0x41F2631: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41F288D: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x4406881: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Qml.so.5.0.1)
      ==24568==    by 0x4407440: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Qml.so.5.0.1)
      ==24568==    by 0x4407867: QQmlIncubationController::incubateFor(int) (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Qml.so.5.0.1)
      ==24568==  Address 0x7786c54 is 20 bytes inside a block of size 60 free'd
      ==24568==    at 0x402ACFC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
      ==24568==    by 0x41E0880: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41F1389: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41EAD22: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41EAD68: QQuickVisualDataModel::release(QQuickItem*) (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x42465D8: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41D1443: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41D98EE: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x42441DB: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x424434E: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41D8952: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41C9F75: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568== 
      ==24568== Invalid write of size 4
      ==24568==    at 0x41F2634: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41F288D: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x4406881: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Qml.so.5.0.1)
      ==24568==    by 0x4407440: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Qml.so.5.0.1)
      ==24568==    by 0x4407867: QQmlIncubationController::incubateFor(int) (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Qml.so.5.0.1)
      ==24568==  Address 0x7786c58 is 24 bytes inside a block of size 60 free'd
      ==24568==    at 0x402ACFC: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
      ==24568==    by 0x41E0880: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41F1389: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41EAD22: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41EAD68: QQuickVisualDataModel::release(QQuickItem*) (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x42465D8: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41D1443: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41D98EE: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x42441DB: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x424434E: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41D8952: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      ==24568==    by 0x41C9F75: ??? (in /home/A.Romanek/Qt5.0.1/5.0.1/gcc/lib/libQt5Quick.so.5.0.1)
      

      I attached the test case as Segfault.qml

      Attachments

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

        Activity

          People

            mitch_curtis Mitch Curtis
            bladend Adam Romanek
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes