3

I'm trying to understand why our program stucks and, sometimes, crashes. According to Event Viewer clr.dll is the fault model:

Faulting application name: MyProgram.exe, version: 0.0.0.0, time stamp: 0x54d4e6d4
Faulting module name: clr.dll, version: 4.0.30319.18444, time stamp: 0x52717f9a
Exception code: 0xc0000005
Fault offset: 0x00000000006eb320
Faulting process id: 0x5b94
Faulting application start time: 0x01d0423db66ac6e6
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Report Id: f70a46ad-ae30-11e4-b116-90e2ba482bf9

I used WinDbg and I saw that thread #0 acquired lock and is waiting on critical section that is used by thread #6.

I commented out most of the code. So, now the c++ code just loads .Net CLR in initGUI and calls for open method. The open method just starts empty thread.

I added relevent code and information of threads from WinDbg. I'll appreciate for any direction.

Main

#include "MyLog.h"
int main(int argc, char* argv[])
{   
    return 0;   
}

MyLog.h

class MyLog
{
public:
    ~MyLog();
protected:
    MyLog();
    void initGUI();
    tbb::mutex  initGUILock;
};

#define DECLARE_LOG_CATEGORY(_Name, _Verbosity, _compileVerbosity) \
class LogCategory_##_Name :                                        \
    public LogCategory                                         \
{                                                                  \
public:                                                            \
    static const int compileVerbosity = _compileVerbosity;    \
    LogCategory_##_Name() :                                        \
        LogCategory(#_Name, _Verbosity, _compileVerbosity) {}      \
};                                                                 \
static LogCategory_##_Name _Name;

DECLARE_LOG_CATEGORY(GENERAL, Log::I1, Log::Max)

MyLog.cpp unsigned __stdcall MyLog::initUIThreadEntry(void* lpParameter) { // Sleep 2 seconds to prevent collisions in .Net init. tbb::mutex::scoped_lock lock( MyLog::instance()->initGUILock); Sleep(2000); MyLog::instance()->initGUI();

    return 0;
}

MyLog* MyLog::instance()
{
    static MyLog_instance;
    return &_instance;
}

LogCategory::LogCategory(std::string name, int verbosity, int  compileVerbosity)
    : _name(name), _index(-1)
{
    MyLog::instance();
}

MyLog::MyLog()
{
...
    // This is required to prevent dead-lock in .net apps init
    HANDLE t = (HANDLE)_beginthreadex(nullptr, 0, initUIThreadEntry, nullptr, 0, nullptr);
    CloseHandle(t);
}

MyLog::~MyLog()
{
    tbb::mutex::scoped_lock lock(initGUILock);

...
}

void MyLog::initGUI(bool show)
{
    //CLRCreateInstance
    //Load .net 4 runtime
    //Call "open" method
}

MyDotNetDLL

public static int open(string args)
{
    Thread t = new Thread(new ThreadStart(delegate()
    {
    }
    t.Name = "MyLogUI";
    t.IsBackground = true;
    t.Start();
}

WinDbg output

************* Symbol Path validation summary **************
Response                         Time (ms)     Location
OK                                             C:\MyProgramPath\Release
Deferred                                       SRV*C:\debuggers*http://msdl.microsoft.com/download/symbols
Symbol search path is: C:\MyProgramPath\Release;SRV*C:\debuggers*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Version 7601 (Service Pack 1) MP (12 procs) Free x64
Product: WinNt, suite: SingleUserTS
Machine Name:
Debug session time: Fri Feb 13 00:15:49.000 2015 (UTC - 6:00)
System Uptime: 62 days 12:29:30.762
Process Uptime: 0 days 0:00:57.000
.......................................................
Loading unloaded module list
......
ntdll!NtWaitForSingleObject+0xa:
00000000`7784135a c3              ret
0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** WARNING: Unable to verify checksum for MyProgram.exe
*** WARNING: Unable to verify checksum for mscorlib.ni.dll

FAULTING_IP: 
+1
00000000`00000000 ??              ???

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 0

CONTEXT:  0000000000000000 -- (.cxr 0x0;r)
rax=0000bd14da5e0000 rbx=0000000077927490 rcx=000000000000002f
rdx=0000000000000000 rsi=0000000000000134 rdi=0000000077927490
rip=000000007784135a rsp=00000000002ff2c8 rbp=0000000000000000
 r8=00000000002ff8d8  r9=0000000000000000 r10=0000000000000000
r11=0000000000000286 r12=0000000000000000 r13=0000000000000000
r14=000007fffffde000 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
ntdll!NtWaitForSingleObject+0xa:
00000000`7784135a c3              ret

FAULTING_THREAD:  0000000000003cf4

DEFAULT_BUCKET_ID:  WRONG_SYMBOLS

PROCESS_NAME:  MyProgram.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

APP:  videocompressor.exe

ANALYSIS_VERSION: 6.3.9600.17298 (debuggers(dbg).141024-1500) amd64fre

MANAGED_STACK: !dumpstack -EE
OS Thread Id: 0x3cf4 (0)
Current frame: 
Child-SP         RetAddr          Caller, Callee

PRIMARY_PROBLEM_CLASS:  WRONG_SYMBOLS

BUGCHECK_STR:  APPLICATION_FAULT_WRONG_SYMBOLS

LAST_CONTROL_TRANSFER:  from 000000007783e4e8 to 000000007784135a

STACK_TEXT:  
00000000`002ff2c8 00000000`7783e4e8 : 00000000`059ffd60 000007fe`fd9cb2d6 00000000`00000007 00000000`01000000 : ntdll!NtWaitForSingleObject+0xa
00000000`002ff2d0 00000000`7783e3db : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`77927490 : ntdll!RtlpWaitOnCriticalSection+0xe8
00000000`002ff380 00000000`7782b799 : 00000000`00000000 00000000`00000000 00000000`002ff420 000007fe`e61f3485 : ntdll!RtlEnterCriticalSection+0xd1
00000000`002ff3b0 000007fe`fd9c92ea : 00000000`00000000 000007fe`e61f3885 000007fe`e6ab4438 00000000`00000000 : ntdll!LdrLockLoaderLock+0xb9
00000000`002ff3f0 000007fe`fd9c9359 : 00000000`002ff928 00000000`001823d0 ffffffff`fffffffe 00000000`77819c7a : KERNELBASE!BasepGetModuleHandleExW+0x220
00000000`002ff8c0 000007fe`ed752b04 : 00000000`00000000 00000000`0019f550 00000000`00000000 00000000`0019f550 : KERNELBASE!GetModuleHandleExW+0x35
00000000`002ff8f0 000007fe`ed75305a : 00000000`0019f550 00000000`00000000 00000000`00000000 00000000`000e19b0 : msvcr110!_crtCorExitProcess+0x1c
00000000`002ff920 00000001`3fd1fe06 : 00000000`00000000 00000000`00000000 00000e09`00000000 00000000`00000000 : msvcr110!unlockexit+0x1ca
00000000`002ff990 00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : MyProgram!__tmainCRTStartup+0x126
00000000`002ff9c0 00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`002ff9f0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d


STACK_COMMAND:  ~0s; .ecxr ; kb

FOLLOWUP_IP: 
msvcr110!_crtCorExitProcess+1c
000007fe`ed752b04 85c0            test    eax,eax

SYMBOL_STACK_INDEX:  6

SYMBOL_NAME:  msvcr110!_crtCorExitProcess+1c

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: msvcr110

IMAGE_NAME:  msvcr110.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  5098826e

FAILURE_BUCKET_ID:  WRONG_SYMBOLS_80000003_msvcr110.dll!_crtCorExitProcess

BUCKET_ID:  X64_APPLICATION_FAULT_WRONG_SYMBOLS_msvcr110!_crtCorExitProcess+1c

ANALYSIS_SOURCE:  UM

FAILURE_ID_HASH_STRING:  um:wrong_symbols_80000003_msvcr110.dll!_crtcorexitprocess

FAILURE_ID_HASH:  {2adb2acf-4853-6351-840d-02a6802be566}

Followup: MachineOwner
---------

0:000> !locks

CritSec ntdll!LdrpLoaderLock+0 at 0000000077927490
WaiterWoken        No
LockCount          2
RecursionCount     1
OwningThread       1a68
EntryCount         0
ContentionCount    4
*** Locked

Scanned 752 critical sections
0:000> ~
.  0  Id: 45cc.3cf4 Suspend: 0 Teb: 000007ff`fffde000 Unfrozen
   1  Id: 45cc.3e5c Suspend: 0 Teb: 000007ff`fffdc000 Unfrozen
   2  Id: 45cc.44cc Suspend: 0 Teb: 000007ff`fffd7000 Unfrozen
   3  Id: 45cc.36c4 Suspend: 0 Teb: 000007ff`fffd5000 Unfrozen
   4  Id: 45cc.473c Suspend: 0 Teb: 000007ff`fffd3000 Unfrozen
   5  Id: 45cc.1cbc Suspend: 0 Teb: 000007ff`fffae000 Unfrozen
   6  Id: 45cc.1a68 Suspend: 0 Teb: 000007ff`fffac000 Unfrozen
   7  Id: 45cc.4274 Suspend: 0 Teb: 000007ff`fffd9000 Unfrozen
0:000> ~0 kb
RetAddr           : Args to Child                                                           : Call Site
00000000`7783e4e8 : 00000000`059ffd60 000007fe`fd9cb2d6 00000000`00000007 00000000`01000000 : ntdll!NtWaitForSingleObject+0xa
00000000`7783e3db : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`77927490 : ntdll!RtlpWaitOnCriticalSection+0xe8
00000000`7782b799 : 00000000`00000000 00000000`00000000 00000000`002ff420 000007fe`e61f3485 : ntdll!RtlEnterCriticalSection+0xd1
000007fe`fd9c92ea : 00000000`00000000 000007fe`e61f3885 000007fe`e6ab4438 00000000`00000000 : ntdll!LdrLockLoaderLock+0xb9
000007fe`fd9c9359 : 00000000`002ff928 00000000`001823d0 ffffffff`fffffffe 00000000`77819c7a : KERNELBASE!BasepGetModuleHandleExW+0x220
000007fe`ed752b04 : 00000000`00000000 00000000`0019f550 00000000`00000000 00000000`0019f550 : KERNELBASE!GetModuleHandleExW+0x35
000007fe`ed75305a : 00000000`0019f550 00000000`00000000 00000000`00000000 00000000`000e19b0 : msvcr110!_crtCorExitProcess+0x1c
00000001`3fd1fe06 : 00000000`00000000 00000000`00000000 00000e09`00000000 00000000`00000000 : msvcr110!unlockexit+0x1ca
00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : MyProgram!__tmainCRTStartup+0x126 [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 549]
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~1 kb
RetAddr           : Args to Child                                                           : Call Site
000007fe`fd9c1420 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!NtWaitForMultipleObjects+0xa
00000000`776e1220 : 00000000`02c1f980 00000000`02c1f970 00000000`00000000 00000000`00000000 : KERNELBASE!WaitForMultipleObjectsEx+0xe8
00000001`3fd4013a : 00000000`0019c5b0 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!WaitForMultipleObjects+0xb0
000007fe`ed753fef : 00000000`0019be00 00000000`00000000 00000000`00000000 00000000`00000000 : MyProgram!TTrace::MsgThread+0x4a [c:\MyProgramPath\...\tracetool.cpp @ 791]
000007fe`ed754196 : 000007fe`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : msvcr110!beginthreadex+0x107
00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : msvcr110!endthreadex+0x192
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~2 kb
RetAddr           : Args to Child                                                           : Call Site
000007fe`fd9c1420 : 00000000`00000000 000007fe`e61fdaa0 00000000`00000000 00000000`00000000 : ntdll!NtWaitForMultipleObjects+0xa
00000000`776f2cf3 : 00000000`0565f9f8 00000000`0565f9e0 00000000`00000000 002fef3a`00001000 : KERNELBASE!WaitForMultipleObjectsEx+0xe8
000007fe`e62e8cef : 00000000`001c8ee0 00000000`00000003 00000000`001ca110 00000000`0565fac0 : kernel32!WaitForMultipleObjectsExImplementation+0xb3
000007fe`e62e8c19 : 00000000`00000001 00000000`001ca110 00000000`00000000 00000000`001c8ee0 : clr!DebuggerRCThread::MainLoop+0xbf
000007fe`e62e8b3b : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : clr!DebuggerRCThread::ThreadProc+0xc6
00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : clr!DebuggerRCThread::ThreadProcStatic+0x3f
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~3 kb
RetAddr           : Args to Child                                                           : Call Site
000007fe`fd9c10dc : 00000000`05cbf6c0 000007fe`e61fdb52 00000000`059d31d0 00000000`00000000 : ntdll!NtWaitForSingleObject+0xa
000007fe`e61f839f : 00000000`00000000 00000000`00000198 00000000`00000000 00000000`00000198 : KERNELBASE!WaitForSingleObjectEx+0x79
000007fe`e61f8357 : 00000000`00000000 00000000`00000000 00000000`05cbf788 000007fe`e61f30bc : clr!CLREventBase::WaitEx+0x16c
000007fe`e61f8318 : 00000000`00000000 00000000`00000000 ffffffff`fffffffe 00000000`00000001 : clr!CLREventBase::WaitEx+0x103
000007fe`e62dff9f : 00000000`00000000 00000000`05cbf8a0 00000000`00000001 000007fe`e62dfe60 : clr!CLREventBase::WaitEx+0x70
000007fe`e61fe8ca : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : clr!WKS::GCHeap::FinalizerThreadStart+0x169
00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : clr!Thread::intermediateThreadProc+0x7d
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~4 kb
RetAddr           : Args to Child                                                           : Call Site
00000000`7780b007 : 00000000`00000002 00000000`00000000 00000000`778f4550 00000000`778f4550 : ntdll!NtWaitForMultipleObjects+0xa
00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00003066`7c824b67 : ntdll!TppWaiterpThread+0x14d
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~5 kb
RetAddr           : Args to Child                                                           : Call Site
000007fe`fd9c10dc : 00000000`00000000 000007fe`e61f322c 00000000`059ed000 00000000`0019be00 : ntdll!NtWaitForSingleObject+0xa
000007fe`e61f839f : 00000000`00000000 00000000`00000154 00000000`00000000 00000000`00000154 : KERNELBASE!WaitForSingleObjectEx+0x79
000007fe`e61f8357 : 00000000`00000000 00000000`00000000 00000000`0019be10 000007fe`e61f3181 : clr!CLREventBase::WaitEx+0x16c
000007fe`e61f8318 : 00000000`05b9ff10 00000000`00000000 00000000`00000000 000007fe`e61f6beb : clr!CLREventBase::WaitEx+0x103
000007fe`e62b4090 : 00000000`00000000 00000000`05b9ff10 00000000`00000001 00000000`ffffffff : clr!CLREventBase::WaitEx+0x70
000007fe`e61fe8ca : 00000000`059ed000 00000000`00000000 00000000`05b9fd50 00000000`00000000 : clr!AppDomain::ADUnloadThreadStart+0x190
00000000`776e652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : clr!Thread::intermediateThreadProc+0x7d
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~6 kb
RetAddr           : Args to Child                                                           : Call Site
000007fe`fd9c1203 : 00000000`063cdc48 000007ff`fffdb000 00000000`00000000 00000000`00000001 : ntdll!ZwDelayExecution+0xa
000007fe`e638ee13 : 00000000`00000000 000007fe`00000000 00000000`00000000 00000000`00000000 : KERNELBASE!SleepEx+0xab
000007fe`e638ede6 : 00000000`063cdbf8 00000000`001c8f18 ffffffff`fffffffe 000007fe`e6ab5430 : clr!EESleepEx+0x24
000007fe`e6805d16 : 00000000`001c8f18 00000000`00000000 00000000`00000000 00000000`00000007 : clr!__DangerousSwitchToThread+0x72
000007fe`e688496d : 000007fe`00000000 00000000`001c8ee0 00000000`00000000 00000000`00000000 : clr! ?? ::FNODOBFM::`string'+0x4ebf4
000007fe`e67351c5 : 00000000`001c8ee0 00000000`00000000 00000000`00000007 00000000`00000001 : clr! ?? ::FNODOBFM::`string'+0xdcdae
000007fe`e659a9af : 00000000`00000002 00000000`063cddc0 00000000`00000000 00000000`063cefe0 : clr!Debugger::PreJitAttach+0x61
000007fe`e658ea43 : 00000000`80131506 00000000`00000000 00000000`00000002 00000000`063cefe0 : clr!WatsonLastChance+0xcf
000007fe`e658dfbb : 00000000`80131506 00000000`001a9950 00000000`00000002 00000000`00000080 : clr!EEPolicy::LogFatalError+0x3e8
000007fe`e680762a : 00000000`00000000 00000000`00000000 00000000`063cfc00 00000000`77927358 : clr!EEPolicy::HandleFatalError+0x11c
000007fe`e6402fd8 : 00000000`00000000 00000000`77927358 00000000`063cfc00 00000000`00000000 : clr! ?? ::FNODOBFM::`string'+0x5061a
000007fe`e6402f9f : 00000000`00000000 00000000`00000000 00000000`00000002 ffffffff`fffffffe : clr!CLRVectoredExceptionHandlerPhase2+0x2d
000007fe`e6402edd : 00000000`00000000 00000000`00000000 00000000`77927358 00000000`063cf320 : clr!CLRVectoredExceptionHandler+0x94
00000000`7780a59f : 00000000`001aeb30 00000000`77927350 00000000`77927350 00000000`ffffffff : clr!CLRVectoredExceptionHandlerShim+0x85
00000000`77808e42 : 00000000`059f6b10 00000000`063cf110 00000000`063cf128 00000000`001aeb20 : ntdll!RtlpCallVectoredHandlers+0xa8
00000000`77841278 : 00000000`001831e0 00000000`000e9e68 00000000`00000001 00000000`00000000 : ntdll!RtlDispatchException+0x22
000007fe`e68db250 : 00000001`3fd2c426 00000000`00000000 00000000`00000003 00000000`00000000 : ntdll!KiUserExceptionDispatch+0x2e
00000001`3fd2c426 : 00000000`00000000 00000000`00000003 00000000`00000000 ffffffff`fffffffe : clr!CorHost2::`vftable'
00000000`7784c21e : 00000000`059d9200 00000001`3ffaae78 00000001`3ffaae80 00000000`00000003 : MyProgram!boost::`anonymous namespace'::run_thread_exit_callbacks+0x126
00000000`7784dfd6 : 00000000`000e44d0 000007fe`fd9c2770 00000000`77922670 00000000`776e5ea0 : ntdll!LdrpCallTlsInitializers+0xc8
00000000`77836968 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!LdrShutdownThread+0x1cf
00000000`776e6535 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlExitUserThread+0x38
00000000`7781c521 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x15
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
0:000> ~7 kb
RetAddr           : Args to Child                                                           : Call Site
00000000`7783e4e8 : 00000000`00000009 00000000`001a2750 00000000`00000000 00000000`7781c4da : ntdll!NtWaitForSingleObject+0xa
00000000`7783e3db : 00000000`00000001 000007ff`fffdb000 00000000`777f0000 00000000`77927490 : ntdll!RtlpWaitOnCriticalSection+0xe8
00000000`7781c5bd : 00000000`00000000 000007ff`fffd9000 000007ff`fffd92c8 00000000`00000003 : ntdll!RtlEnterCriticalSection+0xd1
00000000`7781c42f : 000007ff`fffdb000 00000000`00000000 000007ff`fffd9000 00000000`00000000 : ntdll!LdrpInitializeThread+0x8d
00000000`7781c32e : 00000000`05e5f5a0 00000000`00000000 000007ff`fffdb000 00000000`00000000 : ntdll!LdrpInitialize+0x9f
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!LdrInitializeThunk+0xe
theateist
  • 13,879
  • 17
  • 69
  • 109
  • 1
    Either the code you posted is incomplete, either it's nonesense. The static _GENERAL has no destructor, we have no idea what is a MyLog (no declaration), a Log or a LogCategory. You don't say when it crash and how your program is supposed to stop. Please provide more information if you need more help. – xryl669 Feb 13 '15 at 10:30
  • Why is there all the "wrong symbol" stuff? Did you do a `.reload` after you have set the symbol paths? Other than that it looks like a typical Loader Lock problem, doesn't it? See http://stackoverflow.com/questions/56642/loader-lock-error – Thomas Weller Feb 13 '15 at 11:15
  • @xryl669, what is nonsense in it, the empty main? Obviously it has more code. But, in order to find the problem I've commented out many code and left only the code I've posted. The Log is MyLog. I've updated the code. – theateist Feb 13 '15 at 22:14
  • @ᵺṓᵯᶏᵴ, I did `.reload` and I still got the "wrong symbol" – theateist Feb 13 '15 at 22:15

0 Answers0