-
Notifications
You must be signed in to change notification settings - Fork 886
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
Crash Occurs When Running on Windows 11 (24H2 26100.2033) with ARM Processor #958
Comments
Working on this.. |
(wrong issue) |
Thanks for your work. |
The latest |
Thanks a lot for your work😀 |
That's great to hear it worked for you too. I have not yet looked into x64 emulated processes .. if it is emulated correctly it should just work right? ;-) I'll take a look at that too when I have time. (You might want to try compiling as arm64 though.. often it just works with minor tweaks.) |
I also looked into x64 emulated code -- and indeed it won't work as is since the C runtime itself is running in ps. of course, rebuilding everything to target native arm64 will have better performance. |
I wrote a simple console application, as:
The following is the log output when the DLL is attached:
At this point, the disassembly shows that
"_malloc_base" at ucrtbase.dll!0x00007FFBB80E4070
has been redirected tomi_malloc
.However,
#_malloc_base
is called within::Getdays
without being redirected, causing a mismatch between the memory allocated here and the memory freed later, which ultimately results in a crash.So, I’d like to ask:
Is this a common bug, or does mimalloc have a special version or compilation configuration specifically for the ARM architecture?
Is it possible for mi_free to implement some checks or error handling to prevent crashes when attempting to free memory that wasn’t allocated by mimalloc?
The text was updated successfully, but these errors were encountered: