You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ref: 01e53fe commit message extended
with more info.
llvm-mingw 21 creating broken LibreSSL ARM64 binaries, crashing with
errorlevel -1073740791 aka 0xC0000409 (STATUS_STACK_BUFFER_OVERRUN),
as tested with the current latest llvm-mingw 21.1.4. The crash has no
display, pop-up, it just quits with this error code. This error code
indicates a "fail fast exception", not an actual buffer overrun,
according to Raymond Chen:
https://devblogs.microsoft.com/oldnewthing/20190108-00/?p=100655
curl is crashing silently when touching SSL code.
It isn't LibreSSL-specific, and happens with OpenSSL 3.5.2 as well.
It also isn't ARM64-specific, and happens with x64 builds too (but
x64 isn't built with llvm-mingw in production.)
With x64 binaries the crash happens on real Windows (seen on 11), but
not when run under WINE (as seen on macOS).
Test binaries (both ARM64 and x64 built with llvm-mingw 21.1.4):
https://github.com/curl/curl-for-win/actions/runs/18890841503https://github.com/curl/curl-for-win/actions/runs/18890841503/artifacts/4399632973
Disabling CFGuard by omitting `-mguard=cf` options makes the crash
disappear. If this causes just not catching an error, or disabling
a broken CFGuard, I can't tell. (If I had to guess it's the latter.)
Ref: https://gist.github.com/alvinhochun/a65e4177e2b34d551d7ecb02b55a4b0a
curl-for-win official ARM64 binaries affected: 8.15.0_6 to 8.16.0_12
Running a basic curl transfer test would be nice to catch this early,
but running ARM64 binaries isn't possible under WINE.
Another thing to consider is using llvm-mingw also for x64, to catch
issues earlier and to reduce combinations.
Regression from e7a1232
0 commit comments