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

[🐛 Bug]: Selenium Manager downloads x86_64 firefox binaries on ARM Linux #13793

Open
lprimak opened this issue Apr 10, 2024 · 14 comments
Open
Labels
help wanted Issues looking for contributions I-defect

Comments

@lprimak
Copy link

lprimak commented Apr 10, 2024

What happened?

Firefox is available for Linux ARM (mac, OCI/ampere, ARM/gravitron etc)
However, Selenium Manager downloads the x86_64 version leading to failures

High Impact

This issue makes impossible to run Selenium tests on Ubuntu-based docker images without going through gymnastics of installing firefox manually.
This is difficult because it requires snap, which doesn't work in Docker containers

How can we reproduce the issue?

Any Selenium run on arm64 linux with firefox driver will reproduce this.

Relevant log output

N/A

Operating System

ARM Linux (Mac, cloud)

Selenium version

Java 4.19.1 (ltest)

What are the browser(s) and version(s) where you see this issue?

Firefox (latest)

What are the browser driver(s) and version(s) where you see this issue?

geckodriver (latest)

Are you using Selenium Grid?

N/A

Copy link

@lprimak, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@lprimak
Copy link
Author

lprimak commented Apr 10, 2024

Did a bit more research, and I don't see a "download" for Arm64 Linux on Firefox' site at all. Perhaps they don't offer supported versions.
Still, I think Selenium should give an error / log or something instead of silently downloading x86 version.

Alpine linux offers firefox in their apk package manager, but ubuntu, debian, etc. do not.

@diemol diemol added I-logging Applied to issues where logging information would help troubleshoot and removed needs-triaging labels Apr 10, 2024
Copy link

We need more information about this issue in order to troubleshoot.

Please turn on logging and re-run your code. Information on how to adjust logs for your language can be found in our
Troubleshooting documentation.

@diemol
Copy link
Member

diemol commented Apr 10, 2024

@bonigarcia do you know if SM checks this?

@bonigarcia
Copy link
Member

Indeed, Firefox is not distributed for ARM Linux. On the other hand, Selenium Manager for Linux is only compiled and distributed for x64. Maybe Selenium Manager should fail in this scenario, but I never tested it.

@diemol
Copy link
Member

diemol commented Apr 10, 2024

True. ARM Linux is still "rare," so we do not have the tools to test it yet. I will leave this open and see if someone wants to help add this validation. Right now, this is a low priority.

@diemol diemol added help wanted Issues looking for contributions and removed I-logging Applied to issues where logging information would help troubleshoot labels Apr 10, 2024
Copy link

This issue is looking for contributors.

Please comment below or reach out to us through our IRC/Slack/Matrix channels if you are interested.

@lprimak
Copy link
Author

lprimak commented Apr 10, 2024

I did some more research, and Mozilla is working on new distributions for Arm Linux.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1678342

I didn't realize that Selenium Manager is only compiled for x64, I guess it was running in the emulation mode in my tests.

@mvysny
Copy link

mvysny commented May 16, 2024

Playwright supports both Chromium and Firefox for Linux arm64.

@diemol
Copy link
Member

diemol commented May 16, 2024

Playwright supports both Chromium and Firefox for Linux arm64.

@mvysny Playwright patches Firefox, so you are not using the real browser your users have.

@atmnk
Copy link

atmnk commented May 19, 2024

Indeed, Firefox is not distributed for ARM Linux. On the other hand, Selenium Manager for Linux is only compiled and distributed for x64. Maybe Selenium Manager should fail in this scenario, but I never tested it.

I see its available with focal package here https://packages.ubuntu.com/focal/arm64/firefox/download. Or I am mistaking anything. Is this still issue? Will be happy to contribute.

@diemol
Copy link
Member

diemol commented May 19, 2024

What's the Mozilla url to download Firefox for Linux on ARM architecture? We don't grab packages from Ubuntu, we grab the binary directly from Mozilla.

@atmnk
Copy link

atmnk commented May 19, 2024

I think they are not yet publishing for release versions they recently started publishing nightly as i can see here https://connect.mozilla.org/t5/discussions/arm64-armhf-firefox-binary-tarballs-for-packaging-for-ubuntu/m-p/12847.
May be we should wait for them to publish.

@titusfortner
Copy link
Member

my vote is that until we can support it, we should throw an error rather than get the wrong thing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Issues looking for contributions I-defect
Projects
Status: No status
Development

No branches or pull requests

6 participants