This project is archived. Its data is read-only.
QML apps crash if ran on devices without hardware acceleration
*Created by: PureTryOut* Trying to run any QML apps on a device without hardware acceleration (so `dri-swrast` installed and running on the framebuffer) causes the specific app to error in a "Segmentation fault". For example `qmltermwidget` (the `qmlkonsole` binary): ``` localhost:~$ qmlkonsole QObject::connect: No such slot Konsole::TerminalDisplay::close() in /home/pmos/build/src/qmltermwidget-fb525b7185acf3b91ba58051c337ae33294a7da7/lib/Session.cpp:214 loadAllColorSchemes Using color-schemes: ":/color-schemes/" Using color-schemes: ":/color-schemes/" qml: QSize(37, 127) Session::run() - program: "/bin/ash" Session::run() - arguments: ("") started! Segmentation fault ``` If ran with `QT_QUICK_BACKEND=software`: ``` localhost:~$ QT_QUICK_BACKEND=software qmlkonsole QObject::connect: No such slot Konsole::TerminalDisplay::close() in /home/pmos/build/src/qmltermwidget-fb525b7185acf3b91ba58051c337ae33294a7da7/lib/Session.cpp:214 loadAllColorSchemes Using color-schemes: ":/color-schemes/" Using color-schemes: ":/color-schemes/" qml: QSize(37, 127) Session::run() - program: "/bin/ash" Session::run() - arguments: ("") started! qml: QSize(86, 143) ``` gdb output seemed useless, but I'll post it for reference anyway: ``` (gdb) r Starting program: /usr/bin/qmlkonsole [New LWP 12793] [New LWP 12881] [New LWP 12882] [New LWP 12884] QObject::connect: No such slot Konsole::TerminalDisplay::close() in /home/pmos/build/src/qmltermwidget-fb525b7185acf3b91ba58051c337ae33294a7da7/lib/Session.cpp:214 loadAllColorSchemes Using color-schemes: ":/color-schemes/" Using color-schemes: ":/color-schemes/" qml: QSize(37, 127) Session::run() - program: "/bin/ash" Session::run() - arguments: ("") CRASHED! result: -1 qml: QSize(86, 143) [New LWP 14705] Thread 6 "QSGRenderThread" received signal SIGSEGV, Segmentation fault. [Switching to LWP 14705] 0xb13ed434 in ?? () from /usr/lib/libLLVM-5.0.so (gdb) bt #0 0xb13ed434 in ?? () from /usr/lib/libLLVM-5.0.so #1 0xb13ed508 in ?? () from /usr/lib/libLLVM-5.0.so Backtrace stopped: previous frame identical to this frame (corrupt stack?) ``` Also the strace log (too long to post here): https://bpaste.net/show/b6bc44f0fd92 I'm not exactly sure what to do here. We can't start running every app with `QT_QUICK_BACKEND=software`... Doing that with plasma-nm and plasma-pa (and thus the whole Plasma shell) causes it to become completely unresponsive. Possibly related to #1022?
issue