Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.5.4
-
None
Description
When upgrading from Qt 6.5.1 to (commercial) 6.5.6, we observed a new crash related to QtVirtualKeyboard. Reverting 2ad0be9c fixed the issue. Here's the backtrace. Our usecase is a test suite with a fixture that creates and destroys QApplication (and QQmlEngine) in sequence multiple times. The crash happens in a test that creates an InputPanel. The framework is quite complex, and the crash happens "randomly" (i.e., this crash hits any random test). We have not been able to isolate the error.
If there is any guidance on what extra context we can provide, please let us know. We can also add debugging in Qt sources our side if that helps figure out this crash.
It seems to me, speculation, that there's new behavior associated with hiding an InputPanel the second (or later) time it has been created after having been destroyed before. It seems from the backtrace that code on our side, which calls setVisible(false) on a newly created toplevel item, triggers a signal that causes the crash. The call to setVisible(false) happens while QQmlComponent is creating the item using QQmlIncubator. Backtrace:
/lib64/libc.so.6(+0x3e6f0) [0x7fe8ece3e6f0] lib/libQt6Qml.so.6(QJSValue QQmlEnginePrivate::singletonInstance<QJSValue>(QQmlType const&)+0x26f) [0x7fe8eeb0d7ef] lib/libQt6Qml.so.6(QV4::QQmlContextWrapper::getPropertyAndBase(QV4::QQmlContextWrapper const*, QV4::PropertyKey, QV4::Value const*, bool*, QV4::Value*, QV4::Lookup*)+0x10d2) [0x7fe8eea26152] lib/libQt6Qml.so.6(QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value*)+0x1ba) [0x7fe8eea2658a] lib/libQt6Qml.so.6(+0x289117) [0x7fe8eea89117] lib/libQt6Qml.so.6(+0x28f07f) [0x7fe8eea8f07f] lib/libQt6Qml.so.6(+0x1e4b62) [0x7fe8ee9e4b62] lib/libQt6Qml.so.6(QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*)+0x187) [0x7fe8ee9e5097] lib/libQt6Qml.so.6(QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int)+0xdc) [0x7fe8eeb40cec] lib/libQt6Qml.so.6(QQmlBoundSignalExpression::evaluate(void**)+0x26b) [0x7fe8eeaddf9b] lib/libQt6Qml.so.6(+0x2de880) [0x7fe8eeade880] lib/libQt6Qml.so.6(QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**)+0x1b5) [0x7fe8eeb68585] lib/libQt6Core.so.6(+0x1a0aee) [0x7fe8ed7a0aee] lib/libQt6Quick.so.6(QQuickItemPrivate::setEffectiveVisibleRecur(bool)+0x138) [0x7fe8ef3e35b8] lib/libQt6Quick.so.6(QQuickItemPrivate::setEffectiveVisibleRecur(bool)+0xdc) [0x7fe8ef3e355c] lib/libQt6Quick.so.6(QQuickItemPrivate::setEffectiveVisibleRecur(bool)+0xdc) [0x7fe8ef3e355c] lib/libQt6Quick.so.6(QQuickItemPrivate::setEffectiveVisibleRecur(bool)+0xdc) [0x7fe8ef3e355c] lib/libQt6Quick.so.6(QQuickItemPrivate::setVisible(bool)+0x43) [0x7fe8ef3e3613]
... (our code below) lib/roomos-core.so(roomos::core::AppItemIncubator::setInitialState(QObject*)+0x43) [0x7fe8f0743283]
lib/libQt6Qml.so.6(QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&)+0xef4) [0x7fe8eeb3cc84] lib/libQt6Qml.so.6(QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlRefPointer<QQmlContextData> const&)+0x254) [0x7fe8eeb3cf54] lib/libQt6Qml.so.6(QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*)+0x272) [0x7fe8eeaed6e2]
Attachments
Issue Links
- resulted from
-
QTBUG-116432 Virtual keyboard import version number from Qt 5.15 does not work in Qt 6.5 version
- Closed