-
Notifications
You must be signed in to change notification settings - Fork 728
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
UnknownOpcode(192) again #3192
Comments
Are you sure that you use the latest |
It is the same opcode 192 from my understanding. And yes, I am sure |
Okay, thank you for confirming! |
@koute maybe it's time to consider enabling sign-ext... Again? |
Yeah, this shouldn't happen anymore. @nazar-pc Could you please post exact reproduction steps?
Yes; the long-term solution is most likely getting rid of WASM altogether. (:
Well, we could do that; if you want to, be my guest! We'd need to:
But this isn't really a proper long-term fix per-se; it'd be medium-term at most. Sure, it will fix this particular case, but that's only until yet another new WASM feature is enabled by default in LLVM, and then we're going to have to do this song and dance once again. |
I've just tried to compile |
Hmm... compilation of Is there a way to reproduce this locally? |
This has nothing to do with Rust, using new Rust toolchain is fine, I was talking about LLVM version installed on the system. I typically use https://github.com/KyleMayes/install-llvm-action in CI to install LLVM 15 (specific version for Substrate-based runtime to compile successfully), upgrading that to LLVM 16 or 17 breaks things. Now that I though about it some more I think it is related to the fact that we probably have some C dependencies in the stack that are compiled in WASM, not just Rust code. |
Yes, that does sound like what's most likely happening here, in which case you should be able to easily fix it by just telling clang to not emit non-MVP instructions. |
I'm not calling Clang though. I call |
Looks like rust-lang/cc-rs#268 will need to happen for C dependencies to account for |
Doing |
I've met the same issue while building a substrate node. So I tried the workaround you've mentioned, and yes, it did work for me also. Is the issue handled? Or should I just stay with the workaround for a while |
Well, #3777 was supposed to close this, but it didn't, at least with C dependencies I still need |
Really? This pass should rewrite the op codes... |
Well, I did quick check with
So yeah... |
It's obviously a cached one, did you take care to invalidate the cache? |
It is certainly not cache, I just nuked |
I triple-checked and yes, I do. Our current downstream version is derived from stable2409 release, which certainly contains #3777. |
How can I reproduce it? |
Some runtimes seem to be fine, but not this one 🤔 |
@bkchr let me know if you had a chance to take a look (or even planning to) |
Is there an existing issue?
Experiencing problems? Have you tried our Stack Exchange first?
Description of bug
Yes, that same famous issue again.
Using Substrate derived from 127b9be and
nightly-2024-01-19
version of Rust I'm still getting "UnknownOpcode(192)" with modern version of LLVM.As such I believe the issue is still very much present despite #1755 being resolved by building standard library from source.
I believe some long-term solution needs to be found for this issue at last.
cc @koute
Steps to reproduce
No response
The text was updated successfully, but these errors were encountered: