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

spidermonkey_68 identified as spidermonkey_60 and erroneously(?) blocked by configure on aarch64 #3149

Closed
lostnet opened this issue Sep 13, 2020 · 6 comments

Comments

@lostnet
Copy link
Contributor

lostnet commented Sep 13, 2020

Description

I created a couchdb3/spidermonkey_68 package on nixos, on x86_64 it works fine, but on aarch64 it errors out with the warning:
ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 1.8.5 instead.
which comes from couchdb/configure

Steps to Reproduce

run configure --spidermonkey-version=68 on aarch64.

Expected Behaviour

If there is a problem with _68 this should be given in the configure and referenced in an issue, but it seems to block all versions except 1.8.5 and refer to them as _60 so it is impossible to tell if problems exist or the check is out of date.

I was under the impression that 68 was deemed fine on linux/aarch64 and I can only find references to problems building spidermonkey itself on windows/aarch64 in mozilla documentation, which is not relevant. Couchdb bugs seem to indicate that a SEGV problem with _60 was resolved or no longer reproducable, so possibly the check should be removed entirely.

Your Environment

  • CouchDB version used: 3.1.0
  • Browser name and version: N/A
  • Operating system and version: nixos-unstable

Additional Context

@wohali
Copy link
Member

wohali commented Sep 14, 2020

We've never formally tested libmozjs-68 on aarch64, and have a conservative stance on whitelisting dependencies like this under the "principle of least surprise."

To get this changed it would be best to run our test suite multiple times in a loop (make check) looking for any segmentation violation crashes of couchjs. If you want you can try overriding that line and running the test a few times, and let us know how it goes.

@lostnet
Copy link
Contributor Author

lostnet commented Sep 15, 2020

Thanks @wohali, so far I've pulled in libcurl and run the make javascript part of the tests a few times. The tests still running there instead of in elixir didn't have any problems, so I'll look at bringing in any other dependencies and getting a full make check running in the next few days.

@lostnet
Copy link
Contributor Author

lostnet commented Sep 17, 2020

I've created a repo of results from aarch64 and an x86_64 celeron for comparison here A vast majority of the noise in aarch64 tests seem to relate to a timeouts joining the cluster, etc. One involves a view test, but I don't see any SEGVs .or any coredumps occuring.

I tried unblocking and testing 1.8.5 on nixos/aarch64 but I encounter a SIGSEGV during spidermonkey's own tests due to this bug which was fixed in spidermonkey_49 and don't see which 1.8.5 debian patch would be specific to this. (Perhaps the default debian kernel is not configured with CONFIG_ARM64_VA_BITS=48 as it is on the nixos kernel I am using.)

There might be a reason to prefer debian+aarch64+1.8.5 over other spidermonkey versions on debian, but I'm not seeing
much reason to think 1.8.5 wont segfault more often than newer versions on anything that didn't incorporate all of debian's patches, kernel settings compiler choices(?) etc.

@wohali
Copy link
Member

wohali commented Sep 17, 2020

OK. This is coming in too late to adjust what we do for the 3.1.1 release (that's today) but I'll look at blacklisting just SM60 for aarch64 when I'm back from holiday, week of October 5.

@lostnet
Copy link
Contributor Author

lostnet commented Sep 17, 2020

Sounds good, have a nice holiday!

lostnet pushed a commit to lostnet/couchdb that referenced this issue Dec 23, 2021
lostnet pushed a commit to lostnet/couchdb that referenced this issue Jan 5, 2022
kocolosk pushed a commit that referenced this issue Jan 12, 2022
* Win32-SM91 support and fixes

* spidermonkey_68 identified as spidermonkey_60 and erroneously(?) blocked by configure on aarch64 #3149

* remove unnecessary shell when setting ERL_AFLAGS

* fix foundationdb urls in github workflow

* quote AFLAGS like win echo and fix references to pwd

Co-authored-by: Will <w.young@schaetz-cro.ch>
janl pushed a commit that referenced this issue Mar 12, 2022
@big-r81
Copy link
Contributor

big-r81 commented Oct 18, 2022

Closing this, fixed in 016385f.

@big-r81 big-r81 closed this as completed Oct 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants