Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.2.4
-
Qt version: 6.2.4
Yocto version: 3.3.4
Compiler version: GCC 10
Device: i.MX 8M Mini
Description
We have a crash when using the Qt Virtual Keyboard inside the Qt Application Manager on an embedded device.
The virtual keyboard is displayed, but as soon as we hit a virtual keyboard key, the sub-application crashes.
The sub-application crashes but appman is still running.
We do not have the crash when running on linux desktop (Ubuntu 20.04).
We tested with the official Qt sample Application Manager Hello Word, with a basic virtual keyboard added to the system UI, and a TextEdit added the hello-world.blue sub-application, the code is provided as attachment.
We have this line in the log of appman: "Data too big for buffer (4248 > 4096)."
The value in the log can be different than 4248.
The message comes from the Wayland compositor: https://github.com/wayland-project/wayland/blob/1.20.0/src/connection.c#L80
The buffer size is hard coded here: https://github.com/wayland-project/wayland/blob/1.20.0/src/connection.c#L57
Full log of appman:
[WARN | am.deployment] The current locale is not UTF-8 capable. Trying to find a capable one now, but this is time consuming and should be avoided
[WARN | am.deployment] No --installation-dir command line parameter or applications/installationDir configuration key specified. It won't be possible to install, remove or access installable packages.
[INFO | am.system] NOTICE: running on private D-Bus session bus to avoid conflicts:
[INFO | am.system] DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-M54tLUt4DU,guid=3ec22e58f4cca7c94afd75866241d14c
[WARN | default] QQmlEngine::setContextForObject(): Object already has a QQmlContext
[INFO | am.graphics] WindowManager: running in Wayland mode [socket: "qtam-wayland-0"]
Data too big for buffer (4248 > 4096).
error in client communication (pid 591)
Error sending request: Broken pipe
[WARN | default | h.blue] The Wayland connection broke. Did the Wayland compositor die?
How we start the application:
export FB_MULTI_BUFFER=2 export QT_QPA_EGLFS_FORCEVSYNC=1 export QT_QPA_EGLFS_FORCE888=1 export QT_QPA_EGLFS_KMS_ATOMIC=1 export QT_QPA_EGLFS_KMS_CONFIG=/etc/kms.conf export QTWEBENGINE_DISABLE_GPU_THREAD=1 export QT_IM_MODULE=qtvirtualkeyboard appman --builtin-apps-manifest-dir apps system-ui.qml -platform eglfs
The linux system runs with eglfs but the appman handles the wayland compositor.
We also talked with Robert Griebl and he said to create a ticket because it was more linked to virtual keyboard and wayland than its development on Qt Application Manager.