-
Notifications
You must be signed in to change notification settings - Fork 177
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
Rust bindings compatibility #233
Comments
It's a README issue, Line 15 in 6f3136f
|
Noted. Out of curiosity, why does the cpu detection work fine when building the bindings with C tooling but not with rust tooling? I forgot to add one detail. In the case where the code worked correctly I built the C code first and then ran the rust compiler with the |
Both procedures are designed and verified to produce the same results (on Linux and MacOS). If they are not, then the question is rather what goes wrong on your side. Can you confirm that if you execute |
I'm the user who reported the issue downstream. I can run
@matthewkeil can you make sure to activate the |
Closing issue, and leaving this breadcrumb in case others run across a similar issue. Resolved with Some results can be found here: |
Hi there @dot-asm. Thanks again for the MSM PR a couple months back. We have consumers using that library now and have run across two cases where there is an architecture compatibility issue. It's a bit weird though and would love your insight as to why its coming up and how to mitigate long-term.
Both consumers are on the same Intel Celeron processor:
Intel® Celeron® Processor N5105
They were getting an "illegal instruction" error and the core dumped.
ChainSafe/lodestar#7074
When looking for the root cause we analyzed the dump and saw it was coming from blst but were not sure with
Release
build because the function names were not there so we built a version withDebug
symbols to try and target which function was throwing. While working through the nuances of getting that sorted for them the Debug compile threw a warning aboutstd
feature not being specified. So i added the feature (even-though it should have been applied in thebuild.rs
.https://github.com/ChainSafe/lodestar/blob/05012b36e16c74a1b6ea4332beea9bedfe93d2e9/temp-deps/blst-ts/blst/bindings/rust/Cargo.toml#L30
Once that was added (and using the debug build) the illegal instruction disappeared. I got some info to try and figure out why that made a difference but after seeing the build env I think that
std
should have been used so not sure why hard applying it mattered.This brings us to how you can help. We are not sure why this behavior is happening so cannot recommend a solution/PR to resolve it. We will be happy to help in anyway we can though to try and get this sorted.
Thanks!
The text was updated successfully, but these errors were encountered: