Skip to content
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

Error on Unity 2022.3.13 on Windows IL2CPP #29

Open
in0finite opened this issue Jan 21, 2024 · 9 comments
Open

Error on Unity 2022.3.13 on Windows IL2CPP #29

in0finite opened this issue Jan 21, 2024 · 9 comments

Comments

@in0finite
Copy link

in0finite commented Jan 21, 2024

Library fails to decompress files on above platform.

The error message is: data corruption detected.

Sorry, no time right now to make reproduction steps.

0.7.4 and 0.7.2 give runtime error, 0.7.3 fails to compile.

@oleg-st
Copy link
Owner

oleg-st commented Jan 30, 2024

It looks like the problem is in the MSVC compiler.
The /d2ssa-cse- option used in Unity causes incorrect code generation
https://godbolt.org/z/rfK5c6fGW

Reported here:
https://developercommunity.visualstudio.com/t/The-d2ssa-cse--option-causes-incorrect/10574272

@in0finite
Copy link
Author

in0finite commented Jan 30, 2024

Keep in mind that error happens on other platforms aswell, for example, on WebGL. As far as I know, they don't use MSVC for compiling to WebAssembly. The conversion process is: C# => IL => IL2CPP => CPP => Emscripten => WebAssembly.

Sorry, I forgot to mention that in the initial post. I assumed the bug is in IL2CPP.

@oleg-st
Copy link
Owner

oleg-st commented Jan 30, 2024

@in0finite
Copy link
Author

Switching to ulong/long like last time might help here.

Nope, I tried using my fork of library with ulong/long, it doesn't work.

@oleg-st
Copy link
Owner

oleg-st commented Jan 30, 2024

A workaround for the MSVC problem:

Add additionalIl2CppArgs: --compiler-flags="/d2SSAOptimizer-" to ProjectSettings.asset

@Jake-NSW
Copy link

I am getting a similar error on WebGL platform and using the additional CppArgs doesn't seem to fix it (can't build the project). I did the native integer types test, and it also reports wrong.

64310096
64236544
125

Any help would be great :)

@oleg-st
Copy link
Owner

oleg-st commented Feb 20, 2024

The WebGL platform does not have proper debugging tools to find the root cause.
You can report a problem with a native integers in WebGL to Unity.

@oleg-st
Copy link
Owner

oleg-st commented Apr 29, 2024

@Jake-NSW @in0finite
Looks like decompression works in Unity 2022.3.26f1 WebGL

@in0finite
Copy link
Author

Thanks for letting me know.

However, in the meantime, I switched to 2023.3.0b5 and the bug is still present here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants