Latest flutter-auto crashes on rcar3 platforms
Description
Environment
Attachments
- 16 Jun 2023, 01:27 PM
Activity
Walt Miner June 23, 2023 at 1:54 PM
Close fo Pike M1
Marius Vlad June 19, 2023 at 9:12 AM
We have a temporary fix from the compositor and two hot-fixes added.
Marius Vlad June 19, 2023 at 9:12 AM
Fyi with https://gerrit.automotivelinux.org/gerrit/c/src/agl-compositor/+/29012 in place this won't show up as an issue, as already noticed, but note that the shell client would take output dimensions into account while computing the activation area in the ini configuration file means it would only match a 1080p display resolution. A larger display would show other bits under.
Marius Vlad June 19, 2023 at 9:06 AM
Pushed an fix upstream and added as a patch in https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-devel/+/29031 until upstream picks that up and does a meta-flutter update.
Marius Vlad June 16, 2023 at 8:34 PM
I sort of suspect this is related to multiple outputs, but I'll need to confirm first and I'll open a new jira ticket to handle that separately. We trip it over it just now, as we never relied on grabbing any output data (by that I mean the code in the embedder). As odd as this sounds, the embedder didn't made use of the output data until now. I think the code picks on the wrong output, rather than the where the embedder is at that moment, resulting in sending invalid data. We use ints in the protocol but uints in the code, hence negative values. This is a just a side-effect there's nothing particular to r-car3 other than ref-hw has two outputs, one of them being disconnected.
If that bump fixes the issue then I think we're fine until I submit a change ivi-homescreen side for Joel to pick-up it and do another meta-flutter update.
As reported by @Edi Feschiyan this morning, and confirmed locally, trying to run Flutter apps with agl-ivi-demo-platform on a rcar3 platform like the AGL reference hardware currently fails. Here's the log:
Jun 15 22:37:06 h3ulcb systemd[1]: Started Dashboard. Jun 15 22:37:06 h3ulcb audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=agl-app-flutter@dashboard_app comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Jun 15 22:37:06 h3ulcb flutter-auto[812]: [INFO:engine.cc(83)] (0) flutter: Got app status: Jun 15 22:37:06 h3ulcb flutter-auto[812]: [INFO:engine.cc(83)] (0) flutter: id: dashboard_app Jun 15 22:37:06 h3ulcb flutter-auto[812]: [INFO:engine.cc(83)] (0) flutter: status: started Jun 15 22:37:06 h3ulcb flutter-auto[812]: [INFO:engine.cc(83)] (0) flutter: Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:main.cc(85)] agl @ 98c8215 Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(295)] ********** Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(296)] * Global * Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(297)] ********** Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(298)] Application Id: .......... dashboard_app Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(302)] Cursor Theme: ............ Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(303)] Disable Cursor: .......... false Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(305)] Debug Backend: ........... false Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(307)] ******** Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(308)] * View * Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(309)] ******** Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(316)] Bundle Path: .............. /usr/share/flutter/dashboard_app/3.3.7/release Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(317)] Window Type: .............. NORMAL Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(318)] Output Index: ............. 0 Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(320)] Size: ..................... 1920 x 720 Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(325)] Fullscreen: ............... false Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:configuration.cc(327)] Accessibility Features: ... 0 Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:display.cc(324)] Touch Present Jun 15 22:37:06 h3ulcb agl-compositor[725]: Date: 2023-06-15 UTC Jun 15 22:37:06 h3ulcb agl-compositor[725]: [22:37:06.531] Added surface 0xaaaacdb878c0, app_id dashboard_app to pending list Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:engine.cc(577)] (0) Loading AOT: /usr/share/flutter/dashboard_app/3.3.7/release/lib/libapp.so Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:navigation.cc(32)] (0) Navigation: Select Single Entry History Jun 15 22:37:06 h3ulcb flutter-auto[875]: [INFO:navigation.cc(55)] (0) Navigation: Route Information Updated Jun 15 22:37:06 h3ulcb flutter-auto[875]: location: / Jun 15 22:37:06 h3ulcb flutter-auto[875]: state: Jun 15 22:37:06 h3ulcb flutter-auto[875]: replace: 0 Jun 15 22:37:06 h3ulcb agl-compositor[725]: [22:37:06.884] libwayland: error in client communication (pid 875) Jun 15 22:37:06 h3ulcb agl-compositor[725]: [22:37:06.884] Removed surface 0xaaaacdb878c0, app_id dashboard_app, role NONE Jun 15 22:37:06 h3ulcb flutter-auto[875]: xdg_wm_base@10: error 4: xdg_surface geometry (1920 x 720) does not match the configured maximized state (0 x -320) Jun 15 22:37:06 h3ulcb flutter-auto[875]: [ERROR:/usr/src/debug/flutter-auto/git-r0/git/shell/backend/egl.cc(123)] SwapBuffers failed: 12301 Jun 15 22:37:06 h3ulcb audit[875]: ANOM_ABEND auid=4294967295 uid=1001 gid=1001 ses=4294967295 subj=system_u:system_r:initrc_t:s0 pid=875 comm="io.flutter.ui" exe="/usr/bin/flutter-auto" sig=11 res=1
What I think has happened is that the rcar3 testing that was done last week by myself was with Joel's first meta-flutter bump plus @Naoto YAMAGUCHI 's patch. When Joel bumped meta-flutter a second time and the commit message mentioned the EGL 1.4 fix, I did not think to retest on rcar3 locally. However, that bump included a flutter-auto SRCREV update that included not only Joel's pick of Yamaguchi-san's fix, but several other changes from @Marius Vlad to update the agl-shell protocol support in flutter-auto. The issue seems to be in one of those changes, as tweaking the flutter-auto SRCREV backwards locally and applying Yamaguchi-san's change on top results in things working again. I will upload a change to Gerrit along those lines as a proposed fix to allow shipping Pike M1.