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

Segmentation fault running on Ampere A1 ARM nodes #22820

Closed
zebrapurring opened this issue Jul 15, 2022 · 6 comments
Closed

Segmentation fault running on Ampere A1 ARM nodes #22820

zebrapurring opened this issue Jul 15, 2022 · 6 comments
Labels
E2E Issue related to end-to-end testing Triaged Issue has been routed to backlog. This is not a commitment to have it prioritized by the team.

Comments

@zebrapurring
Copy link

zebrapurring commented Jul 15, 2022

Current behavior

Running cypress info inside Docker image cypress/included:10.3.0 on an Ampere A1 ARM node from Oracle Cloud crashes with a segmentation fault:

The Test Runner unexpectedly exited via a exit event with signal SIGSEGV

Please search Cypress documentation for possible solutions:

https://on.cypress.io

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

----------

Platform: linux-arm64 (Debian - 11.3)
Cypress Version: 10.3.0

Backtrace from lldb /root/.cache/Cypress/10.3.0/Cypress/Cypress -o run -o bt:

Process 563 stopped
* thread #1, name = 'Cypress', stop reason = signal SIGSEGV: invalid address (fault address: 0xfffd2cc88188)
    frame #0: 0x0000fffd2cc88188
error: memory read failed for 0xfffd2cc88000

Process 563 launched: '/root/.cache/Cypress/10.3.0/Cypress/Cypress' (aarch64)
(lldb) bt
* thread #1, name = 'Cypress', stop reason = signal SIGSEGV: invalid address (fault address: 0xfffd2cc88188)
  * frame #0: 0x0000fffd2cc88188

Desired behavior

The same image on an Apple M1 laptop runs without issues on Docker:

[203:0715/192723.014766:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process.
[203:0715/192723.024831:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
Displaying Cypress info...

Detected no known browsers installed


Proxy Settings: none detected
Environment Variables:
CYPRESS_CACHE_FOLDER: /root/.cache/Cypress

Application Data: /root/.config/cypress/cy/development
Browser Profiles: /root/.config/cypress/cy/development/browsers
Binary Caches: /root/.cache/Cypress

Cypress Version: 10.3.0 (stable)
System Platform: linux (Debian - 11.3)
System Memory: 12.5 GB free 11.6 GB

Test code to reproduce

docker run -it --entrypoint cypress cypress/included:10.3.0 info

Cypress Version

10.3.0

Other

Differences between Apple M1 and Ampere A1 node:

Apple M1 Ampere A1
Processor features (/proc/cpuinfo) fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp flagm2 frint fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
uname -a Linux e3899445ff5b 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 aarch64 GNU/Linux Linux cypress 5.4.17-2136.307.3.1.el8uek.aarch64 #2 SMP Mon May 9 17:31:12 PDT 2022 aarch64 GNU/Linux

file /root/.cache/Cypress/10.3.0/Cypress/Cypress matches on both systems:

/root/.cache/Cypress/10.3.0/Cypress/Cypress: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=ba8c9a4a660b291a0a48ec2cf93511128e91fbae, not stripped
@flotwig
Copy link
Contributor

flotwig commented Jul 15, 2022

Hey @zebrapurring, thanks for trying out the new arm64 builds!

I just span up an Ampere A1 ARM node on Oracle Cloud running the Ubuntu image. I ran these commands after SSHing in:

apt update
apt install docker docker.io git
git clone https://github.com/cypress-io/cypress-test-tiny.git
docker run -v `pwd`/cypress-test-tiny:/app -it cypress/included:10.3.0 --project /app

...and the tests passed. Also, I was able to run cypress info.

I have the same cpuinfo as you, but my uname -a output differs somewhat:

Linux dda1f29c7367 5.15.0-1011-oracle #15-Ubuntu SMP Fri Jun 10 12:21:49 UTC 2022 aarch64 GNU/Linux

What OS are you running? Any other configuration information you think may be pertinent?

@zebrapurring
Copy link
Author

zebrapurring commented Jul 15, 2022

Thanks @flotwig for the quick response! I'm running a K3s cluster on Oracle Linux 8.6, just tried running the tests from cypress-test-tiny manually and it crashed as well.

setenforce Permissive
dnf install docker git
git clone https://github.com/cypress-io/cypress-test-tiny.git
docker run -v `pwd`/cypress-test-tiny:/app -it cypress/included:10.3.0 --project /app

Outputs:

The Test Runner unexpectedly exited via a exit event with signal SIGSEGV

Please search Cypress documentation for possible solutions:

https://on.cypress.io

Check if there is a GitHub issue describing this crash:

https://github.com/cypress-io/cypress/issues

Consider opening a new issue.

----------

Platform: linux-arm64 (Debian - 11.3)
Cypress Version: 10.3.0

The node configuration is the default, the only installed software is K3s through https://get.k3s.io.

@flotwig
Copy link
Contributor

flotwig commented Jul 15, 2022

@zebrapurring Thanks for the info. Weird that we detect CentOS as "Debian"...

I was able to reproduce with Oracle Linux. Since it's CentOS based, I'm pretty sure we're getting hit by electron/electron#25387 - the reproduction there also fails on my Oracle Linux install, with the version Cypress is using (18.3.0), and the latest stable (19.0.0), and the latest beta (v20.0.0-beta.8). It fails in docker run -it ubuntu bash as well.

I'll bump the issue over there for now: electron/electron#25387 (comment)

@flotwig flotwig added the stage: awaiting external fix A 3rd party bug in Cypress - awaiting release label Jul 18, 2022
@mschile mschile added triage and removed triage labels Aug 18, 2022
@github-actions
Copy link
Contributor

This issue has not had any activity in 180 days. Cypress evolves quickly and the reported behavior should be tested on the latest version of Cypress to verify the behavior is still occurring. It will be closed in 14 days if no updates are provided.

@github-actions github-actions bot added the stale no activity on this issue for a long period label Apr 13, 2023
@zebrapurring
Copy link
Author

The issue is still present.

@nagash77 nagash77 removed the stale no activity on this issue for a long period label Apr 14, 2023
@mjhenkes mjhenkes assigned mschile and unassigned mjhenkes Apr 25, 2023
@mschile mschile added the Triaged Issue has been routed to backlog. This is not a commitment to have it prioritized by the team. label Apr 25, 2023
@mschile mschile removed their assignment Apr 25, 2023
@mschile mschile added the E2E Issue related to end-to-end testing label Apr 25, 2023
@zebrapurring
Copy link
Author

Tested with cypress/included:13.13.2 and the issue is no longer reproducible.

@jennifer-shehane jennifer-shehane removed the stage: awaiting external fix A 3rd party bug in Cypress - awaiting release label Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E2E Issue related to end-to-end testing Triaged Issue has been routed to backlog. This is not a commitment to have it prioritized by the team.
Projects
None yet
Development

No branches or pull requests

6 participants