Answer recommended by moderator
Hi,
MSVCR100.dll shows up as the faulting module could mean that’s where the Visual C++ 2010 runtime finally terminates the process.
Your stack shows the following:
- Goes through
msvcr100!_call_reportfault->abort->terminate->KERNELBASE!UnhandledExceptionFilter. - Shows
invarg.con the path, which is the CRT’s invalid-parameter/abort handling. - Mentions
ascmanager!std::_Init_locks::operator=, but unwind info is unreliable there, so don’t assume static initialization is definitely the root cause without symbols.
This pattern usually means your code or a linked library:
- Passed an invalid parameter to a checked CRT function
- Let a C++ exception escape all handlers so
std::terminatewas called - Called
abort()or hit an assertion.
To narrow it down:
- Capture a full dump (e.g.
procdump -ma ascmanager.exe) and load PDBs forascmanager.exe. - In WinDbg run:
!analyze -v, then.ecxr,.exr -1,kbto see the real exception and call stack in your code. - Optionally add logging handlers (
_set_invalid_parameter_handler,std::set_terminate) and, if needed, enable Application Verifier + PageHeap to catch earlier memory misuse.
Hope this helps
-
Thales 0 Reputation points
Actually we have 6 servers, all of them had this crash, the version of visual studio installed in all of them are different, will it help if I delete the Microsoft Visual 2010 from below to make all same, as the dll inside the software D:\Softs\scspath\1\OCC\SCADAsoft\5.3.3_P11\xp-msvc10\dll\msvc\MSVCR100.dll is actually the one on which testing was done.👁 User's image
-
Danny Nguyen (WICLOUD CORPORATION) 7,185 Reputation points • Microsoft External Staff • Moderator
Having multiple VC++ versions (2005, 2008, 2010, 2013, 2015–2019; x86/x64) side‑by‑side is normal. Removing Visual C++ 2010 or other runtimes” is not recommended and is very unlikely to fix this crash, it may even break other apps.
If you want consistency, the right way is to decide which VC++ 2010 runtime
ascmanager.exeshould use (your privateD:\Softs\...\MSVCR100.dllor the system one) and adjust your deployment/manifest accordingly. But that’s more like a clean‑up step.To actually find the cause, you’ll need to inspect one of the crash dumps with symbols for
ascmanager.exe(in WinDbg,!analyze -v, then look at the first frame in your code before -
Deleted
This comment has been deleted due to a violation of our Code of Conduct. The comment was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.
Sign in to comment
