DiamondLightSource / DiamondLightSource/cothread

Cothread builds but fails at runtime on MacOS Arm64 platforms

Open
#68 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
C
Stars
13
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Cothread claims to have support for arm64 architecture, denoted by the [switch-arm64.c file](https://github.com/DiamondLightSource/cothread/blob/master/context/switch-arm64.c). However, as noted in the [last commit made](dc2938e0cc67a7c91ff8d0039bdd87933475c88c), it does not actually work at runtime. During [testing of p4p](https://github.com/OCopping/p4p/pull/1) on the new GitHub OsX runners, which are all now arm64, we see a Bus Error:
```
/Users/runner/work/_temp/28281c48-3576-478b-b140-78e8b699ad51.sh: line 9: 3925 Bus error: 10 python -m nose2 -v p4p
```

In an ideal world we should fix the ARM64 code to allow use on modern MacOS systems. An alternative is to explicitly fail a compilation on a MacOS ARM platform (but leave it working for e.g. Rasberry Pi, which is the platform this code was originally written for).

Testing either of these fixes should be straightforward by using GitHub's `macos-latest` runner.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.