Bug 158089

Summary: Race condition calling back to an IDBOpenDBRequest during WorkerThread shutdown
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebCore Misc.Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, commit-queue, jsbell
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 149117    
Attachments:
Description Flags
Patch v1 achristensen: review+

Description Brady Eidson 2016-05-25 14:09:42 PDT
REGRESSION (r201390) - Race condition calling back to an IDBOpenDBRequest during WorkerThread shutdown
Comment 1 Brady Eidson 2016-05-25 14:11:45 PDT
(In reply to comment #0)
> REGRESSION (r201390) - Race condition calling back to an IDBOpenDBRequest
> during WorkerThread shutdown

Never mind - not a regression fro 201390 as it was seen in 201387

Seen under GuardMalloc:

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
CRASHING TEST: storage/indexeddb/pending-version-change-stuck-private.html
This process is running with libgmalloc.dylib (GuardMalloc) which may have forced the crash due to a memory access error.
 
abort() called
Pure virtual function called!

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fffd511febe __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fffd52089a7 pthread_kill + 90
2   libsystem_c.dylib             	0x00007fffd50846f4 abort + 129
3   libc++abi.dylib               	0x00007fffd3be434a abort_message + 266
4   libc++abi.dylib               	0x00007fffd3c06f62 __cxa_pure_virtual + 18
5   com.apple.WebCore             	0x00000001079b71fd void WebCore::ScriptExecutionContext::postCrossThreadTask<WebCore::IDBOpenDBRequest&, void (WebCore::IDBOpenDBRequest::*&)(WebCore::IDBResultData const&), WebCore::IDBResultData const&>(WebCore::IDBOpenDBRequest&&&, void (WebCore::IDBOpenDBRequest::*&&&)(WebCore::IDBResultData const&), WebCore::IDBResultData const&&&) + 205
6   com.apple.WebCore             	0x00000001079b231b WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest(WebCore::IDBResultData const&) + 171
7   com.apple.JavaScriptCore      	0x0000000106865872 WTF::RunLoop::performWork() + 898
8   com.apple.JavaScriptCore      	0x0000000106865a52 WTF::RunLoop::performWork(void*) + 34
9   com.apple.CoreFoundation      	0x00007fffc0cbebe1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
10  com.apple.CoreFoundation      	0x00007fffc0c9f0a7 __CFRunLoopDoSources0 + 423
11  com.apple.CoreFoundation      	0x00007fffc0c9e616 __CFRunLoopRun + 934
12  com.apple.CoreFoundation      	0x00007fffc0c9e00d CFRunLoopRunSpecific + 285
13  DumpRenderTree                	0x0000000105d3b144 0x105d28000 + 78148
14  DumpRenderTree                	0x0000000105d3a6d9 0x105d28000 + 75481
15  DumpRenderTree                	0x0000000105d3bd99 0x105d28000 + 81305
16  libdyld.dylib                 	0x00007fffd4ff1285 start + 1
Comment 2 Brady Eidson 2016-05-25 14:15:19 PDT
Created attachment 279810 [details]
Patch v1
Comment 3 Brady Eidson 2016-05-25 14:18:19 PDT
http://trac.webkit.org/changeset/201402