IE 10在web应用程序中崩溃

IE 10 crash in web application

本文关键字:崩溃 应用程序 web IE      更新时间:2024-02-06

当用户在IE10中的应用程序中工作时,大约每10分钟IE就会崩溃一次,我就会启用崩溃转储。(使用GWT框架编写的Web应用程序,在IE9中运行良好)

来自崩溃转储的信息:

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=?? 

有人能帮我找出问题吗?有人知道如何调试这样的问题吗?

2014年4月7日更新:

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

"访问违规-代码c0000005"-此错误消息表示IE正试图访问不存在的内存地址。大多数情况下,这是由统一的内存位置引起的(即,您看到的是一个空引用错误)-不凑巧的是,这看起来像是在某个ie库中引起的空引用错误,而不是在您的代码中。

按照复杂性的递增顺序/相似性的递减顺序,您将看到以下问题之一:

  1. 你正在运行IE的机器上耗尽内存,而且很难耗尽。

  2. 你看到的是一个硬件问题-你的一些内存存储设备已经损坏,它们正在损坏IE试图处理的数据

  3. 您在JSCRIPT9解释器使用的编译器中发现了一个错误。


调试这类问题:

  1. (2.)使用工具来测量你正在查看的机器上的资源使用情况。确保你没有耗尽内存。此外,请确保问题在多台机器上可重复出现,从而消除硬件问题的可能性。

  2. 让微软参与进来。查看是否可以获得用于调试本机windows应用程序的正确工具。不幸的是,IE10sdk工具并不容易获得(我认为它们根本不公开?)。最有可能解决你的问题的方法是使用不同版本的即

huummm。。。似乎调用了"InliningDecider::Inline"并继续运行。。。

必须在崩溃之前捕获一个异常。。。

在错误堆栈中搜索最后一个打开指令"OP_TryFinally"和一个关闭指令"OP_TryCatch"。。。从那里应该有更多的信息。。。

在操作系统中,尝试在系统中替换"jscript9.dll"以获得更高的更新版本并尝试…以前的版本也是如此。。。

如果这不是系统问题,我猜(只有这些信息)将是一个错误的JS对象。。。不太常见。。。但没有代码就不能说更多。。。