-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
6.10.0, 6.11
-
None
Consider the following QML code:
import QtQuick
Item {
id: option
property alias label: option.description
property alias description: option.objectName
}
Running it in qmlscene triggers an assert:
ASSERT: "targetObjectIndex >= 0" in file /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlpropertycachecreator_p.h, line 1001
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007fffef29de33 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89 #2 0x00007fffef2427b6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007fffef22934b in __GI_abort () at abort.c:77 #4 0x00007fffefbbcef5 in qAbort () at /home/nico/workspace/qt6-dev/qtbase/src/corelib/global/qassert.cpp:46 #5 0x00007fffefc17c3a in qt_maybe_message_fatal<QString&> (msgType=msgType@entry=QtFatalMsg, context=..., message=...) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/global/qlogging.cpp:2169 #6 0x00007fffefc17da5 in qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7ffff0790040 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7bffc8a5fa20) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/global/qlogging.cpp:412 #7 0x00007fffefc28bba in QMessageLogger::fatal (this=this@entry=0x7bffc88cbb20, msg=msg@entry=0x7ffff0790040 "ASSERT: \"%s\" in file %s, line %d") at /home/nico/workspace/qt6-dev/qtbase/src/corelib/global/qlogging.cpp:901 #8 0x00007fffefbbd05b in qt_assert (assertion=assertion@entry=0x7ffff4312e80 "targetObjectIndex >= 0", file=file@entry=0x7ffff43113c0 "/home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlpropertycachecreator_p.h", line=line@entry=1001) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/global/qassert.cpp:117 #9 0x00007ffff3d7572a in QQmlPropertyCacheAliasCreator<QQmlTypeCompiler>::propertyDataForAlias (this=this@entry=0x7bffc8b5f180, component=..., alias=..., type=<optimized out>, version=version@entry=0x7bffc8a5f820, propertyFlags=<optimized out>, targetPropertyIndex=<optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlpropertycachecreator_p.h:1001 #10 0x00007ffff3d753d5 in QQmlPropertyCacheAliasCreator<QQmlTypeCompiler>::propertyDataForAlias (this=this@entry=0x7bffc8b5f180, component=<optimized out>, alias=..., type=<optimized out>, type@entry=0x7bffc8a5f840, version=version@entry=0x7bffc8a5f820, propertyFlags=<optimized out>, targetPropertyIndex=<optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlpropertycachecreator_p.h:997 #11 0x00007ffff3d76786 in QQmlPropertyCacheAliasCreator<QQmlTypeCompiler>::appendAliasToPropertyCache (this=this@entry=0x7bffc8b5f180, component=..., alias=..., objectIndex=objectIndex@entry=0, aliasIndex=aliasIndex@entry=0, encodedMetaPropertyIndex=<optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlpropertycachecreator_p.h:1115 #12 0x00007ffff3d76ebd in QQmlComponentAndAliasResolver<QQmlTypeCompiler>::appendAliasToPropertyCache (this=this@entry=0x7bffc8d02550, component=component@entry=0x7e4fec4bc920, alias=alias@entry=0x7e4fec4bca88, objectIndex=objectIndex@entry=0, aliasIndex=aliasIndex@entry=0, encodedPropertyIndex=encodedPropertyIndex@entry=-1, aliasCacheCreator=<optimized out>, error= <optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlcomponentandaliasresolver_p.h:74 #13 0x00007ffff3cf6cb8 in QQmlComponentAndAliasResolver<QQmlTypeCompiler>::resolveAliasesInObject (this=this@entry=0x7bffc8d02550, component=<optimized out>, objectIndex=objectIndex@entry=0, aliasCacheCreator=aliasCacheCreator@entry=0x7bffc8b5f180, error=error@entry=0x7bffc8b5f080) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypecompiler.cpp:916 #14 0x00007ffff3d77842 in QQmlComponentAndAliasResolver<QQmlTypeCompiler>::resolveAliases (this=this@entry=0x7bffc8d02550, componentIndex=componentIndex@entry=0) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlcomponentandaliasresolver_p.h:451 #15 0x00007ffff3d79a75 in QQmlComponentAndAliasResolver<QQmlTypeCompiler>::resolve (this=this@entry=0x7bffc8d02550, root=<optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmlcomponentandaliasresolver_p.h:378 #16 0x00007ffff3cf9391 in QQmlTypeCompiler::compile (this=this@entry=0x7bffc8b5e220) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypecompiler.cpp:73 #17 0x00007ffff3d86a89 in QQmlTypeData::compile (this=this@entry=0x7d4fec4c5b80, typeNameCache=..., resolvedTypeCache=resolvedTypeCache@entry=0x7bffc8d010b0, dependencyHasher=...) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypedata.cpp:905 #18 0x00007ffff3d9b437 in QQmlTypeData::done (this=0x7d4fec4c5b80) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypedata.cpp:612 #19 0x00007ffff3a543a0 in QQmlDataBlob::tryDone (this=0x7d4fec4c5b80) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmldatablob.cpp:519 #20 0x00007ffff3de5991 in QQmlTypeLoader::setData (this=this@entry=0x7d2fec40dd80, blob=..., d=...) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:480 #21 0x00007ffff3de709a in QQmlTypeLoader::setData (this=this@entry=0x7d2fec40dd80, blob=..., fileName=...) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:461 #22 0x00007ffff3de744d in QQmlTypeLoader::loadThread (this=0x7d2fec40dd80, blob=...) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypeloader.cpp:319 #23 0x00007ffff3e20113 in QQmlTypeLoaderThread::loadThread (this=<optimized out>, b=<optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/qqmltypeloaderthread.cpp:110 #24 0x00007ffff3e227d2 in std::__invoke_impl<void, void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> > (__f=@0x7c3fec456060: (void (QQmlTypeLoaderThread::*)(class QQmlTypeLoaderThread * const, const class QQmlRefPointer<QQmlDataBlob> &)) 0x7ffff3e200ee <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>, __t=@0x7bffc87f9948: 0x7c3fec456010) at /usr/include/c++/15/bits/invoke.h:76 #25 0x00007ffff3e2293e in std::__invoke<void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> > (__fn=@0x7c3fec456060: (void (QQmlTypeLoaderThread::*)(class QQmlTypeLoaderThread * const, const class QQmlRefPointer<QQmlDataBlob> &)) 0x7ffff3e200ee <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>) at /usr/include/c++/15/bits/invoke.h:98 #26 std::__apply_impl<void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), std::tuple<QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> >, 0ul, 1ul> (__f=@0x7c3fec456060: (void (QQmlTypeLoaderThread::*)(class QQmlTypeLoaderThread * const, const class QQmlRefPointer<QQmlDataBlob> &)) 0x7ffff3e200ee <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>, __t=...) at /usr/include/c++/15/tuple:2920 #27 std::apply<void (QQmlTypeLoaderThread::*&)(QQmlRefPointer<QQmlDataBlob> const&), std::tuple<QQmlTypeLoaderThread*, QQmlRefPointer<QQmlDataBlob> > > (__f=@0x7c3fec456060: (void (QQmlTypeLoaderThread::*)(class QQmlTypeLoaderThread * const, const class QQmlRefPointer<QQmlDataBlob> &)) 0x7ffff3e200ee <QQmlTypeLoaderThread::loadThread(QQmlRefPointer<QQmlDataBlob> const&)>, __t=...) at /usr/include/c++/15/tuple:2935 #28 QQmlThread::createMessageFromMethod<void (QQmlTypeLoaderThread::*)(QQmlRefPointer<QQmlDataBlob> const&), QQmlRefPointer<QQmlDataBlob> const&>(void (QQmlTypeLoaderThread::*&&)(QQmlRefPointer<QQmlDataBlob> const&), QQmlRefPointer<QQmlDataBlob> const&)::I::call(QQmlThr ead*) (this=0x7c3fec456050, thread=<optimized out>) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/ftw/qqmlthread_p.h:109 #29 0x00007ffff407c813 in QQmlThreadPrivate::threadEvent (this=0x7cbfec55fc80) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/ftw/qqmlthread_impl.cpp:143 #30 0x00007ffff407c96d in QQmlThreadPrivate::ThreadObject::event (this=0x7cbfec55fcd8, e=0x7c1fec4c0890) at /home/nico/workspace/qt6-dev/qtdeclarative/src/qml/qml/ftw/qqmlthread_impl.cpp:85 #31 0x00007ffff6485785 in QApplicationPrivate::notify_helper (this=this@entry=0x7d4fec3e2d80, receiver=receiver@entry=0x7cbfec55fcd8, e=e@entry=0x7c1fec4c0890) at /home/nico/workspace/qt6-dev/qtbase/src/widgets/kernel/qapplication.cpp:3273 #32 0x00007ffff64a0c05 in QApplication::notify (this=0x7c1fec3e14d0, receiver=<optimized out>, e=0x7c1fec4c0890) at /home/nico/workspace/qt6-dev/qtbase/src/widgets/kernel/qapplication.cpp:3223 #33 0x00007fffefdc6ade in QCoreApplication::notifyInternal2 (receiver=0x7cbfec55fcd8, event=event@entry=0x7c1fec4c0890) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #34 0x00007fffefdc6cc9 in QCoreApplication::sendEvent (receiver=receiver@entry=0x7cbfec55fcd8, event=event@entry=0x7c1fec4c0890) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549 #35 0x00007fffefdc901f in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x7cdfec47e480) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1904 #36 0x00007fffefdc933a in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qcoreapplication.cpp:1757 #37 0x00007ffff06a7074 in postEventSourceDispatch (s=s@entry=0x7cafec4c1000) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #38 0x00007fffef506776 in g_main_dispatch (context=0x7d0fec588140) at ../glib/gmain.c:3565 #39 g_main_context_dispatch_unlocked (context=context@entry=0x7d0fec588140) at ../glib/gmain.c:4425 #40 0x00007fffef509668 in g_main_context_iterate_unlocked (context=context@entry=0x7d0fec588140, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490 #41 0x00007fffef509eac in g_main_context_iteration (context=0x7d0fec588140, may_block=1) at ../glib/gmain.c:4556 #42 0x00007ffff06a5464 in QEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #43 0x00007fffefde6a4a in QEventLoop::processEvents (this=this@entry=0x7bffc87f9360, flags=...) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qeventloop.cpp:104 #44 0x00007fffefde8045 in QEventLoop::exec (this=this@entry=0x7bffc87f9360, flags=...) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/kernel/qeventloop.cpp:186 #45 0x00007ffff013af6b in QThread::exec (this=<optimized out>) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/thread/qthread.cpp:672 #46 0x00007ffff013b0c9 in QThread::run (this=<optimized out>) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/thread/qthread.cpp:793 --Type <RET> for more, q to quit, c to continue without paging--c #47 0x00007ffff03196df in operator() (__closure=__closure@entry=0x7bffc88f9060) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/thread/qthread_unix.cpp:437 #48 0x00007ffff0319c6d in (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >(struct {...} &&) (t=...) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/thread/qthread_unix.cpp:367 #49 0x00007ffff0319f3b in QThreadPrivate::start (arg=arg@entry=0x7cbfec55fc80) at /home/nico/workspace/qt6-dev/qtbase/src/corelib/thread/qthread_unix.cpp:397 #50 0x00007ffff7863c76 in asan_thread_start (arg=0x7bffe426a000) at ../../../../libsanitizer/asan/asan_interceptors.cpp:239 #51 0x00007fffef29bdf1 in start_thread (arg=<optimized out>) at pthread_create.c:448 #52 0x00007fffef320c8c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
tested with current Qt dev branch (qtdeclarative 5b2216f97ac69d9c7a02700b253c0b0fc4d65011)