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

minject --force --inplace crashes reproducibly, on a specific machine with a specific executable #986

Open
rwiesenfarth opened this issue Jan 8, 2025 · 3 comments

Comments

@rwiesenfarth
Copy link

Silimar to #850, but in my case minject only crashes for one of seven executables, and only on one machine. However, this happens for both version 2.1.2 and 3.0.1 of minject.exe.

The machine where the crash occurs is running VS 2022 on Windows 10, minject fails if called from the command line as well as if called by the build service (Atlassian Bamboo), using the absolute path to the executable.

But: If I cd to the executable directory and give only the local filename, minject succeeds.

It is probably not related to the full path name's length, as longer paths succeed.

I attached two screenshots of Visual Studio Debugger used on the dumpfile

Image
Image

I can provide the dumpfile and the path names as well as the verbose output of minject on request.

@res2k
Copy link
Contributor

res2k commented Jan 8, 2025

I strongly recommend you enable the "Microsoft Symbol Server" in VS.
Seeing the ntdll & ucrtbase symbol names would at least provide a rough idea where things go wrong.

Also, just at the end of the module lists I can see umppc and csxumd64 DLLs, which apparently belongs to CrowdStrike,
It may be worthwhile to test with disabled - If it injects itself into processes, it may as well interfere with minject.exe.

@rwiesenfarth
Copy link
Author

OK, forgot to enable the Microsoft Symbol Servers. Here the call stack including the symbols:

Image

The file name in question should be
"D:/bamboo/xml-data/build-dir/IS-CTP0-W1/source_build/TP_RelWithDebInfo/ov/radiometrix/radiometrix.exe"
or
"D:/bamboo/xml-data/build-dir/IS-CTP0-W1/source_build/TP_RelWithDebInfo/ov/radiometrix/radiometrix-mi.exe"
Note: Yes, these are forward slashes, not backslashes.

But, as it is a heap corruption, the error may have occurred earlier...

@res2k
Copy link
Contributor

res2k commented Jan 8, 2025

But, as it is a heap corruption, the error may have occurred earlier...

Indeed.
If this was Linux, I'd say "see what valgrind says", or more generally, run it through some tool that detects memory allocation problems.

Unfortunately, I don't know an equivalent for Windows off-hand. I think there are tools, and I vaguely even recall that there's some "global flag" built into Windows to help here, but I don't really have a lot of experience with either.
But if you can spare the time, might be worth looking into it - I'm assuming more info that can be dug up means it's more likely that Daan can help you. (AFAIK he's the only one that can ultimately change minject.)

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

2 participants