IE 10 crash in web application

crash, debugging, internet-explorer, internet-explorer-10, javascript

Solution

"Access violation - code c0000005" - this error message indicates that IE is attempting to access a memory address which doesn't exist. Most often this is caused by an unitialized memory location (ie, you're looking at a null reference error) - unfortuantely, this looks like is a null reference error caused in one of the IE libraries, and not in your code.

In increasing order of complexity/decreasing order of likelyhood, you're looking at one of the following problems:

you're running out of memory, and running out of it hard, on the machine that IE is running on.

you're looking at a hardware issue - some of your memory storage devices are corrupt, and they're corrupting the data that IE is trying to process

you've discovered a bug in the compiler that the JSCRIPT9 interpreter is using.

To debug these kinds of problems:

(2.) use tools to measure the resource use on the machine you're looking at. Make sure that you're not running out of memory. Also, make sure that the problem is reproducible across several machines - eliminate the possibility of a hardware problem.

Get microsoft involved. See if you can obtain the right tools for debugging native windows applications. Unfortunately, the IE10sdk tools aren't easy to obtain (i don't think they're publicly available at all?). The most likely fix to your problem is using a different version of ie.

Problem

Approximately every 10 minutes IE crashes when users work in my application in IE10, i enable crash dumps. (Web application written with GWT framework and in IE9 it works perfectly) Info from crash dump: ``` Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. Loading Dump File [C:\LocalDumps\iexplore.exe.9448.dmp] User Mini Dump File: Only registers, stack and portions of memory are available Symbol search path is: SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols Executable search path is: Windows 7 Version 7601 (Service Pack 1) UP Free x86 compatible Product: LanManNt, suite: TerminalServer SingleUserTS Machine Name: Debug session time: Thu Nov 28 05:57:44.000 2013 (UTC + 6:00) System Uptime: not available Process Uptime: 0 days 0:00:22.000 ................................................................ ...................... Loading unloaded module list ............... This dump file has an exception of interest stored in it. The stored exception information can be accessed via .ecxr. (24e8.2564): Access violation - code c0000005 (first/second chance not available) eax=0c9e62a0 ebx=03a962c8 ecx=0000194e edx=0f0f3705 esi=0c9e62a0 edi=0ad432e0 eip=6fea94a3 esp=03a96240 ebp=03a9624c iopl=0 nv up ei pl nz na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206 jscript9!InliningDecider::Inline+0x26: 6fea94a3 f6460d01 test byte ptr [esi+0Dh],1 ds:002b:0c9e62ad=?? ``` Can anybody help me find problem? Does anyone know how to debug such problems? Update 07.04.2014: ``` 02e6a244 6d118e4c jscript9!InliningDecider::Inline+0x2a 02e6a284 6d118d27 jscript9!NativeCodeGenerator::GatherCodeGenData<0>+0xdf 02e6a2e4 6d119003 jscript9!NativeCodeGenerator::GatherCodeGenData+0xd6 02e6a320 6d121ac2 jscript9!NativeCodeGenerator::AddToJitQueue+0x29 02e6a35c 6d10f754 jscript9!NativeCodeGenerator::Prioritize+0x5e 02e6a390 6d10e387 jscript9!JsUtil::BackgroundJobProcessor::PrioritizeJob<NativeCodeGenerator,Js::EntryPointInfo *>+0xea 02e6a3ac 6d10e4a2 jscript9!NativeCodeGenerator::CheckCodeGen+0x59 02e6a3b8 6d110d0c jscript9!NativeCodeGenerator::CheckCodeGenThunk+0xc 02e6a544 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x1bd7 02e6a66c 07154679 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 WARNING: Frame IP not in any known module. Following frames may be wrong. 02e6a678 6d1c5b91 0x7154679 02e6a6b8 6d110d0c jscript9!Js::JavascriptFunction::EntryCall+0xfa 02e6a844 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x1bd7 02e6a97c 07154681 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6a988 6d1c5b91 0x7154681 02e6a9c8 6d110d0c jscript9!Js::JavascriptFunction::EntryCall+0xfa 02e6ab54 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x1bd7 02e6ac64 0715bb39 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6ac70 6d1b0d3b 0x715bb39 02e6acc4 6d1b0ef5 jscript9!Js::InterpreterStackFrame::NewScObject_Helper+0xd6 02e6ace8 6d1b0e81 jscript9!Js::InterpreterStackFrame::ProfiledNewScObject_Helper+0x55 02e6ae74 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x3d56 02e6af7c 0715bb41 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6af88 6d1103d2 0x715bb41 02e6b114 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0xaab 02e6b21c 0715bb49 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6b228 6d1103d2 0x715bb49 02e6b3b4 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0xaab 02e6b4f4 0715bb61 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6b570 6d121ac2 0x715bb61 02e6b608 6d110d0c jscript9!NativeCodeGenerator::Prioritize+0x5e 02e6b794 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x1bd7 02e6b8bc 0715bbc1 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6b904 6d1a0a83 0x715bbc1 02e6b9a0 6d110d0c jscript9!Js::JavascriptExceptionOperators::OP_TryCatch+0x88 02e6bb34 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x1bd7 02e6bc5c 07158fd1 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6bc68 6d110d0c 0x7158fd1 02e6bdf4 6d10f6d5 jscript9!Js::InterpreterStackFrame::Process+0x1bd7 02e6bf0c 07158fd9 jscript9!Js::InterpreterStackFrame::InterpreterThunk<1>+0x305 02e6bf40 6d15dd0e 0x7158fd9 02e6c024 6d1a0a83 jscript9!Js::JavascriptFunction::EntryApply+0x25a 02e6c08c 6d2d8b55 jscript9!Js::JavascriptExceptionOperators::OP_TryCatch+0x88 02e6c0d4 6d336e81 jscript9!Js::JavascriptExceptionOperators::OP_TryFinally+0x64 02e6c20c 6afdea7e jscript9!memset+0x5290 02e6c2d8 6d18028e MSHTML!CJScript9Holder::QueryInterface+0x18 02e6c398 6d10ba9b jscript9!Js::JavascriptError::ThrowSyntaxError+0x2b 02e6c3b0 6d10ba70 jscript9!Js::JavascriptFunction::CallRootFunction+0x19 02e6c3f8 6d10b9f8 jscript9!ScriptSite::CallRootFunction+0x40 02e6c424 6d1348da jscript9!ScriptSite::Execute+0x61 02e6c488 6b09755f jscript9!ScriptEngine::Execute+0x115 02e6c4d0 6b097696 MSHTML!CScriptTimers::ExecuteTimer+0x17f 02e6c514 6af52505 MSHTML!CWindow::FireTimeOut+0x3c1 02e6c564 6af52276 MSHTML!CPaintBeat::ProcessTimers+0x1eb 02e6c590 6b33c48b MSHTML!CPaintBeat::OnBeat+0x1aa 02e6c5a0 6b086172 MSHTML!CPaintBeat::OnPaintTimer+0x33 02e6c5b4 6af51e74 MSHTML!CContainedTimerSink<CPaintBeat>::OnTimerMethodCall+0x2e 02e6c60c 6af1a909 MSHTML!GlobalWndOnPaintPriorityMethodCall+0x179 02e6c658 76cdc4e7 MSHTML!GlobalWndProc+0xd3 02e6c684 76cd5f9f user32!InternalCallWinProc+0x23 02e6c6fc 76cd4f0e user32!UserCallWinProcCheckWow+0xe0 02e6c758 76cd4f7d user32!DispatchClientMessage+0xda 02e6c780 7726702e user32!__fnDWORD+0x24 02e6c7ac 76cd5d0c ntdll!KiUserCallbackDispatcher+0x2e 02e6c7b0 76cd5d33 user32!NtUserDispatchMessage+0xc 02e6c7f4 76cdcc70 user32!DispatchMessageWorker+0x3d5 02e6c804 6d3f37ff user32!DispatchMessageW+0xf 02e6f988 6d44c800 IEFRAME!CTabWindow::_TabWindowThreadProc+0x4ad 02e6fa48 756a265b IEFRAME!LCIETab_ThreadProc+0x377 02e6fa58 708731a2 iertutil!_IsoThreadProc_WrapperToReleaseScope+0xe 02e6fa7c 75d4ed5c IEShims!NS_CreateThread::DesktopIE_ThreadProc+0x66 02e6fa88 772837eb kernel32!BaseThreadInitThunk+0xe 02e6fac8 772837be ntdll!__RtlUserThreadStart+0x70 02e6fae0 00000000 ntdll!_RtlUserThreadStart+0x1b ```

Original source