-
Notifications
You must be signed in to change notification settings - Fork 262
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 get_ldr_module_64() win8+ due to Norton's injected early thread #1685
Comments
Hi, I am the user actually. Yes i believed the problem is Norton, when I uninstalled Norton, Dr Memory worked fine. So it mean I can only use Dr Memory without Norton? Actually I tried when I switched off all Norton's scan, Dr Memory still doesn't work... |
It may be that Norton still injects and creates its thread even when switched "off". We will augment Dr. Memory to handle these unusual early threads soon and then we can see whether there are any other issues or whether everything works then. I'll update the issue when we have a fixed build to test. |
Could you try this build (it's a self-extracting archive, so unpack somewhere and run bin/drmemory from there) with Norton enabled? http://build.chromium.org/p/client.drmemory/builds/DrMemory-Windows-1.8.16511-0x4b30da9-sfx.exe |
Sorry for the late reply, last week I uninstall Norton because I need Dr Memory for my class. And I re-install Norton today, trying to test the file
|
After I re-install the Norton and update the virus data base, then the Dr Memory doesn't work with Visual Studio again...
|
The sfx.exe self-extracting archive does not install into Program Files or affect the Visual Studio External Tool setup, so it sounds like the fix has not yet been tested. If you are more comfortable with running in Visual Studio than the command line, I have created an installer here: http://drmemory.org/DrMemory-Windows-1.8.1-RC2.exe Please uninstall the current version of Dr. Memory on your machine and install this version, which should update what's run from the Visual Studio External Tool menu item. |
Thank you for the new installer!! Yes I think I am more familiar with running Dr Memory in Visual Studio. I already uninstalled the old version of drmemory, and install the new one 1.8.1_RC2.exe. |
WARNING: application exited with abnormal code 0xc0000005 this time, the error code is 0xc0000005 |
OK I installed Norton and it looks like the original early thread problem is fixed and the new problem is due to the many, many hooks that Norton installs. It looks like the same problem as #1686. |
There are further problems as well. Normally we might split them into separate issues but to ensure user notifications we'll keep them all here. Re-opening. We have these problems:
Elaborating on the 4) ASSERT:
Looks like the native_exec_syscalls hook for We are on the initstack right now (xref i#1105 though that's primary thread Possible solutions:
-no_native_exec_syscalls => no assert, but still lots of unaddrs and |
Thank you for your analysis ! Actually I do not quite understand what is going on... |
Although I do not quite understand your last comment, thank you for your help. Right now DrMemory works fine in VS with Norton. If next time DrMemory fail to work and error shows, I will post the new error code here. It is really confused to me why sometimes it works, sometime it does not... |
Items 1 through 4 above are all fixed. Only the false positives (or maybe true positives: not analyzed) from Norton's own code remain and I will file a separate issue on that. |
A user running Dr. Memory in Visual Studio hit this crash:
% bin/symquery -e dynamorio/lib32/release/dynamorio.dll -f -a 0xbe328
get_ldr_module_64+0x28
d:\drmemory_package\dynamorio\core\win32\module_shared.c:878+0x0
We managed to get an ldmp by passing -dr_ops "-dumpcore_mask 0xf".
So PEB->LoaderData is stored up >4GB and our code just gets the bottom 32 bits. Which is DynamoRIO/dynamorio#1035
We would only run this code at init if there's a 2nd thread in there, which normally should not happen.
After some sleuthing we have the 2nd thread's start addr and arg:
Further sleuthing and we see that this routine loaded a library at 0x70d20000, which is Norton:
70d20000 70d5e000 UMEngx86 (export symbols) C:\Program Files (x86)\Norton Internet Security\NortonData\21.1.0.18\Definitions\BASHDefs\20150203.001\UMEngx86.dll
The text was updated successfully, but these errors were encountered: