Subject: bug#47655: QML2_IMPORT_PATH does not work in a profile

From: Maxim Cournoyer <[email-masked]>
Date: Thu, 08 Apr 2021 11:49:16 -0400

Here's a backtrace which shows where the problem occurs exactly:

--8<---------------cut here---------------start------------->8---
$ gdb --args install/client-qt/bin/jami-qt --debug
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from install/client-qt/bin/jami-qt...
(gdb) run 
Starting program: /home/mcournoyer/src/ring-project/install/client-qt/bin/jami-qt --debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libthread_db.so.1".
[New Thread 0x7fffe7ba7700 (LWP 19172)]
[New Thread 0x7fffdd987700 (LWP 19173)]
[New Thread 0x7fffd5186700 (LWP 19174)]
[New Thread 0x7fffdd186700 (LWP 19175)]
[New Thread 0x7fffdc985700 (LWP 19176)]
QQmlImportDatabase::addImportPath: "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml"
QQmlImportDatabase::addImportPath: "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml"
QQmlImportDatabase::addImportPath: "qrc:/qt-project.org/imports"
QQmlImportDatabase::addImportPath: "/home/mcournoyer/src/ring-project/install/client-qt/bin"
[New Thread 0x7fffd7dff700 (LWP 19178)]
[New Thread 0x7fffd6bbe700 (LWP 19179)]
[New Thread 0x7fffd63bd700 (LWP 19180)]
[New Thread 0x7fffd5bbc700 (LWP 19181)]
[New Thread 0x7fffd4985700 (LWP 19182)]
[New Thread 0x7fffb7fff700 (LWP 19183)]
[New Thread 0x7fffb77fe700 (LWP 19184)]
[Detaching after fork from child process 19185]
No accounts to migrate
[New Thread 0x7fffb6ffd700 (LWP 19186)]
QQmlImports(qrc:/src/MainApplicationWindow.qml)::addLibraryImport: "QtQuick" 2.14 as ""
QQmlImports(qrc:/src/MainApplicationWindow.qml)::importExtension: loaded "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml/QtQuick.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick" from "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml/QtQuick.2"
QQmlImports(qrc:/src/MainApplicationWindow.qml)::addLibraryImport: "QtQuick.Window" 2.14 as ""
QQmlImports(qrc:/src/MainApplicationWindow.qml)::importExtension: loaded "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml/QtQuick/Window.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick.Window" from "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml/QtQuick/Window.2"
QQmlImports(qrc:/src/MainApplicationWindow.qml)::addLibraryImport: "QtQuick.Controls" 2.14 as ""
QQmlImports(qrc:/src/MainApplicationWindow.qml)::importExtension: loaded "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml/QtQuick/Controls.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick.Controls" from "/gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/qt5/qml/QtQuick/Controls.2"

Thread 7 "QQmlThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd7dff700 (LWP 19178)]
0x00007ffff7f4c829 in QListData::size (this=0x7fffc0090438)
    at /gnu/store/g14mn8v8gh48m7fp2i12yalc7bgj8jgf-qtbase-5.15.2/include/qt5/QtCore/qlist.h:115
115         inline int size() const noexcept { return int(d->end - d->begin); }   // q6sizetype
(gdb) bt -full
#0  0x00007ffff7f4c829 in QListData::size (this=0x7fffc0090438)
    at /gnu/store/g14mn8v8gh48m7fp2i12yalc7bgj8jgf-qtbase-5.15.2/include/qt5/QtCore/qlist.h:115
No locals.
#1  QList<QString>::count (this=0x7fffc0090438)
    at /gnu/store/g14mn8v8gh48m7fp2i12yalc7bgj8jgf-qtbase-5.15.2/include/qt5/QtCore/qlist.h:359
No locals.
#2  QQuickStyleSelector::select (this=<optimized out>, fileName=...) at qquickstyleselector.cpp:138
        d = <optimized out>
        to = <optimized out>
#3  0x00007ffff7f4bddf in QQuickStylePlugin::resolvedUrl (this=this@entry=0x7fffc008d310, fileName=...)
    at qquickstyleplugin.cpp:88
        d = <optimized out>
#4  0x00007fffd52c2210 in QtQuickControls2Plugin::registerTypes (this=0x7fffc008d310, 
    uri=0x7fffc008d178 "QtQuick.Controls") at qtquickcontrols2plugin.cpp:132
        style = {static null = {<No data fields>}, d = 0x7fffef1c48e0 <qt_array>}
        theme = 0x7fffc008d1c0
        stylePlugins = {<QListSpecialMethods<QQuickStylePlugin*>> = {<No data fields>}, {p = {
              static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                        static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, 
                alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffc008f4c0}, d = 0x7fffc008f4c0}}
        import = {d = <optimized out>}
#5  0x00007fffef7f0dea in QQmlMetaType::registerPluginTypes (instance=instance@entry=0x7fffc008d310, 
    basePath=..., uri=..., typeNamespace=..., vmaj=vmaj@entry=2, errors=errors@entry=0x7fffd7dfe460)
    at qml/qqmlmetatype.cpp:732
        iface = <optimized out>
        bytes = {d = 0x7fffc008d160}
        moduleId = <optimized out>
        failureRecorder = {
          data = 0x7fffef9d76c0 <(anonymous namespace)::Q_QGS_metaTypeData::innerFunction()::holder>}
        failures = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {
                static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                          static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, 
                  alloc = 0, begin = 0, end = 0, array = {0x0}}, 
                d = 0x7fffef1c5410 <QListData::shared_null>}, 
              d = 0x7fffef1c5410 <QListData::shared_null>}}, <No data fields>}
        data = {locker = {val = 140737213462185}, 
          data = 0x7fffef9d76c0 <(anonymous namespace)::Q_QGS_metaTypeData::innerFunction()::holder>}
#6  0x00007fffef8331c0 in registerPluginTypes (instance=instance@entry=0x7fffc008d310, basePath=..., 
    uri=..., typeNamespace=..., vmaj=vmaj@entry=2, errors=errors@entry=0x7fffd7dfe460)
    at qml/qqmlimport.cpp:2165
No locals.
#7  0x00007fffef83621e in QQmlImportDatabase::importDynamicPlugin (this=this@entry=0x6e1e88, 
    filePath=..., uri=..., typeNamespace=..., vmaj=vmaj@entry=2, errors=errors@entry=0x7fffd7dfe460)
    at qml/qqmlimport.cpp:2282
        plugin = {uri = {static null = {<No data fields>}, d = 0x7fffc0008a70}, loader = 0x7fffc008c9a0}
        loader = 0x7fffc008c9a0
        plugins = <optimized out>
        lock = {val = 140737213470985}
        typesRegistered = <optimized out>
        fileInfo = {d_ptr = {d = 0x8a0bb0}}
        absoluteFilePath = {static null = {<No data fields>}, d = 0x7fffc008caf0}
        instance = <optimized out>
        engineInitialized = <optimized out>
#8  0x00007fffef839c12 in QQmlImportsPrivate::importExtension (this=this@entry=0x8a0b50, 
    qmldirFilePath=..., uri=..., vmaj=vmaj@entry=2, vmin=vmin@entry=14, 
    database=database@entry=0x6e1e88, qmldir=..., errors=0x7fffd7dfe460) at qml/qqmlimport.cpp:1221
        resolvedFilePath = {static null = {<No data fields>}, d = 0x7fffc008caf0}
        plugin = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        __for_range = @0x7fffd7dfdfa0: {<QListSpecialMethods<QQmlDirParser::Plugin>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffc0090c30}, d = 0x7fffc0090c30}}
        __for_begin = {i = <optimized out>}
        __for_end = {i = <optimized out>}
        typeNamespace = {static null = {<No data fields>}, d = 0x7fffc008c7b0}
        qmldirPath = {static null = {<No data fields>}, d = 0x7fffc0085750}
        slash = <optimized out>
        dynamicPluginsFound = <optimized out>
        staticPluginsFound = 0
        qmldirPlugins = {<QListSpecialMethods<QQmlDirParser::Plugin>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffc0090c30}, d = 0x7fffc0090c30}}
        qmldirPluginCount = <optimized out>
#9  0x00007fffef83a930 in QQmlImportsPrivate::addLibraryImport (this=0x8a0b50, uri=..., prefix=..., vmaj=vmaj@entry=2, vmin=vmin@entry=14, qmldirIdentifier=..., qmldirUrl=..., incomplete=false, database=0x6e1e88, errors=0x7fffd7dfe460) at qml/qqmlimport.cpp:1571
        qmldir = {m_parser = {_errors = {<QListSpecialMethods<QQmlJS::DiagnosticMessage>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffef1c5410 <QListData::shared_null>}, d = 0x7fffef1c5410 <QListData::shared_null>}}, _typeNamespace = {static null = {<No data fields>}, d = 0x7fffc008c7b0}, _components = {<QHash<QString, QQmlDirParser::Component>> = {{d = 0x7fffef1c5380 <QHashData::shared_null>, e = 0x7fffef1c5380 <QHashData::shared_null>}}, <No data fields>}, _dependencies = {{d = 0x7fffc0090c80, e = 0x7fffc0090c80}}, _imports = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffef1c5410 <QListData::shared_null>}, d = 0x7fffef1c5410 <QListData::shared_null>}}, <No data fields>}, _scripts = {<QListSpecialMethods<QQmlDirParser::Script>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffef1c5410 <QListData::shared_null>}, d = 0x7fffef1c5410 <QListData::shared_null>}}, _plugins = {<QListSpecialMethods<QQmlDirParser::Plugin>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffc0090c30}, d = 0x7fffc0090c30}}, _designerSupported = true, _typeInfos = {<QListSpecialMethods<QQmlDirParser::TypeInfo>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffef1c5410 <QListData::shared_null>}, d = 0x7fffef1c5410 <QListData::shared_null>}}, _className = {static null = {<No data fields>}, d = 0x7fffc0090cc0}}, m_location = {static null = {<No data fields>}, d = 0x7fffc0084940}, m_hasContent = true}
        nameSpace = 0x8a0b68
        inserted = <optimized out>
#10 0x00007fffef83aa76 in QQmlImports::addLibraryImport (this=this@entry=0x8a1268, importDb=importDb@entry=0x6e1e88, uri=..., prefix=..., vmaj=2, vmin=14, qmldirIdentifier=..., qmldirUrl=..., incomplete=false, errors=0x7fffd7dfe460) at qml/qqmlimport.cpp:1830
No locals.
#11 0x00007fffef80c3bc in QQmlTypeLoader::Blob::addImport (this=this@entry=0x8a1200, import=std::shared_ptr<QQmlTypeLoader::Blob::PendingImport> (use count 1, weak count 0) = {...}, errors=errors@entry=0x7fffd7dfe460) at qml/qqmltypeloader.cpp:586
        qmldirFilePath = {static null = {<No data fields>}, d = 0x7fffc0084940}
        qmldirUrl = {static null = {<No data fields>}, d = 0x7fffc008c590}
        qmldirResult = QQmlImports::QmldirFound
        importDatabase = 0x6e1e88
#12 0x00007fffef80c9b7 in QQmlTypeLoader::Blob::addImport (this=this@entry=0x8a1200, import=import@entry=0x7fffc0015220, errors=errors@entry=0x7fffd7dfe460) at qml/qqmltypeloader.cpp:562
No locals.
#13 0x00007fffef7b620e in QQmlTypeData::continueLoadFromIR (this=this@entry=0x8a1200) at qml/qqmltypedata.cpp:703
        import = 0x7fffc0015220
        __for_range = <optimized out>
        __for_begin = {i = <optimized out>}
        __for_end = {i = <optimized out>}
        containingType = {d = {o = 0x0}}
        containingTypeName = {static null = {<No data fields>}, d = 0x7fffc000bde0}
        major = -1
        minor = -1
        ns = 0x0
        errors = {<QListSpecialMethods<QQmlError>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7fffef1c5410 <QListData::shared_null>}, d = 0x7fffef1c5410 <QListData::shared_null>}}
#14 0x00007fffef7bb354 in QQmlTypeData::dataReceived (this=0x8a1200, data=...) at qml/qqmltypedata.cpp:601
No locals.
#15 0x00007fffef80718c in QQmlTypeLoader::setData (this=this@entry=0x6e1ed8, blob=blob@entry=0x8a1200, d=...) at qml/qqmltypeloader.cpp:447
        prof = {<QQmlProfilerHelper> = {<QQmlProfilerDefinitions> = {<No data fields>}, profiler = 0x0}, <No data fields>}
#16 0x00007fffef8074c4 in QQmlTypeLoader::setData (this=this@entry=0x6e1ed8, blob=blob@entry=0x8a1200, fileName=...) at qml/qqmltypeloader.cpp:437
        d = {inlineSourceCode = {static null = {<No data fields>}, d = 0x7fffef1c4940 <QArrayData::shared_null>}, fileInfo = {d_ptr = {d = 0x7fffc0004f50}}, hasInlineSourceCode = false}
#17 0x00007fffef8079d5 in QQmlTypeLoader::loadThread (this=0x6e1ed8, blob=blob@entry=0x8a1200) at qml/qqmltypeloader.cpp:299
        fileName = {static null = {<No data fields>}, d = 0x7fffc0003400}
#18 0x00007fffef7c4d7d in QQmlTypeLoaderThread::loadThread (this=<optimized out>, b=0x8a1200) at qml/qqmltypeloaderthread.cpp:162
No locals.
#19 0x00007fffef885796 in QQmlThreadPrivate::threadEvent (this=0x6bc840) at qml/ftw/qqmlthread.cpp:198
        message = <optimized out>
#20 0x00007fffef885eea in QQmlThreadPrivate::event (this=0x6bc840, e=0x8a0210) at qml/ftw/qqmlthread.cpp:142
No locals.
#21 0x00007ffff715ac3c in QApplicationPrivate::notify_helper (this=this@entry=0x666140, receiver=receiver@entry=0x6bc840, e=e@entry=0x8a0210) at kernel/qapplication.cpp:3632
        consumed = false
        filtered = false
#22 0x00007ffff716157f in QApplication::notify (this=0x7fffffffd070, receiver=0x6bc840, e=0x8a0210) at kernel/qapplication.cpp:3156
        w = <optimized out>
        wheel = <optimized out>
        spontaneous = <optimized out>
        phase = <optimized out>
        d = <optimized out>
        res = false
#23 0x00007fffef0d1373 in QCoreApplication::notifyInternal2 (receiver=0x6bc840, event=0x8a0210) at kernel/qcoreapplication.cpp:1063
        selfRequired = true
        result = false
        cbdata = {0x6bc840, 0x8a0210, 0x7fffd7dfe7ff}
        d = <optimized out>
        threadData = <optimized out>
        scopeLevelCounter = {threadData = 0x6d8560}
#24 0x00007fffef0d152e in QCoreApplication::sendEvent (receiver=receiver@entry=0x6bc840, event=event@entry=0x8a0210) at kernel/qcoreapplication.cpp:1458
No locals.
#25 0x00007fffef0d4521 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x6d8560) at kernel/qcoreapplication.cpp:1817
        e = 0x8a0210
        pe = <optimized out>
        r = 0x6bc840
        relocker = {m_func = {__locker = @0x7fffd7dfe880}, m_invoke = true}
        event_deleter = {d = 0x8a0210}
        locker = {_M_device = 0x6d8590, _M_owns = false}
        startOffset = 0
        i = @0x6d8584: 1
        cleanup = {receiver = 0x0, event_type = 0, data = 0x6d8560, exceptionCaught = true}
#26 0x00007fffef0d4b18 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1676
        data = <optimized out>
#27 0x00007fffef130d53 in postEventSourceDispatch (s=0x7fffc0004bb0) at kernel/qeventdispatcher_glib.cpp:277
        source = 0x7fffc0004bb0
#28 0x00007ffff769deda in g_main_context_dispatch () from /gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/libglib-2.0.so.0
No symbol table info available.
#29 0x00007ffff769e0d8 in g_main_context_iterate.isra () from /gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/libglib-2.0.so.0
No symbol table info available.
#30 0x00007ffff769e15c in g_main_context_iteration () from /gnu/store/rczz1sz7vffvrmwn7i5n2a9909xny3rl-profile/lib/libglib-2.0.so.0
No symbol table info available.
#31 0x00007fffef13044c in QEventDispatcherGlib::processEvents (this=0x7fffc0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x7fffc0000b80
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#32 0x00007fffef0cfd2a in QEventLoop::exec (this=this@entry=0x7fffd7dfeab0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
        d = 0x7fffc0003690
        threadData = <optimized out>
        locker = {val = 7082872}
        ref = {d = 0x7fffc0003690, locker = @0x7fffd7dfea48, exceptionCaught = true}
        app = <optimized out>
#33 0x00007fffeeee9bd7 in QThread::exec (this=this@entry=0x6bc840) at thread/qthread.cpp:547
        d = 0x6c1320
        locker = {val = 7082872}
        eventLoop = {<QObject> = {_vptr.QObject = 0x7fffef3b0268 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fffef2a6580 <qt_meta_stringdata_QObject>, data = 0x7fffef2a6460 <qt_meta_data_QObject>, static_metacall = 0x7fffef10ac80 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x7fffc0003690}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fffef2a9520 <qt_meta_stringdata_Qt>, data = 0x7fffef2a66a0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fffef3a7ae0 <QObject::staticMetaObject>}, stringdata = 0x7fffef2a0d00 <qt_meta_stringdata_QEventLoop>, data = 0x7fffef2a0ca0 <qt_meta_data_QEventLoop>, static_metacall = 0x7fffef0cfa30 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#34 0x00007fffef885465 in QQmlThreadPrivate::run (this=0x6bc840) at qml/ftw/qqmlthread.cpp:155
No locals.
#35 0x00007fffeeeeaff9 in QThreadPrivate::start (arg=0x6bc840) at thread/qthread_unix.cpp:329
        thr = 0x6bc840
        data = <optimized out>
        __clframe = {__cancel_routine = 0x7fffeeeea470 <QThreadPrivate::finish(void*)>, __cancel_arg = 0x6bc840, __do_it = 1, __cancel_type = <optimized out>}
#36 0x00007fffee921f64 in start_thread () from /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libpthread.so.0
No symbol table info available.
#37 0x00007fffeea319af in clone () from /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6
No symbol table info available.
--8<---------------cut here---------------end--------------->8---

It crashes in the QtQuickControls2 plugin registration code.  Perhaps
the fix could be local to that, else applied globally to
QQmlMetaType::registerPluginTypes (which is in qtdeclarative).

Maxim