-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[luajit] Crashes on 32-bit builds #17042
Comments
The mpv package in mingw32 is working fine.
|
So it works for you with OSD and everything? |
Wait a sec, I did not notice the return code. It's 127. |
Perfect, using debug build of luajit fixes the issue 🤦 |
luajit is currently crashing on 32-bit build: msys2/MINGW-packages#17042
luajit is currently crashing on 32-bit build: msys2/MINGW-packages#17042
if a debug build fixes it then it sounds like optimization is breaking something ?. |
Vector optimizations issues, cause by invalid stack alignment is GCC only bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412) and is patched in MSYS's provided GCC version. Clang is unaffected as it handles it properly. For luajit, basically need to find the root cause why it crashes. I've seen that it panic on unwinding stack on error, but it shouldn't error out in the first place. And if optimization is breaking your software it is more likely that you have UB, compilers have pretty good test suites. Now mpv is using lua51 to make CI work again. |
If I launch
So I guess that #17035 fixes this (with rebuilds of mpv and libplacebo) |
ah vulkan loader problem then :) |
Wait, I think we misunderstood each other. luajit crashes are not related to Vulkan whatsoever. The only relation was that mpv was failing also when loading Vulkan, but the lua crash is still present. |
Ah true, sorry! Here's a stacktrace:
|
The error is thrown from https://github.com/LuaJIT/LuaJIT/blob/224129a/src/lj_record.c#L2630. @kasper93 could you open an issue upstream? |
This fixes crashes on 32-bit build. MSYS explicitly disables SEH for 32-bit builds which breaks the unwinding code in luajit. Fixes: msys2#17042
If it were upstream issue I would report it there in the first place. Upstream build works fine. Anyway I sent PR with the fix for the MSYS build. |
the 32 bit unwinder is broken ?!? kinda defeats the purpose of a jit based build then doesnt it ?. |
This fixes crashes on 32-bit build. MSYS explicitly disables SEH for 32-bit builds which breaks the unwinding code in luajit. Fixes: msys2#17042
luajit is currently crashing on 32-bit build: msys2/MINGW-packages#17042
Description / Steps to reproduce the issue
mpv CI started failing few days ago.
See https://github.com/mpv-player/mpv
Example of crashing build https://github.com/mpv-player/mpv/actions/runs/4836193035/jobs/8619203629
It crashes during loading/executing lua scripts. Wasn't a problem few days ago as we can see on CI history.
Interestingly it is also not caused by recent luajit update, because I reverted this locally to older version and still crashes.
To reproduce:
./mpv.com --no-config -v -v
Expected behavior
No crashes/exceptions
Actual behavior
Crashes/exceptions
Verification
Windows Version
MINGW32_NT-10.0-19045
MINGW environments affected
Are you willing to submit a PR?
No response
The text was updated successfully, but these errors were encountered: