-
Notifications
You must be signed in to change notification settings - Fork 471
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
On MacOS w/M1, Rayon tests segfaults on crossbeam-deque 0.8, fixed by reverting to 0.7 #869
Comments
This seems similar to the case mentioned in #860. I said in #860 (comment):
Could you try to revert #552 and test it? |
Reverting #552 fixes Rayon's tests and works with my app. Add this to Rayon's
https://github.com/HackerFoo/crossbeam/tree/revert-552 |
I cannot reproduce the issue too. I tried the following environment:
but all tests passed. I ran @HackerFoo — What is the exact M1 chip do you use? (M1, M1 Pro, M1 Max, M1 Ultra) You can try $ sysctl -a | grep machdep.cpu
machdep.cpu.cores_per_package: 8
machdep.cpu.core_count: 8
machdep.cpu.logical_per_package: 8
machdep.cpu.thread_count: 8
machdep.cpu.brand_string: Apple M1
$ sw_vers
ProductName: macOS
ProductVersion: 12.4
BuildVersion: 21F79 Also, just for sure, can you please test it again on your Mac as the followings?
FYI, I did the followings: $ git clone git@github.com:rayon-rs/rayon.git
$ cd $_
$ git checkout a92f91b
$ git rev-parse HEAD
a92f91bf43aa3fd7f37f57bf603122a315255b9e
$ cargo update -p crossbeam-deque --precise 0.8.1
$ cargo update -p crossbeam-epoch --precise 0.9.8
## Continued running `cargo update` on different crates.
...
$ cargo tree
rayon v1.5.3 (/Volumes/data2/git-repos/rayon)
├── crossbeam-deque v0.8.1
│ ├── cfg-if v1.0.0
│ ├── crossbeam-epoch v0.9.8
│ │ ├── cfg-if v1.0.0
│ │ ├── crossbeam-utils v0.8.8
│ │ │ ├── cfg-if v1.0.0
│ │ │ └── lazy_static v1.4.0
│ │ ├── lazy_static v1.4.0
│ │ ├── memoffset v0.6.5
│ │ │ [build-dependencies]
│ │ │ └── autocfg v1.1.0
│ │ └── scopeguard v1.1.0
│ │ [build-dependencies]
│ │ └── autocfg v1.1.0
│ └── crossbeam-utils v0.8.8 (*)
├── either v1.6.1
└── rayon-core v1.9.3 (/Volumes/data2/git-repos/rayon/rayon-core)
├── crossbeam-channel v0.5.4
│ ├── cfg-if v1.0.0
│ └── crossbeam-utils v0.8.8 (*)
├── crossbeam-deque v0.8.1 (*)
├── crossbeam-utils v0.8.8 (*)
└── num_cpus v1.13.1
└── libc v0.2.126
[build-dependencies]
└── autocfg v1.1.0
[dev-dependencies]
├── lazy_static v1.4.0
├── rand v0.8.5
│ ├── libc v0.2.126
│ ├── rand_chacha v0.3.1
│ │ ├── ppv-lite86 v0.2.16
│ │ └── rand_core v0.6.3
│ │ └── getrandom v0.2.7
│ │ ├── cfg-if v1.0.0
│ │ └── libc v0.2.126
│ └── rand_core v0.6.3 (*)
└── rand_xorshift v0.3.0
└── rand_core v0.6.3 (*)
## Disable sccache
$ unset RUSTC_WRAPPER
## Run tests
$ cargo test
$ cargo +1.62.0 test Thanks! |
I found that Rayon segfaults in my app after recently updating
rustc
, so I rancargo test
on that project. I rangit bisect
to narrow the commit down to a change fromcrossbeam-deque
from0.7.2
to0.8.0
. I suspected the compiler, but found that tests fail on each stablerustc
version back to1.58.0
on my machine (MacOS 12.4, M1/aarch64).Changing
crossbeam-deque
to0.7.4
fixes the tests. So I have evidence that it may need to be fixed here, although I haven't narrowed down the failure yet.rayon-rs/rayon#956
The text was updated successfully, but these errors were encountered: