Bug 114072

Summary: Unify the many and varied stack trace mechanisms, and make the result sane.
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: New BugsAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, fpizlo, ggaren, rniwa
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch fpizlo: review+

Description Oliver Hunt 2013-04-05 16:35:21 PDT
Unify the many and varied stack trace mechanisms, and make the result sane.
Comment 1 Oliver Hunt 2013-04-05 16:40:07 PDT
Created attachment 196698 [details]
Patch
Comment 2 Oliver Hunt 2013-04-05 16:51:33 PDT
Committed r147818: <http://trac.webkit.org/changeset/147818>
Comment 4 Ryosuke Niwa 2013-04-05 21:54:14 PDT
Sample stack trace:

http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r147818%20(8742)/plugins/pass-different-npp-struct-crash-log.txt

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010bfee3b6 WebCore::internalAddMessage(WebCore::Page*, WebCore::MessageType, WebCore::MessageLevel, JSC::ExecState*, WTF::PassRefPtr<WebCore::ScriptArguments>, bool, bool) + 310 (ScriptCallFrame.h:52)
1   com.apple.WebCore             	0x000000010bfee786 WebCore::Console::log(JSC::ExecState*, WTF::PassRefPtr<WebCore::ScriptArguments>) + 70 (PassRefPtr.h:68)
2   com.apple.WebCore             	0x000000010c517582 WebCore::jsConsolePrototypeFunctionLog(JSC::ExecState*) + 146 (JSConsole.cpp:211)
3   com.apple.JavaScriptCore      	0x000000010b710790 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 640 (Interpreter.cpp:1105)
4   com.apple.JavaScriptCore      	0x000000010b60ef55 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 69 (CallData.cpp:40)
5   com.apple.WebKit              	0x000000010bc13c83 WebKit::NetscapePluginInstanceProxy::invoke(unsigned int, JSC::Identifier const&, char*, unsigned int, char*&, unsigned int&) + 803 (NetscapePluginInstanceProxy.mm:918)
6   com.apple.WebKit              	0x000000010bc0cd93 WKPCInvoke + 307 (NetscapePluginInstanceProxy.h:79)
7   com.apple.WebKit              	0x000000010bc7a515 _XPCInvoke + 133 (WebKitPluginClientServer.c:1697)
8   com.apple.WebKit              	0x000000010bc7af5a WebKitPluginClient_server + 106 (WebKitPluginClientServer.c:3459)
9   com.apple.WebKit              	0x000000010bc0ba97 WebKit::NetscapePluginHostProxy::processRequests() + 183 (NetscapePluginHostProxy.mm:302)
10  com.apple.WebKit              	0x000000010bc17a3c std::__1::auto_ptr<WebKit::NetscapePluginInstanceProxy::BooleanReply> WebKit::NetscapePluginInstanceProxy::waitForReply<WebKit::NetscapePluginInstanceProxy::BooleanReply>(unsigned int) + 124 (NetscapePluginInstanceProxy.mm:806)
11  com.apple.WebKit              	0x000000010bc10d18 WebKit::NetscapePluginInstanceProxy::resize(CGRect, CGRect) + 120 (memory:1940)
12  com.apple.WebKit              	0x000000010bc5a7b2 -[WebHostedNetscapePluginView updateAndSetWindow] + 674 (WebHostedNetscapePluginView.mm:218)
13  com.apple.WebKit              	0x000000010bc23d39 -[WebBaseNetscapePluginView start] + 313 (WebBaseNetscapePluginView.mm:419)
14  com.apple.WebKit              	0x000000010bc2434b -[WebBaseNetscapePluginView viewDidMoveToWindow] + 171 (WebBaseNetscapePluginView.mm:557)
15  com.apple.AppKit              	0x00007fff89b67317 -[NSView _setWindow:] + 2788
16  com.apple.AppKit              	0x00007fff89b70aa7 -[NSView addSubview:] + 407
17  com.apple.WebKit              	0x000000010bc66c02 -[WebHTMLView addSubview:] + 50 (WebHTMLView.mm:2965)
18  com.apple.WebCore             	0x000000010cac63f1 WebCore::ScrollView::platformAddChild(WebCore::Widget*) + 129 (ScrollViewMac.mm:74)
19  com.apple.WebCore             	0x000000010cac1e16 WebCore::ScrollView::addChild(WTF::PassRefPtr<WebCore::Widget>) + 134 (ScrollView.cpp:77)
20  com.apple.WebCore             	0x000000010ca67b3c WebCore::moveWidgetToParentSoon(WebCore::Widget*, WebCore::FrameView*) + 60 (PassRefPtr.h:68)
21  com.apple.WebCore             	0x000000010ca67aed WebCore::RenderWidget::setWidget(WTF::PassRefPtr<WebCore::Widget>) + 573 (RenderWidget.cpp:214)
22  com.apple.WebCore             	0x000000010c9d04dc WebCore::RenderPart::setWidget(WTF::PassRefPtr<WebCore::Widget>) + 44 (PassRefPtr.h:68)
23  com.apple.WebCore             	0x000000010cb6d76d WebCore::SubframeLoader::loadPlugin(WebCore::HTMLPlugInImageElement*, WebCore::KURL const&, WTF::String const&, WTF::Vector<WTF::String, 0ul> const&, WTF::Vector<WTF::String, 0ul> const&, bool) + 461 (PassRefPtr.h:68)
24  com.apple.WebCore             	0x000000010cb6d516 WebCore::SubframeLoader::requestPlugin(WebCore::HTMLPlugInImageElement*, WebCore::KURL const&, WTF::String const&, WTF::Vector<WTF::String, 0ul> const&, WTF::Vector<WTF::String, 0ul> const&, bool) + 182 (SubframeLoader.cpp:161)
25  com.apple.WebCore             	0x000000010cb6d9bd WebCore::SubframeLoader::requestObject(WebCore::HTMLPlugInImageElement*, WTF::String const&, WTF::AtomicString const&, WTF::String const&, WTF::Vector<WTF::String, 0ul> const&, WTF::Vector<WTF::String, 0ul> const&) + 493 (SubframeLoader.cpp:236)
26  com.apple.WebCore             	0x000000010c354fe2 WebCore::HTMLEmbedElement::updateWidget(WebCore::PluginCreationOption) + 546 (HTMLEmbedElement.cpp:173)
27  com.apple.WebCore             	0x000000010c2ccef6 WebCore::FrameView::updateWidget(WebCore::RenderObject*) + 278 (FrameView.cpp:2605)
28  com.apple.WebCore             	0x000000010c2cd051 WebCore::FrameView::updateWidgets() + 321 (OwnPtr.h:72)
29  com.apple.WebCore             	0x000000010c2c8daf WebCore::FrameView::performPostLayoutTasks() + 399 (FrameView.cpp:2707)
30  com.apple.WebCore             	0x000000010c2c880b WebCore::FrameView::layout(bool) + 2603 (FrameView.cpp:1361)
31  com.apple.WebCore             	0x000000010c0f7b2f WebCore::Document::implicitClose() + 767 (Document.cpp:2521)
32  com.apple.WebCore             	0x000000010c2ac281 WebCore::FrameLoader::checkCompleted() + 337 (FrameLoader.cpp:770)
33  com.apple.WebCore             	0x000000010c2ab03f WebCore::FrameLoader::finishedParsing() + 95 (FrameLoader.cpp:703)
34  com.apple.WebCore             	0x000000010c10096c WebCore::Document::finishedParsing() + 316 (Frame.h:331)
35  com.apple.WebCore             	0x000000010c33f2e8 WebCore::HTMLDocumentParser::prepareToStopParsing() + 168 (HTMLDocumentParser.cpp:755)
36  com.apple.WebCore             	0x000000010c12741d WebCore::DocumentWriter::end() + 61 (RefPtr.h:124)
37  com.apple.WebCore             	0x000000010c113336 WebCore::DocumentLoader::finishedLoading(double) + 358 (ResourceErrorBase.h:42)
38  com.apple.WebCore             	0x000000010bfb0b0d WebCore::CachedResource::checkNotify() + 93 (CachedResource.cpp:379)
39  com.apple.WebCore             	0x000000010bfad8e6 WebCore::CachedRawResource::data(WTF::PassRefPtr<WebCore::ResourceBuffer>, bool) + 454 (PassRefPtr.h:68)
40  com.apple.WebCore             	0x000000010cb70c50 WebCore::SubresourceLoader::didFinishLoading(double) + 128 (PassRefPtr.h:68)
41  com.apple.Foundation          	0x00007fff8def4528 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 28
42  com.apple.Foundation          	0x00007fff8def446c -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 227
43  com.apple.Foundation          	0x00007fff8def4368 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 63
44  com.apple.CFNetwork           	0x00007fff85eb05c1 ___delegate_didFinishLoading_block_invoke_0 + 40
45  com.apple.CFNetwork           	0x00007fff85ea2a7a ___withDelegateAsync_block_invoke_0 + 90
46  com.apple.CFNetwork           	0x00007fff85f332ea __block_global_1 + 28
47  com.apple.CoreFoundation      	0x00007fff85af2154 CFArrayApplyFunction + 68
48  com.apple.CFNetwork           	0x00007fff85e937e4 RunloopBlockContext::perform() + 124
49  com.apple.CFNetwork           	0x00007fff85e936bb MultiplexerSource::perform() + 221
50  com.apple.CoreFoundation      	0x00007fff85ad3b31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
51  com.apple.CoreFoundation      	0x00007fff85ad3455 __CFRunLoopDoSources0 + 245
52  com.apple.CoreFoundation      	0x00007fff85af67f5 __CFRunLoopRun + 789
53  com.apple.CoreFoundation      	0x00007fff85af60e2 CFRunLoopRunSpecific + 290
54  com.apple.Foundation          	0x00007fff8df71f5e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 268
55  DumpRenderTree                	0x000000010b4d362e runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 1639 (DumpRenderTree.mm:1374)
56  DumpRenderTree                	0x000000010b4d2dc2 dumpRenderTree(int, char const**) + 1727 (DumpRenderTree.mm:833)
57  DumpRenderTree                	0x000000010b4d3997 main + 86 (DumpRenderTree.mm:926)
58  libdyld.dylib                 	0x00007fff8f31f7e1 start + 1
Comment 5 Geoffrey Garen 2013-04-06 11:24:06 PDT
Rolled out: https://bugs.webkit.org/show_bug.cgi?id=114094.
Comment 6 Oliver Hunt 2013-04-06 15:46:29 PDT
Committed r147858: <http://trac.webkit.org/changeset/147858>
Comment 7 Geoffrey Garen 2013-04-09 14:15:40 PDT
<rdar://problem/13583266>