Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan link error, Fuchsia recipe change. #93766

Closed
zanderso opened this issue Nov 17, 2021 · 8 comments
Closed

Vulkan link error, Fuchsia recipe change. #93766

zanderso opened this issue Nov 17, 2021 · 8 comments
Labels
engine flutter/engine repository. See also e: labels. P1 High-priority issues at the top of the work list

Comments

@zanderso
Copy link
Member

The Engine tree is currently red due to a bad interaction between two changes.

First, more build targets on "Linux Fuchsia" were enabled by https://flutter.googlesource.com/recipes/+/9a3bfaec3617c6090da6f3ac00b49a03b1fc6f51. /cc @chandarrengoog

These targets take much longer to run, and I'm not sure that they'll finish in the timeout. We may need to disable LTO, and explicitly enable goma builds. (A local build with --goma with LTO enabled takes 12 minutes, with LTO disabled it takes 2 minutes).

Second, flutter/engine#29520, which landed before the recipe change, appears to be the source of link failures in the new Fuchsia build that includes more targets. /cc @bdero @chinmaygarde.

@zanderso zanderso added engine flutter/engine repository. See also e: labels. P0 Critical issues such as a build break or regression labels Nov 17, 2021
@zanderso
Copy link
Member Author

I am going to revert the recipe change first. It will either have to be re-landed without LTO, or the Fuchsia build on CI will have to be further sharded.

Independently, @bdero can study the link failures in https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20Engine%20Drone/56415/overview to make sure that the Fuchsia build succeeds when the recipe change re-lands.

@arbreng
Copy link
Contributor

arbreng commented Nov 17, 2021

I don't understand this statement "First, more build targets on "Linux Fuchsia" were enabled by https://flutter.googlesource.com/recipes/+/9a3bfaec3617c6090da6f3ac00b49a03b1fc6f51"

The point of that change was explicitly not to enable new build targets. It was to build the exact same targets as before, but to just pass the --enable_unittests flag.

@zanderso
Copy link
Member Author

zanderso commented Nov 17, 2021

Previously the Fuchsia builds were only building flutter/shell/platform/fuchsia:fuchsia. See here.

Following the recipe change, they started building the default target. See here.

It looks like it happened here: https://flutter-review.googlesource.com/c/recipes/+/20940/2/recipes/engine.py#944

@arbreng
Copy link
Contributor

arbreng commented Nov 17, 2021

Ah, I understand now, thank you. That build step isn't intended to build the test targets, so until I land flutter/engine#29540 that line needs to build "flutter/shell/platform/fuchsia:fuchsia" explicitly

Now that we understand the regression, how could we reland this safely without making the tree go red again? Just trusting the CQ in flutter/recipes does not seem to be sufficient for that. :(

@zanderso
Copy link
Member Author

@arbreng I sent you a link to documentation about testing recipe changes over chat.

@bdero
Copy link
Member

bdero commented Nov 17, 2021

I ran into these same "relocation" link failures when trying to get swiftshader to link on another target (might have been FEMU?), and it was caused by -fPIC not getting passed as a cflag when building swiftshader vulkan. I already slipped this change into buildroot to get all the builds passing, so I'm not quite sure why it's failing in this case.

@zanderso zanderso added P1 High-priority issues at the top of the work list and removed P0 Critical issues such as a build break or regression labels Nov 17, 2021
@zanderso
Copy link
Member Author

The tree is back open, so dropping the priority to P3

@github-actions
Copy link

github-actions bot commented Feb 1, 2022

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
engine flutter/engine repository. See also e: labels. P1 High-priority issues at the top of the work list
Projects
None yet
Development

No branches or pull requests

4 participants