我有一个Angular应用程序(v.5.2.8),目前该应用程序在Safari中崩溃。在尝试描述我的问题之前,请注意,我不能共享很多代码,因为这是一种即将投入生产的私有产品。
目前的问题是,加载了画布动画后,它似乎崩溃了,浏览器崩溃了-它并不总是发生,但是当打开“ Web Inspector”时,它似乎更频繁地发生。查看Safari崩溃日志,我认为在创建画布时它崩溃了,但是我不确定是这种情况,因为在其他情况下很少崩溃。
在调查过程中,我能找到的唯一“共同点”是Safari崩溃日志始终将EXC_BREAKPOINT
列为异常类型,我不确定这是什么意思。
这是Safari崩溃日志的第一部分:
Process: com.apple.WebKit.WebContent [3080]
Path: /System/Library/StagedFrameworks/Safari/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent
Identifier: com.apple.WebKit.WebContent
Version: 13606 (13606.2.104.1.2)
Build Info: WebKit2-7606002104001002~3
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Safari [353]
User ID: 502
Date/Time: 2019-01-28 16:25:01.150 +0100
OS Version: Mac OS X 10.13.6 (17G3025)
Report Version: 12
Anonymous UUID: 7D568E92-21E8-F9BB-DAFD-D8EAAC3BF229
Sleep/Wake UUID: 30E121C4-6783-425C-8D0B-E9556BC15F90
Time Awake Since Boot: 17000 seconds
Time Since Wake: 6700 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [0]
Application Specific Information:
Bundle controller class:
BrowserBundleController
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.WebCore
0x000000010e6d0355 WebCore::Document::updateStyleIfNeeded() + 389
1 com.apple.WebCore
0x000000010f124b2c WebCore::AXObjectCache::getOrCreate(WebCore::Node*) + 348
2 com.apple.WebCore
0x000000010f637d04 WebCore::InspectorDOMAgent::buildObjectForNode(WebCore::Node*, int, WTF::HashMap<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> >, int, WTF::PtrHash<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<int> >*) + 4628
3 com.apple.WebCore
0x000000010f6381a5 WebCore::InspectorDOMAgent::buildArrayForContainerChildren(WebCore::Node*, int, WTF::HashMap<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> >, int, WTF::PtrHash<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<int> >*) + 197
4 com.apple.WebCore
0x000000010f63807f WebCore::InspectorDOMAgent::pushChildNodesToFrontend(int, int) + 511
5 com.apple.WebCore
0x000000010f64227c WebCore::InspectorDOMAgent::pseudoElementCreated(WebCore::PseudoElement&) + 76
6 com.apple.WebCore
0x000000010f3fb906 WebCore::PseudoElement::create(WebCore::Element&, WebCore::PseudoId) + 246
7 com.apple.WebCore
0x000000010faf425e WebCore::Style::TreeResolver::resolvePseudoStyle(WebCore::Element&, WebCore::Style::ElementUpdate const&, WebCore::PseudoId) + 254
8 com.apple.WebCore
0x000000010faf3d1e WebCore::Style::TreeResolver::resolveElement(WebCore::Element&) + 1102
9 com.apple.WebCore
0x000000010faf4847 WebCore::Style::TreeResolver::resolveComposedTree() + 791
10 com.apple.WebCore
0x000000010faf5556 WebCore::Style::TreeResolver::resolve() + 886
11 com.apple.WebCore
0x000000010f39c263 WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) + 755
12 com.apple.WebCore
0x000000010e6d02ea WebCore::Document::updateStyleIfNeeded() + 282
13 com.apple.WebCore
0x000000010f124b2c WebCore::AXObjectCache::getOrCreate(WebCore::Node*) + 348
14 com.apple.WebCore
0x000000010f637d04 WebCore::InspectorDOMAgent::buildObjectForNode(WebCore::Node*, int, WTF::HashMap<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> >, int, WTF::PtrHash<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<int> >*) + 4628
15 com.apple.WebCore
0x000000010f6382de WebCore::InspectorDOMAgent::buildArrayForContainerChildren(WebCore::Node*, int, WTF::HashMap<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> >, int, WTF::PtrHash<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<int> >*) + 510
16 com.apple.WebCore
0x000000010f636fb9 WebCore::InspectorDOMAgent::buildObjectForNode(WebCore::Node*, int, WTF::HashMap<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> >, int, WTF::PtrHash<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<int> >*) + 1225
17 com.apple.WebCore
0x000000010f6381a5 WebCore::InspectorDOMAgent::buildArrayForContainerChildren(WebCore::Node*, int, WTF::HashMap<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> >, int, WTF::PtrHash<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<WTF::RefPtr<WebCore::Node, WTF::DumbPtrTraits<WebCore::Node> > >, WTF::HashTraits<int> >*) + 197
18 com.apple.WebCore
0x000000010f63807f WebCore::InspectorDOMAgent::pushChildNodesToFrontend(int, int) + 511
19 com.apple.WebCore
0x000000010f6386ff WebCore::InspectorDOMAgent::pushNodePathToFrontend(WebCore::Node*) + 815
20 com.apple.WebCore
0x000000010f600846 WebCore::InspectorCanvas::buildObjectForCanvas(WebCore::InstrumentingAgents&, bool) + 582
21 com.apple.WebCore
0x000000010f634340 WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext(WebCore::CanvasRenderingContext&) + 240
22 com.apple.WebCore
0x000000010f5aa60a WebCore::CanvasRenderingContext2D::create(WebCore::CanvasBase&, bool, bool) + 298
23 com.apple.WebCore
0x000000010f4efa22 WebCore::HTMLCanvasElement::createContext2d(WTF::String const&) + 450
24 com.apple.WebCore
0x000000010f4ef48b WebCore::HTMLCanvasElement::getContext(JSC::ExecState&, WTF::String const&, WTF::Vector<JSC::Strong<JSC::Unknown>, 0ul, WTF::CrashOnOverflow, 16ul>&&) + 107
25 com.apple.WebCore
0x000000010e7afa74 WebCore::jsHTMLCanvasElementPrototypeFunctionGetContext(JSC::ExecState*) + 388
我已经使用Chrome,Firefox和Safari在Mac上测试了该网站,但该网站仅在Safari上崩溃。
正在使用的测试设备:
Safari信息: