I had a classic ASP working site on Windows 2012. Everything worked ok. Since I moved it to 2016 machine (same DB, same files), w3wp.exe is crashing every few minutes ;-(
I did the dump and there seems to be this 2 errors every time there is a crash:
In w3wp__xxx.net(domain)(pool)__PID__8764__Date__06_06_2017__Time_05_57_31PM__204__Second_Chance_Exception_C0000374.dmp the assembly instruction at ntdll!RtlReportCriticalFailure+89 in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused a corrupted heap exception (0xC0000374) when trying to perform an unknown operation on memory location 0x00000000 on thread 48 Current NTGlobalFlags value: 0x0
The second one
A COM+ STA Activity Pileup has been detected in w3wp__xxx.net(domain)(pool)__PID__8764__Date__06_06_2017__Time_05_57_31PM__204__Second_Chance_Exception_C0000374.dmp. There is more than one activity bound to every COM+ STA ThreadPool thread.
I think the first one is the problem one, if I look at the thread under it:
Thread 48 - System ID 9056
Entry point msvcrt!_threadstartex Create time 6.6.2017 17:53:57 Time spent in user mode 0 Days 00:00:00.359 Time spent in kernel mode 0 Days 00:00:00.343
This thread is making a database operation using ADO.
The call to MSADO15!CCONNECTION::EXECUTE originated from vbscript!IDispatchInvoke2+76
ntdll!RtlReportCriticalFailure+89 ntdll!RtlpReportHeapFailure+32 ntdll!RtlpLogHeapFailure+9f ntdll!RtlFreeHeap+ac AcLayers!NS_FaultTolerantHeap::APIHook_RtlFreeHeap+3f70 msvcr120!free+1a msvcr120!__freetlocinfo+13e msvcr120!_updatetlocinfoEx_nolock+40 msvcr120!__updatetlocinfo+5f msvcr120!_LocaleUpdate::_LocaleUpdate+3e msvcr120!_input_l+10f msvcr120!vscan_fn+6a msvcr120!sscanf+19 myodbc5w!SQLGetCursorNameW+22887 myodbc5w!SQLGetCursorNameW+23c13 myodbc5w!SQLGetCursorNameW+169f0 myodbc5w!SQLGetCursorNameW+16399 odbc32!SetStmtAttr+5d1 odbc32!SQLSetStmtAttrW+91 msdasql!CKagRowsetProps::SetODBCOptions+1cd msdasql!CKagRowsetProps::FindCapableCC+575 msdasql!CImpICommandText::Execute+ddd msado15!CConnection::Execute+b1 msado15!_ExecuteAsync+1da msado15!ExecuteAsync+59 msado15!CQuery::Execute+fae msado15!CCommand::_Execute+18a msado15!CConnection::OpenRecordset+df msado15!CConnection::ExecuteWithModeFlag+622 msado15!CConnection::Execute+67 msado15!CConnection::Invoke+de2d vbscript!IDispatchInvoke2+76 vbscript!InvokeDispatch+4fa vbscript!CScriptRuntime::RunNoEH+f79 vbscript!CScriptRuntime::Run+dc vbscript!CScriptEntryPoint::Call+f3 vbscript!CSession::Execute+3a0 vbscript!COleScript::ExecutePendingScripts+14b vbscript!COleScript::SetScriptState+62 asp!CActiveScriptEngine::TryCall+2e asp!CActiveScriptEngine::Call+3d asp!CallScriptFunctionOfEngine+58 asp!ExecuteRequest+159 asp!Execute+237 asp!CHitObj::ViperAsyncCallback+425 asp!CViperAsyncRequest::OnCall+7e comsvcs!CSTAActivityWork::STAActivityWorkHelper+50 combase!EnterForCallback+142 combase!SwitchForCallback+1c6 combase!PerformCallback+b0 combase!CObjectContext::InternalContextCallback+10d combase!CObjectContext::DoCallback+31 comsvcs!CSTAActivityWork::DoWork+175 comsvcs!CSTAThread::ProcessQueueWork+68 comsvcs!CSTAThread::WorkerLoop+173 msvcrt!_callthreadstartex+25 msvcrt!_threadstartex+61 kernel32!BaseThreadInitThunk+24 ntdll!__RtlUserThreadStart+2f ntdll!_RtlUserThreadStart+1b
I can not figure out what does this mean... I use mysql 5.7 and myODBC, it is the same as on the old windows 2012.
It seems that ADo is failing or what? But not every time, as I have connections every second and the w3wp.exe is failing every few minutes, sometimes 3 times in a row, sometimes 20 minute without fail.
Can anybody share some ideas please, I'll have to go back to old server and I am quite desperate. Can the msado15.dll be broken on windows 2016? The files are ok, I checked with the windows shell file checker.
Is it possible to get a support from MS somehow? Free or payed...