Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.0.1
-
None
-
Ubuntu 12.04 (32 bit & 64 bit)
-
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