Qt 5.15 + Embedded Linux with QT virtual key board as input panel creates Segmentation fault
-
Hi All,
We are facing a segmentation fault when we are trying to load and use virtual keyboard as input panel on embedded application on linux. QT version 1.15 being used, and crash happens at program startup during loading plugins.This application is built for both desktop and STM32 based embedded linux platform, it is working fine on desktop but crashes on embedded linux. Below is stack trace of crash on embedded linux.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[New Thread 0xb564f360 (LWP 562)]
[New Thread 0xb0ae0360 (LWP 563)]
qt.virtualkeyboard: Loading extension "pinyin"
qt.virtualkeyboard: Loading extension "thai"
qt.virtualkeyboard: Loading extension "hangul"
qt.virtualkeyboard: Loading extension "japanese"
qt.virtualkeyboard: Loading extension "handwriting"
qt.virtualkeyboard: Loading extension "traditional_chinese"
[New Thread 0xaf87f360 (LWP 564)]
[New Thread 0xaeeff360 (LWP 565)]Thread 5 "QQmlThread" received signal SIGSEGV, Segmentation fault.
+[Switching to Thread 0xaeeff360 (LWP 565)]
QQmlPropertyCache::property (this=<optimized out>, index=46) at ../../include/QtQml/5.15.7/QtQml/private/../../../../../../git/src/qml/qml/qqmlpropertycache_p.h:278
278 ../../include/QtQml/5.15.7/QtQml/private/../../../../../../git/src/qml/qml/qqmlpropertycache_p.h: No such file or directory.
(gdb)
(gdb) thread apply all btThread 5 (Thread 0xaeeff360 (LWP 565) "QQmlThread"):
#0 QQmlPropertyCache::property (this=<optimized out>, index=46) at ../../include/QtQml/5.15.7/QtQml/private/../../../../../../git/src/qml/qml/qqmlpropertycache_p.h:278
#1 0xb6c09d94 in QQmlPropertyCacheAliasCreator<QQmlTypeCompiler>::propertyDataForAlias (this=this@entry=0xaeefe2dc, component=..., alias=..., type=type@entry=0xaeefe274, minorVersion=minorVersion@entry=0xaeefe278, propertyFlags=propertyFlags@entry=0xaeefe270, enginePriv=enginePriv@entry=0x5c63b8) at ../../include/QtQml/5.15.7/QtQml/private/../../../../../../git/src/qml/qml/qqmlpropertycachecreator_p.h:857
#2 0xb6c09f86 in QQmlPropertyCacheAliasCreator<QQmlTypeCompiler>::appendAliasesToPropertyCache (this=this@entry=0xaeefe2dc, component=..., objectIndex=objectIndex@entry=0, enginePriv=0x5c63b8) at ../../include/QtQml/5.15.7/QtQml/private/../../../../../../git/src/qml/qml/qqmlpropertycachecreator_p.h:932
#3 0xb6c08996 in QQmlComponentAndAliasResolver::resolveAliases (componentIndex=0, this=0xaeefe38c) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypecompiler.cpp:1038
#4 QQmlComponentAndAliasResolver::resolveAliases (this=0xaeefe38c, componentIndex=0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypecompiler.cpp:1015
#5 0xb6c08aca in QQmlComponentAndAliasResolver::resolve (this=this@entry=0xaeefe38c) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypecompiler.cpp:971
#6 0xb6c08e72 in QQmlTypeCompiler::compile (this=this@entry=0xaeefe45c) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypecompiler.cpp:124
#7 0xb6bb83f4 in QQmlTypeData::compile(QQmlRefPointer<QQmlTypeNameCache> const&, QV4::ResolvedTypeReferenceMap*, std::function<QByteArray ()> const&) (this=this@entry=0x6717f0, typeNameCache=..., resolvedTypeCache=resolvedTypeCache@entry=0xaeefe4e0, dependencyHasher=...) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:774
#8 0xb6bbaf2a in QQmlTypeData::done (this=0x6717f0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:451
#9 0xb6bb31ca in QQmlDataBlob::tryDone (this=0x6717f0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmldatablob.cpp:524
#10 QQmlDataBlob::tryDone (this=0x6717f0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmldatablob.cpp:515
#11 0xb6bdf456 in QQmlTypeLoader::setCachedUnit (this=this@entry=0x5c645c, blob=blob@entry=0x6717f0, unit=0xaff606f0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:477
#12 0xb6bdf488 in QQmlTypeLoader::loadWithCachedUnitThread (this=this@entry=0x5c645c, blob=blob@entry=0x6717f0, unit=<optimized out>) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:266
#13 0xb6be1f9c in CachedLoader::loadThread (this=0xaeefe5c0, this=0xaeefe5c0, blob=0x6717f0, loader=0x5c645c) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:182
#14 QQmlTypeLoader::doLoad<CachedLoader> (this=0x5c645c, loader=..., blob=0x6717f0, mode=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:205
#15 0xb6bdf4a4 in QQmlTypeLoader::loadWithCachedUnit (this=this@entry=0x5c645c, blob=blob@entry=0x6717f0, unit=unit@entry=0xaff606f0, mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:252
#16 0xb6be0bc0 in QQmlTypeLoader::getType (this=0x5c645c, unNormalizedUrl=..., mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:822
#17 0xb6bba3f0 in QQmlTypeData::resolveTypes (this=this@entry=0x6514e0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:873
#18 0xb6bbb702 in QQmlTypeData::allDependenciesDone (this=0x6514e0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:743
#19 0xb6bdf430 in QQmlTypeLoader::setCachedUnit (this=this@entry=0x5c645c, blob=blob@entry=0x6514e0, unit=0xaff770a0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:470
#20 0xb6bdf488 in QQmlTypeLoader::loadWithCachedUnitThread (this=this@entry=0x5c645c, blob=blob@entry=0x6514e0, unit=<optimized out>) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:266
#21 0xb6be1f9c in CachedLoader::loadThread (this=0xaeefe768, this=0xaeefe768, blob=0x6514e0, loader=0x5c645c) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:182
#22 QQmlTypeLoader::doLoad<CachedLoader> (this=0x5c645c, loader=..., blob=0x6514e0, mode=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:205
#23 0xb6bdf4a4 in QQmlTypeLoader::loadWithCachedUnit (this=this@entry=0x5c645c, blob=blob@entry=0x6514e0, unit=unit@entry=0xaff770a0, mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:252
#24 0xb6be0bc0 in QQmlTypeLoader::getType (this=0x5c645c, unNormalizedUrl=..., mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:822
#25 0xb6bba3f0 in QQmlTypeData::resolveTypes (this=this@entry=0x63e908) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:873
#26 0xb6bbb702 in QQmlTypeData::allDependenciesDone (this=0x63e908) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:743
#27 0xb6bdf430 in QQmlTypeLoader::setCachedUnit (this=this@entry=0x5c645c, blob=blob@entry=0x63e908, unit=0xaff5d1f0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:470
#28 0xb6bdf488 in QQmlTypeLoader::loadWithCachedUnitThread (this=this@entry=0x5c645c, blob=blob@entry=0x63e908, unit=<optimized out>) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:266
#29 0xb6be1f9c in CachedLoader::loadThread (this=0xaeefe910, this=0xaeefe910, blob=0x63e908, loader=0x5c645c) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:182
#30 QQmlTypeLoader::doLoad<CachedLoader> (this=0x5c645c, loader=..., blob=0x63e908, mode=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:205
#31 0xb6bdf4a4 in QQmlTypeLoader::loadWithCachedUnit (this=this@entry=0x5c645c, blob=blob@entry=0x63e908, unit=unit@entry=0xaff5d1f0, mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:252
#32 0xb6be0bc0 in QQmlTypeLoader::getType (this=0x5c645c, unNormalizedUrl=..., mode=mode@entry=QQmlTypeLoader::PreferSynchronous) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:822
#33 0xb6bba3f0 in QQmlTypeData::resolveTypes (this=this@entry=0x5d89e0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:873
#34 0xb6bbb702 in QQmlTypeData::allDependenciesDone (this=0x5d89e0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypedata.cpp:743
#35 0xb6bdf1a4 in QQmlTypeLoader::setData (this=this@entry=0x5c645c, blob=blob@entry=0x5d89e0, d=...) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:450
#36 0xb6bdf3a2 in QQmlTypeLoader::setData (this=this@entry=0x5c645c, blob=blob@entry=0x5d89e0, fileName=...) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:437
#37 0xb6bdf8fc in QQmlTypeLoader::loadThread (this=0x5c645c, blob=<optimized out>, blob@entry=0x5d89e0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloader.cpp:299
#38 0xb6bbf504 in QQmlTypeLoaderThread::loadThread (this=<optimized out>, b=0x5d89e0) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/qqmltypeloaderthread.cpp:162
#39 0xb6c17832 in QQmlThreadPrivate::threadEvent (this=0x5bea58) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/ftw/qqmlthread.cpp:198
#40 0xb6c179b4 in QQmlThreadPrivate::event (this=0x5bea58, e=0x5d8840) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/ftw/qqmlthread.cpp:142
#41 0xb6830be6 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#42 0xb68312b2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#43 0xb68595dc in QEventDispatcherUNIX::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
#44 0xb682e8d4 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5
#45 0xb675f170 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#46 0xb6c17440 in QQmlThreadPrivate::run (this=0x5bea58) at /usr/src/debug/qtdeclarative/5.15.7+gitAUTOINC+0d60f81bf6-r0/git/src/qml/qml/ftw/qqmlthread.cpp:155
#47 0xb675fdc6 in ?? () from /usr/lib/libQt5Core.so.5
#48 0xb646cdfc in ?? () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)