Application crash due to ucrtbase.dll

77,571

Solution 1

I encountered this issue on two occasions where I was able to solve one of them and got the "problem area" of the other. This ucrtbase.dll error thing is just a general error. So what went wrong for me?

First case; Application -> cpp.dll -> cpp interface with static linking to -> C#.dll -> Encountered error. The error was detected and caught and thrown upwards in C# and even then hit to the C-interop to C++. This doesn't work and everything just exploded.

Second case: Unsolved at the moment but crashed inexplicably at trying to use a _COM_SMARTPTR_TYPEDEF which worked previously in Win7 but not in Win10.

Edit: Second case resolved; was deep inside com constructors which failed due to a bad proxy/stub of com interface when communicating with other processes. Basically bad communication.

Solution 2

I've installed redistributable versions of various versions and whatever I could get a hold of and it still doesn't work.

ucrtbase.dll has nothing to do with any version of the Visual C++ Redistributable. The file that is faulting is from the Windows 10 SDK (26624).

I've concluded that it works on a computer with visual studio 2017 installed but not on one without

Visual Studio 2017 depending on the components you selected to install would have installed the correct version of the Windows SDK.

What is not included by default in Windows and Microsoft Visual C++ Redistributable for Visual Studio 2017?

Visual Studio 2017 will install the Windows SDK if you select components that require it. If you don't select to install any components that require the Windows SDK, the Windows SDK, will not be installed by Visual Studio 2017.

What am I missing?

I would start, if you are the author of the program, by updating your solution to point to the correct version of ucrtbase.dll, and then install the Universal C Runtime on the system. If you are not the author, then I would install the Windows 10 SDK (26624), in order to resolve the faulting module.

When you do install the correct version of the SDK, be sure you install the Universal C Runtime, since that is actually what installs ucrtbase.dll

Solution 3

I had this problem too: I was mixing platform toolset for different projects (exe/lib/dll) having different toolsets; I solved by using the same toolset for all.

Share:
77,571
Alexander
Author by

Alexander

Updated on September 18, 2022

Comments

  • Alexander
    Alexander over 1 year

    We are currently making upgrades to our application. Win7->Win10, VS2012->VS2017. The solutions have a fairly high complexity but everything has gone well except one single project(process).

    The process dies and in the event log I can find this:

    Faulting application name: MyProcess.exe, version: 1.0.0.0, time stamp: 0x5c418d86
    Faulting module name: ucrtbase.dll, version: 10.0.10240.16384, time stamp: 0x559f3aa5
    Exception code: 0xc0000409
    Fault offset: 0x0007d84b
    Faulting process id: 0xcdc
    Faulting application start time: 0x01d4b19831ce98cd
    Faulting application path: C:\PathToMyProcess\MyProcess.exe
    Faulting module path: C:\Windows\SYSTEM32\ucrtbase.dll
    Report Id: 3071cc19-1a57-4828-9721-275a2d3cf164
    Faulting package full name: 
    Faulting package-relative application ID: 
    

    I've concluded that it works on a computer with visual studio 2017 installed but not on one without. I installed with .NET desktop development, Desktop development with C++. Had to include individual components: Visual c++ MFC for x86 and x64 and Windows 10 SDK 10.0.17134. Look picture.

    installed stuff

    I've installed redistributable versions of various versions and whatever I could get a hold of and it still doesn't work. What am I missing? What is not included by default in Windows and Microsoft Visual C++ Redistributable for Visual Studio 2017?