Bug 97376

Summary: fast/dom/Geolocation/disconnected-frame.html test asserts
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Tools / TestsAssignee: Benjamin Poulain <benjamin>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, kenneth, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Simon Fraser (smfr) 2012-09-21 15:58:05 PDT
Every time I run this test it asserts:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef

VM Regions Near 0xbbadbeef:
--> 
    __TEXT                 000000010a952000-000000010a953000 [    4K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit2.framework/WebProcess.app/Contents/MacOS/WebProcess

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit2             	0x000000010a9f5c91 WTF::HashTableConstIterator<WebCore::Geolocation*, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >, WTF::PtrHash<WebCore::Geolocation*>, WTF::HashMapValueTraits<WTF::HashTraits<WebCore::Geolocation*>, WTF::HashTraits<unsigned long long> >, WTF::HashTraits<WebCore::Geolocation*> >::checkValidity() const + 81 (HashTable.h:210)
1   com.apple.WebKit2             	0x000000010a9f5c29 WTF::HashTableConstIterator<WebCore::Geolocation*, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >, WTF::PtrHash<WebCore::Geolocation*>, WTF::HashMapValueTraits<WTF::HashTraits<WebCore::Geolocation*>, WTF::HashTraits<unsigned long long> >, WTF::HashTraits<WebCore::Geolocation*> >::get() const + 25 (HashTable.h:170)
2   com.apple.WebKit2             	0x000000010a9f5c05 WTF::HashTableIterator<WebCore::Geolocation*, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >, WTF::PtrHash<WebCore::Geolocation*>, WTF::HashMapValueTraits<WTF::HashTraits<WebCore::Geolocation*>, WTF::HashTraits<unsigned long long> >, WTF::HashTraits<WebCore::Geolocation*> >::get() const + 21 (HashTable.h:259)
3   com.apple.WebKit2             	0x000000010a9f5be5 WTF::HashTableIteratorAdapter<WTF::HashTable<WebCore::Geolocation*, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >, WTF::PtrHash<WebCore::Geolocation*>, WTF::HashMapValueTraits<WTF::HashTraits<WebCore::Geolocation*>, WTF::HashTraits<unsigned long long> >, WTF::HashTraits<WebCore::Geolocation*> >, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >::get() const + 21 (HashIterators.h:69)
4   com.apple.WebKit2             	0x000000010a9f43f5 WTF::HashTableIteratorAdapter<WTF::HashTable<WebCore::Geolocation*, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >, WTF::PtrHash<WebCore::Geolocation*>, WTF::HashMapValueTraits<WTF::HashTraits<WebCore::Geolocation*>, WTF::HashTraits<unsigned long long> >, WTF::HashTraits<WebCore::Geolocation*> >, WTF::KeyValuePair<WebCore::Geolocation*, unsigned long long> >::operator->() const + 21 (HashIterators.h:71)
5   com.apple.WebKit2             	0x000000010a9f3db9 WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation(WebCore::Geolocation*) + 233 (GeolocationPermissionRequestManager.cpp:77)
6   com.apple.WebKit2             	0x000000010ab863c9 WebKit::WebGeolocationClient::cancelPermissionRequest(WebCore::Geolocation*) + 41 (WebGeolocationClient.cpp:79)
7   com.apple.WebCore             	0x000000010cf84d6e WebCore::GeolocationController::cancelPermissionRequest(WebCore::Geolocation*) + 62 (GeolocationController.cpp:100)
8   com.apple.WebCore             	0x000000010cf73444 WebCore::Geolocation::stop() + 84 (Geolocation.cpp:278)
9   com.apple.WebCore             	0x000000010dd366a5 WebCore::ScriptExecutionContext::stopActiveDOMObjects() + 341 (ScriptExecutionContext.cpp:225)
10  com.apple.WebCore             	0x000000010cc07bc2 WebCore::Document::detach() + 242 (Document.cpp:2139)
11  com.apple.WebCore             	0x000000010cc08073 WebCore::Document::prepareForDestruction() + 83 (Document.cpp:2201)
12  com.apple.WebCore             	0x000000010cf13c46 WebCore::Frame::setView(WTF::PassRefPtr<WebCore::FrameView>) + 230 (Frame.cpp:271)
13  com.apple.WebCore             	0x000000010cf166f1 WebCore::Frame::createView(WebCore::IntSize const&, WebCore::Color const&, bool, WebCore::IntSize const&, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool) + 385 (Frame.cpp:791)
14  com.apple.WebKit2             	0x000000010ab75fd5 WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage() + 373 (WebFrameLoaderClient.cpp:1238)
15  com.apple.WebCore             	0x000000010cf2987a WebCore::FrameLoader::transitionToCommitted(WTF::PassRefPtr<WebCore::CachedPage>) + 1418 (FrameLoader.cpp:1872)
16  com.apple.WebCore             	0x000000010cf28ca9 WebCore::FrameLoader::commitProvisionalLoad() + 937 (FrameLoader.cpp:1712)
17  com.apple.WebCore             	0x000000010cc585dc WebCore::DocumentLoader::commitIfReady() + 60 (DocumentLoader.cpp:284)
18  com.apple.WebCore             	0x000000010cc58bac WebCore::DocumentLoader::commitLoad(char const*, int) + 76 (DocumentLoader.cpp:315)
19  com.apple.WebCore             	0x000000010cc590b3 WebCore::DocumentLoader::receivedData(char const*, int) + 83 (DocumentLoader.cpp:394)
20  com.apple.WebCore             	0x000000010d893397 WebCore::MainResourceLoader::addData(char const*, int, bool) + 87 (MainResourceLoader.cpp:193)
21  com.apple.WebCore             	0x000000010dcd556c WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool) + 108 (ResourceLoader.cpp:281)
22  com.apple.WebCore             	0x000000010d894c4c WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool) + 988 (MainResourceLoader.cpp:482)
23  com.apple.WebCore             	0x000000010dcd5e9f WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int) + 143 (ResourceLoader.cpp:436)
24  com.apple.WebCore             	0x000000010dcd274a -[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:] + 298 (ResourceHandleMac.mm:823)
25  com.apple.Foundation          	0x00007fff870f9f58 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 28
26  com.apple.Foundation          	0x00007fff870f9e9c -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 227
27  com.apple.Foundation          	0x00007fff870f9d98 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 63
28  com.apple.Foundation          	0x00007fff870fc92b _NSURLConnectionDidReceiveData_LengthReceived + 86
29  com.apple.CFNetwork           	0x00007fff8a9d36c4 ___delegate_didReceiveDataArray_block_invoke_0 + 132
30  com.apple.CFNetwork           	0x00007fff8a9c63ca ___withDelegateAsync_block_invoke_0 + 90
31  com.apple.CFNetwork           	0x00007fff8aa5656a __block_global_1 + 28
32  com.apple.CoreFoundation      	0x00007fff87ca5724 CFArrayApplyFunction + 68
33  com.apple.CFNetwork           	0x00007fff8a9b7554 RunloopBlockContext::perform() + 124
34  com.apple.CFNetwork           	0x00007fff8a9b742b MultiplexerSource::perform() + 221
35  com.apple.CoreFoundation      	0x00007fff87c87101 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
36  com.apple.CoreFoundation      	0x00007fff87c86a25 __CFRunLoopDoSources0 + 245
37  com.apple.CoreFoundation      	0x00007fff87ca9dc5 __CFRunLoopRun + 789
38  com.apple.CoreFoundation      	0x00007fff87ca96b2 CFRunLoopRunSpecific + 290
39  com.apple.HIToolbox           	0x00007fff856500a4 RunCurrentEventLoopInMode + 209
40  com.apple.HIToolbox           	0x00007fff8564fe42 ReceiveNextEventCommon + 356
41  com.apple.HIToolbox           	0x00007fff8564fcd3 BlockUntilNextEventMatchingListInMode + 62
42  com.apple.AppKit              	0x00007fff8849c613 _DPSNextEvent + 685
43  com.apple.AppKit              	0x00007fff8849bed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
44  com.apple.AppKit              	0x00007fff88493283 -[NSApplication run] + 517
45  com.apple.WebCore             	0x000000010dcff55c WebCore::RunLoop::run() + 92 (RunLoopMac.mm:37)
46  com.apple.WebKit2             	0x000000010ac9b86a WebKit::WebProcessMain(WebKit::CommandLine const&) + 4442 (WebProcessMainMac.mm:189)
47  com.apple.WebKit2             	0x000000010aba8868 WebKitMain(WebKit::CommandLine const&) + 200 (WebKitMain.cpp:50)
48  com.apple.WebKit2             	0x000000010aba8779 WebKitMain + 153 (WebKitMain.cpp:74)
Comment 1 Simon Fraser (smfr) 2012-09-21 15:58:48 PDT
ASSERTION FAILED: m_table
Comment 2 Benjamin Poulain 2012-09-21 16:08:47 PDT
That's very good, tests are useful after all :)

I'll disable the test and look at what is up.
Comment 3 Benjamin Poulain 2012-09-21 17:03:21 PDT
Created attachment 165229 [details]
Patch
Comment 4 Benjamin Poulain 2012-09-21 17:12:42 PDT
Comment on attachment 165229 [details]
Patch

Clearing flags on attachment: 165229

Committed r129278: <http://trac.webkit.org/changeset/129278>
Comment 5 Benjamin Poulain 2012-09-21 17:12:45 PDT
All reviewed patches have been landed.  Closing bug.