AsteroidOS / asteroid-launcher

AsteroidOS launcher and Wayland compositor based on Qt5, QML and QtWayland via Lipstick.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Q: How to restart the launcher

beschulz opened this issue · comments

I'm in the process of porting retroarch to AsteroidOS. Unfortunately the launcher (?) sometimes crashes during retroarch startup (it's my understanding, that the launcher is responsible for managing the display of application windows - like an xserver). then the display goes black and I need to restart the watch. Is there another way?

You can connect to the watch via ssh using

ssh root@192.168.2.15

And then restart the "ceres" user session using

systemctl restart user@1000

If you want to investigate why asteroid-launcher crashes (I do), you might need to run

journalctl -u user@1000 --no-pager

And check what happens to asteroid-launcher

Thanks for the quick reply, here's the log:

Nov 08 21:54:33 dory asteroid-launcher[394]: EGLFS: Screen Info
Nov 08 21:54:33 dory asteroid-launcher[394]:  - Physical size: QSizeF(30, 30)
Nov 08 21:54:33 dory asteroid-launcher[394]:  - Screen size: QSize(280, 280)
Nov 08 21:54:33 dory asteroid-launcher[394]:  - Screen depth: 32
Nov 08 21:54:33 dory asteroid-launcher[394]: == hwcomposer module ==
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Address: 0xb4468004
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Module API Version: 2
Nov 08 21:54:33 dory asteroid-launcher[394]:  * HAL API Version: 0
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Identifier: hwcomposer
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Name: Qualcomm Hardware Composer Module
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Author: CodeAurora Forum
Nov 08 21:54:33 dory asteroid-launcher[394]: == hwcomposer module ==
Nov 08 21:54:33 dory asteroid-launcher[394]: == hwcomposer device ==
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Version: 1040001 (interpreted as 1040001)
Nov 08 21:54:33 dory asteroid-launcher[394]:  * Module: 0xb4468004
Nov 08 21:54:33 dory asteroid-launcher[394]: == hwcomposer device ==
Nov 08 21:54:33 dory asteroid-launcher[394]: QEglScreen 0x2082990
Nov 08 21:54:33 dory asteroid-launcher[394]: Notifications restored: 0
Nov 08 21:54:34 dory asteroid-launcher[394]: QEglWindow 0x2119730: 0x20a4c98 0x0
Nov 08 21:54:34 dory asteroid-launcher[394]: Could not connect to the orientation sensor backend
Nov 08 21:54:34 dory asteroid-launcher[394]: Hardware Compositor support is disabled
Nov 08 21:54:34 dory asteroid-launcher[394]: qrc:/qml/compositor.qml:160: TypeError: Cannot read property 'currentVerticalPos' of undefined
Nov 08 21:54:34 dory asteroid-launcher[394]: ../../git/src/sqlitestorage.cpp: 193 - database "/home/ceres/.local/share/system/privileged/Calendar/mkcal/db" opened
Nov 08 21:54:35 dory asteroid-launcher[394]: Undefined -> Unlocked
Nov 08 21:54:35 dory systemd[364]: Started The wayland compositors and desktop of AsteroidOS.
Nov 08 21:54:35 dory systemd[364]: Starting Application launch booster for Qt Components on QtQuick2...
Nov 08 21:54:35 dory asteroid-launcher[394]: sleepDisplay
Nov 08 21:54:35 dory systemd[364]: Started Application launch booster for Qt Components on QtQuick2.
Nov 08 21:54:35 dory systemd[364]: Reached target Default.
Nov 08 21:54:35 dory systemd[364]: Startup finished in 2.622s.
Nov 08 21:54:35 dory systemd[1]: Started User Manager for UID 1000.
Nov 08 21:54:35 dory booster-qtcomponents-qt5[439]: Using Wayland-EGL
Nov 08 21:54:35 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:54:35 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:54:35 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:54:35 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:54:36 dory asteroid-launcher[394]: unsleepDisplay
Nov 08 21:54:37 dory asteroid-btsyncd[380]: BLE Adapter "/org/bluez/hci0" found
Nov 08 21:54:37 dory asteroid-btsyncd[380]: Service "/" registered
Nov 08 21:54:37 dory asteroid-btsyncd[380]: Advertisement "/org/asteroidos/btsyncd/advertisement" registered
Nov 08 21:54:42 dory asteroid-launcher[394]: QUnifiedTimer::stopAnimationDriver: driver is not running
Nov 08 21:54:42 dory asteroid-launcher[394]: sleepDisplay
Nov 08 21:55:22 dory asteroid-launcher[394]: unsleepDisplay
Nov 08 21:55:31 dory asteroid-launcher[394]: QUnifiedTimer::stopAnimationDriver: driver is not running
Nov 08 21:55:31 dory asteroid-launcher[394]: sleepDisplay
Nov 08 21:56:12 dory asteroid-launcher[394]: unsleepDisplay
Nov 08 21:56:20 dory asteroid-launcher[394]: Using the 'wl-shell' shell integration
Nov 08 21:56:20 dory booster-qtcomponents-qt5[439]: Using Wayland-EGL
Nov 08 21:56:21 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:56:21 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:56:21 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:56:21 dory booster-qtcomponents-qt5[439]: Empty filename passed to function
Nov 08 21:57:11 dory asteroid-launcher[394]: Specified Desktop file does not exist "/usr/share/applications/asteroid-btsyncd.desktop"
Nov 08 21:57:11 dory asteroid-launcher[394]: No desktop entry for process name: "/usr/bin/asteroid-btsyncd"
Nov 08 21:57:49 dory booster-qtcomponents-qt5[439]: The Wayland connection broke. Did the Wayland compositor die?
Nov 08 21:57:49 dory systemd[364]: asteroid-launcher.service: Main process exited, code=dumped, status=11/SEGV
Nov 08 21:57:49 dory systemd[364]: asteroid-launcher.service: Unit entered failed state.
Nov 08 21:57:49 dory systemd[364]: asteroid-launcher.service: Failed with result 'core-dump'.
Nov 08 21:57:49 dory /usr/libexec/mapplauncherd/booster-qtcomponents-qt5[439]: Boosted process (pid=440) was terminated due to signal 6
Nov 08 21:57:49 dory mapplauncherd[439]: Daemon: Failed to kill 602: No such process
Nov 08 21:57:50 dory systemd[364]: asteroid-launcher.service: Service hold-off time over, scheduling restart.
Nov 08 21:57:50 dory systemd[364]: Stopping Application launch booster for Qt Components on QtQuick2...
Nov 08 21:57:50 dory systemd[364]: Stopped Application launch booster for Qt Components on QtQuick2.
Nov 08 21:57:50 dory systemd[364]: Stopped The wayland compositors and desktop of AsteroidOS.
Nov 08 21:57:50 dory systemd[364]: Starting The wayland compositors and desktop of AsteroidOS...
Nov 08 21:57:50 dory asteroid-launcher[682]: EGLFS: Screen Info
Nov 08 21:57:50 dory asteroid-launcher[682]:  - Physical size: QSizeF(30, 30)
Nov 08 21:57:50 dory asteroid-launcher[682]:  - Screen size: QSize(280, 280)
Nov 08 21:57:50 dory asteroid-launcher[682]:  - Screen depth: 32
Nov 08 21:57:50 dory asteroid-launcher[682]: == hwcomposer module ==
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Address: 0xb4389004
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Module API Version: 2
Nov 08 21:57:50 dory asteroid-launcher[682]:  * HAL API Version: 0
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Identifier: hwcomposer
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Name: Qualcomm Hardware Composer Module
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Author: CodeAurora Forum
Nov 08 21:57:50 dory asteroid-launcher[682]: == hwcomposer module ==
Nov 08 21:57:50 dory asteroid-launcher[682]: == hwcomposer device ==
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Version: 1040001 (interpreted as 1040001)
Nov 08 21:57:50 dory asteroid-launcher[682]:  * Module: 0xb4389004
Nov 08 21:57:50 dory asteroid-launcher[682]: == hwcomposer device ==
Nov 08 21:57:50 dory asteroid-launcher[682]: QEglScreen 0x19a0990
Nov 08 21:57:50 dory asteroid-launcher[682]: Notifications restored: 0
Nov 08 21:57:50 dory asteroid-launcher[682]: QEglWindow 0x1a3cce8: 0x1a41780 0x0
Nov 08 21:57:50 dory asteroid-launcher[682]: Could not connect to the orientation sensor backend
Nov 08 21:57:50 dory asteroid-launcher[682]: Hardware Compositor support is disabled
Nov 08 21:57:50 dory asteroid-launcher[682]: qrc:/qml/compositor.qml:160: TypeError: Cannot read property 'currentVerticalPos' of undefined
Nov 08 21:57:50 dory asteroid-launcher[682]: ../../git/src/sqlitestorage.cpp: 193 - database "/home/ceres/.local/share/system/privileged/Calendar/mkcal/db" opened
Nov 08 21:57:51 dory systemd[364]: asteroid-launcher.service: Main process exited, code=dumped, status=11/SEGV
Nov 08 21:57:51 dory systemd[364]: Failed to start The wayland compositors and desktop of AsteroidOS.
Nov 08 21:57:51 dory systemd[364]: Dependency failed for Application launch booster for Qt Components on QtQuick2.
Nov 08 21:57:51 dory systemd[364]: booster-qtcomponents-qt5.service: Job booster-qtcomponents-qt5.service/start failed with result 'dependency'.
Nov 08 21:57:51 dory systemd[364]: asteroid-launcher.service: Unit entered failed state.
Nov 08 21:57:51 dory systemd[364]: asteroid-launcher.service: Failed with result 'core-dump'.
Nov 08 21:57:51 dory systemd[364]: asteroid-launcher.service: Service hold-off time over, scheduling restart.
Nov 08 21:57:51 dory systemd[364]: Stopped The wayland compositors and desktop of AsteroidOS.
Nov 08 21:57:51 dory systemd[364]: Starting The wayland compositors and desktop of AsteroidOS...
Nov 08 21:57:51 dory asteroid-launcher[700]: EGLFS: Screen Info
Nov 08 21:57:51 dory asteroid-launcher[700]:  - Physical size: QSizeF(30, 30)
Nov 08 21:57:51 dory asteroid-launcher[700]:  - Screen size: QSize(280, 280)
Nov 08 21:57:51 dory asteroid-launcher[700]:  - Screen depth: 32
Nov 08 21:57:51 dory asteroid-launcher[700]: == hwcomposer module ==
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Address: 0xb43ec004
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Module API Version: 2
Nov 08 21:57:51 dory asteroid-launcher[700]:  * HAL API Version: 0
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Identifier: hwcomposer
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Name: Qualcomm Hardware Composer Module
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Author: CodeAurora Forum
Nov 08 21:57:51 dory asteroid-launcher[700]: == hwcomposer module ==
Nov 08 21:57:51 dory asteroid-launcher[700]: == hwcomposer device ==
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Version: 1040001 (interpreted as 1040001)
Nov 08 21:57:51 dory asteroid-launcher[700]:  * Module: 0xb43ec004
Nov 08 21:57:51 dory asteroid-launcher[700]: == hwcomposer device ==
Nov 08 21:57:51 dory asteroid-launcher[700]: QEglScreen 0xc0b990
Nov 08 21:57:51 dory asteroid-launcher[700]: Notifications restored: 0
Nov 08 21:57:51 dory asteroid-launcher[700]: QEglWindow 0xca9078: 0xcaa648 0x0
Nov 08 21:57:51 dory asteroid-launcher[700]: Could not connect to the orientation sensor backend
Nov 08 21:57:51 dory asteroid-launcher[700]: Hardware Compositor support is disabled
Nov 08 21:57:51 dory asteroid-launcher[700]: qrc:/qml/compositor.qml:160: TypeError: Cannot read property 'currentVerticalPos' of undefined
Nov 08 21:57:52 dory asteroid-launcher[700]: ../../git/src/sqlitestorage.cpp: 193 - database "/home/ceres/.local/share/system/privileged/Calendar/mkcal/db" opened
Nov 08 21:57:52 dory systemd[364]: asteroid-launcher.service: Main process exited, code=dumped, status=11/SEGV
Nov 08 21:57:52 dory systemd[364]: Failed to start The wayland compositors and desktop of AsteroidOS.
Nov 08 21:57:52 dory systemd[364]: asteroid-launcher.service: Unit entered failed state.
Nov 08 21:57:52 dory systemd[364]: asteroid-launcher.service: Failed with result 'core-dump'.
Nov 08 21:57:52 dory systemd[364]: asteroid-launcher.service: Service hold-off time over, scheduling restart.
Nov 08 21:57:52 dory systemd[364]: Stopped The wayland compositors and desktop of AsteroidOS.
Nov 08 21:57:52 dory systemd[364]: Starting The wayland compositors and desktop of AsteroidOS...
Nov 08 21:57:52 dory asteroid-launcher[719]: EGLFS: Screen Info
Nov 08 21:57:52 dory asteroid-launcher[719]:  - Physical size: QSizeF(30, 30)
Nov 08 21:57:52 dory asteroid-launcher[719]:  - Screen size: QSize(280, 280)
Nov 08 21:57:52 dory asteroid-launcher[719]:  - Screen depth: 32
Nov 08 21:57:52 dory asteroid-launcher[719]: == hwcomposer module ==
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Address: 0xb4420004
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Module API Version: 2
Nov 08 21:57:52 dory asteroid-launcher[719]:  * HAL API Version: 0
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Identifier: hwcomposer
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Name: Qualcomm Hardware Composer Module
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Author: CodeAurora Forum
Nov 08 21:57:52 dory asteroid-launcher[719]: == hwcomposer module ==
Nov 08 21:57:52 dory asteroid-launcher[719]: == hwcomposer device ==
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Version: 1040001 (interpreted as 1040001)
Nov 08 21:57:52 dory asteroid-launcher[719]:  * Module: 0xb4420004
Nov 08 21:57:52 dory asteroid-launcher[719]: == hwcomposer device ==
Nov 08 21:57:52 dory asteroid-launcher[719]: QEglScreen 0xb4d990
Nov 08 21:57:52 dory asteroid-launcher[719]: Notifications restored: 0
Nov 08 21:57:52 dory asteroid-launcher[719]: QEglWindow 0xbe9cc8: 0xbeae80 0x0
Nov 08 21:57:53 dory asteroid-launcher[719]: Could not connect to the orientation sensor backend
Nov 08 21:57:53 dory asteroid-launcher[719]: Hardware Compositor support is disabled
Nov 08 21:57:53 dory asteroid-launcher[719]: qrc:/qml/compositor.qml:160: TypeError: Cannot read property 'currentVerticalPos' of undefined
Nov 08 21:57:53 dory asteroid-launcher[719]: ../../git/src/sqlitestorage.cpp: 193 - database "/home/ceres/.local/share/system/privileged/Calendar/mkcal/db" opened
Nov 08 21:57:53 dory asteroid-launcher[719]: Undefined -> Unlocked
Nov 08 21:57:53 dory systemd[364]: Started The wayland compositors and desktop of AsteroidOS.

running systemctl restart user@1000 does appears do do something, but the screen stays black. the last lines of the log after the restart attempt are:

Nov 08 22:01:26 dory systemd[1123]: asteroid-launcher.service: Main process exited, code=dumped, status=11/SEGV
Nov 08 22:01:26 dory systemd[1123]: Failed to start The wayland compositors and desktop of AsteroidOS.
Nov 08 22:01:26 dory systemd[1123]: asteroid-launcher.service: Unit entered failed state.
Nov 08 22:01:26 dory systemd[1123]: asteroid-launcher.service: Failed with result 'core-dump'.
Nov 08 22:01:26 dory systemd[1123]: asteroid-launcher.service: Service hold-off time over, scheduling restart.
Nov 08 22:01:26 dory systemd[1123]: Stopped The wayland compositors and desktop of AsteroidOS.
Nov 08 22:01:26 dory systemd[1123]: Starting The wayland compositors and desktop of AsteroidOS...
Nov 08 22:01:26 dory asteroid-launcher[1241]: EGLFS: Screen Info
Nov 08 22:01:26 dory asteroid-launcher[1241]:  - Physical size: QSizeF(30, 30)
Nov 08 22:01:26 dory asteroid-launcher[1241]:  - Screen size: QSize(280, 280)
Nov 08 22:01:26 dory asteroid-launcher[1241]:  - Screen depth: 32
Nov 08 22:01:26 dory asteroid-launcher[1241]: == hwcomposer module ==
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Address: 0xb43c4004
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Module API Version: 2
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * HAL API Version: 0
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Identifier: hwcomposer
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Name: Qualcomm Hardware Composer Module
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Author: CodeAurora Forum
Nov 08 22:01:26 dory asteroid-launcher[1241]: == hwcomposer module ==
Nov 08 22:01:26 dory asteroid-launcher[1241]: == hwcomposer device ==
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Version: 1040001 (interpreted as 1040001)
Nov 08 22:01:26 dory asteroid-launcher[1241]:  * Module: 0xb43c4004
Nov 08 22:01:26 dory asteroid-launcher[1241]: == hwcomposer device ==
Nov 08 22:01:26 dory asteroid-launcher[1241]: QEglScreen 0x100fa10
Nov 08 22:01:26 dory asteroid-launcher[1241]: Notifications restored: 0
Nov 08 22:01:26 dory asteroid-launcher[1241]: QEglWindow 0x10ab090: 0x10ad4e0 0x0
Nov 08 22:01:27 dory asteroid-launcher[1241]: Could not connect to the orientation sensor backend
Nov 08 22:01:27 dory asteroid-launcher[1241]: Hardware Compositor support is disabled
Nov 08 22:01:27 dory asteroid-launcher[1241]: qrc:/qml/compositor.qml:160: TypeError: Cannot read property 'currentVerticalPos' of undefined
Nov 08 22:01:27 dory asteroid-launcher[1241]: ../../git/src/sqlitestorage.cpp: 193 - database "/home/ceres/.local/share/system/privileged/Calendar/mkcal/db" opened
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Main process exited, code=dumped, status=11/SEGV
Nov 08 22:01:27 dory systemd[1123]: Failed to start The wayland compositors and desktop of AsteroidOS.
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Unit entered failed state.
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Failed with result 'core-dump'.
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Service hold-off time over, scheduling restart.
Nov 08 22:01:27 dory systemd[1123]: Stopped The wayland compositors and desktop of AsteroidOS.
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Start request repeated too quickly.
Nov 08 22:01:27 dory systemd[1123]: Failed to start The wayland compositors and desktop of AsteroidOS.
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Unit entered failed state.
Nov 08 22:01:27 dory systemd[1123]: asteroid-launcher.service: Failed with result 'core-dump'.

So the panelsGrid is undefines ??

let me know if you need more logs, I'm kind of out of my depth here.

PS.: the crashes are random, so sometimes it all works fine. I just had a quick GBA session with an bluetooth gamepad - on a watch o_O

panelsGrid is not the problem, QML code does not segfault.
However, a segfault elsewhere means you would need an asteroid-image with debugging symbols for asteroid-launcher/lipstick/qtbase and also gdb. If you already have an AsteroidOS build tree, you can try to build asteroid-image-dbg, see if it fits your userdata partition and try to run asteroid-launcher inside gdb to catch the bug (some envvars will be required https://github.com/AsteroidOS/meta-asteroid/blob/master/recipes-asteroid/asteroid-launcher/asteroid-launcher/default.conf )

That sounds super cool! You should share a video of this on Twitter and tag @AsteroidOS so that I can retweet your experiment to the broader community. :)

The original answer has been provided. Our wiki now also has these instructions: https://wiki.asteroidos.org/index.php/Useful_Commands#Restart.

There have been no reports of segfaults in a long while. If you still experience these issues, please consider opening a new issue or reopen this one.