-
Notifications
You must be signed in to change notification settings - Fork 13.3k
json-rust-0.11.3 fails its test suite in 1.15 beta with SIGSEGV #38687
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
Comments
Not a regression, looks like this nodeterministically happens on stable as well. @maciejhirsz you're likely very interested in the segfault regardless! |
@alexcrichton @brson Why was this closed? (given that it's not resolved) If I experience very similar issue but with serde-json, on stable Rust, should I submit as a separate one or it's already known and tracked somewhere? |
@RReverser I closed this as it appears to be an existing bug, and it's not clear that it's actually a bug in the compiler. With |
Hmm you mean unsafe blocks in |
To clarify - in that own procession code there is no |
@RReverser if you've got a segfault with no unsafe code, then that's definitely a bug! Could you open a second issue to track that? It's not clear that it'd be related to this issue itself. |
@alexcrichton Sure, just wanted to make sure it's not the same and/or known issue (given |
I was just trying to find similar issue and found this one and #34877, which looked like could or could not be related. |
Ok no worries. If you've got a larger code base to post feel free to do so and you can update with your minimization progress and I'm sure others will join in and help minimize as well! |
@alexcrichton Sounds great, thanks! |
D'oh, now that I spent two hours minimizing it, turns out that it's definitely similar to #34877. Basically even fn main() {
let a = [0; 10000000];
for i in a.iter() {
println!("{}", i);
}
} fails with such error, except the source of it might be much less obvious in a more complicated code that traverses a deep tree and thus also exhausts a stack. I guess by design Rust is supposed to print the stack overflow warning in such case and not segfault? Or is this desired behavior? |
Ah yeah that's just #34877 in that LLVM doesn't support stack probes on all platforms yet. Once we have that it should get a nice error message! |
@alexcrichton The original issue author had problem on Linux, I've tried on OSX. Sounds like stack probes are supported only on Windows then? |
Currently, yeah, LLVM emits stack probes unconditionally on Windows. It doesn't yet for other platforms. |
That's pretty scary :( Okay, I've probably already overspammed this irrelevant thread too much then. Thanks! |
Regression from 1.14.
https://github.com/maciejhirsz/json-rust commit 3bc4e49687bfaa541214d4a3371a543231e18069
Note this is non-deterministic, happens 1/5 times for me perhaps.
cc @maciejhirsz
The text was updated successfully, but these errors were encountered: