Bug 81012

Summary: Assertion failure in PlatformPasteboardMac constructor causing multiple tests to "crash" on the Lion Intel WebKit2 Debug bots
Product: WebKit Reporter: Jessie Berlin <jberlin>
Component: HTML EditingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: aakash_jain, ap, enrica, jberlin, rniwa, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar, LayoutTestFailure, Regression
Version: 528+ (Nightly build)   
Hardware: Mac (Intel)   
OS: OS X 10.7   
URL: http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110566%20(4846)/editing/execCommand/copy-without-selection-crash-log.txt

Description Jessie Berlin 2012-03-13 11:03:41 PDT
I am not sure when it regressed, since it appears to be happening for at least last 200 builds:

http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110578%20(4851)/editing/execCommand/4128080-2-crash-log.txt
http://build.webkit.org/old-results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110129%20(4652)/editing/execCommand/4128080-2-crash-log.txt

Here is a sample log:

http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110566%20(4846)/editing/execCommand/copy-without-selection-crash-log.txt

Process:         WebKitTestRunner [18527]
Path:            /Volumes/VOLUME/*/WebKitTestRunner
Identifier:      WebKitTestRunner
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  Python [18327]

Date/Time:       2012-03-13 08:55:12.652 -0700
OS Version:      Mac OS X 10.7.2 (11C74)
Report Version:  9

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

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

VM Regions Near 0xbbadbeef:
--> 
    __TEXT                 0000000108eba000-0000000108ed0000 [   88K] r-x/rwx SM=COW  /Volumes/VOLUME/*

Application Specific Information:
objc[18527]: garbage collection is OFF

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010c271d31 WebCore::PlatformPasteboard::PlatformPasteboard(WTF::String const&) + 177 (PlatformPasteboardMac.mm:35)
1   com.apple.WebCore             	0x000000010c271c6d WebCore::PlatformPasteboard::PlatformPasteboard(WTF::String const&) + 29 (PlatformPasteboardMac.mm:36)
2   com.apple.WebKit2             	0x000000010909b378 WebKit::WebContext::getPasteboardChangeCount(WTF::String const&, unsigned long long&) + 40 (WebContextMac.mm:193)
3   com.apple.WebKit2             	0x00000001090a49ef void CoreIPC::callMemberFunction<WebKit::WebContext, void (WebKit::WebContext::*)(WTF::String const&, unsigned long long&), WTF::String, unsigned long long>(CoreIPC::Arguments1<WTF::String> const&, CoreIPC::Arguments1<unsigned long long>&, WebKit::WebContext*, void (WebKit::WebContext::*)(WTF::String const&, unsigned long long&)) + 143 (HandleMessage.h:94)
4   com.apple.WebKit2             	0x00000001090a4581 void CoreIPC::handleMessage<Messages::WebContext::GetPasteboardChangeCount, WebKit::WebContext, void (WebKit::WebContext::*)(WTF::String const&, unsigned long long&)>(CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*, WebKit::WebContext*, void (WebKit::WebContext::*)(WTF::String const&, unsigned long long&)) + 161 (HandleMessage.h:308)
5   com.apple.WebKit2             	0x00000001090a35e7 WebKit::WebContext::didReceiveSyncWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr<CoreIPC::ArgumentEncoder>&) + 647 (WebContextMessageReceiver.cpp:143)
6   com.apple.WebKit2             	0x0000000109086453 WebKit::WebContext::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr<CoreIPC::ArgumentEncoder>&) + 99 (WebContext.cpp:741)
7   com.apple.WebKit2             	0x0000000109203f87 WebKit::WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr<CoreIPC::ArgumentEncoder>&) + 215 (WebProcessProxy.cpp:344)
8   com.apple.WebKit2             	0x000000010907e9ed WebKit::WebConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr<CoreIPC::ArgumentEncoder>&) + 93 (WebConnectionToWebProcess.cpp:98)
9   com.apple.WebKit2             	0x000000010907ea45 non-virtual thunk to WebKit::WebConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, WTF::OwnPtr<CoreIPC::ArgumentEncoder>&) + 69
10  com.apple.WebKit2             	0x0000000108f1d961 CoreIPC::Connection::dispatchSyncMessage(CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 289 (Connection.cpp:650)
11  com.apple.WebKit2             	0x0000000108f1af38 CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message<CoreIPC::ArgumentDecoder>&) + 328 (Connection.cpp:690)
12  com.apple.WebKit2             	0x0000000108f1adc5 CoreIPC::Connection::SyncMessageState::dispatchMessages() + 277 (Connection.cpp:167)
13  com.apple.WebKit2             	0x0000000108f1ac9e CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork() + 158 (Connection.cpp:182)
14  com.apple.WebKit2             	0x0000000108f27190 WTF::FunctionWrapper<void (CoreIPC::Connection::SyncMessageState::*)()>::operator()(CoreIPC::Connection::SyncMessageState*) + 112 (Functional.h:173)
15  com.apple.WebKit2             	0x0000000108f27115 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (CoreIPC::Connection::SyncMessageState::*)()>, void ()(CoreIPC::Connection::SyncMessageState*)>::operator()() + 53 (Functional.h:373)
16  com.apple.WebCore             	0x000000010c57592d WTF::Function<void ()()>::operator()() const + 141 (Functional.h:581)
17  com.apple.WebCore             	0x000000010c5756b3 WebCore::RunLoop::performWork() + 147 (RunLoop.cpp:66)
18  com.apple.WebCore             	0x000000010c576ad0 WebCore::RunLoop::performWork(void*) + 96 (RunLoopMac.mm:65)
19  com.apple.CoreFoundation      	0x00007fff875e2b51 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
20  com.apple.CoreFoundation      	0x00007fff875e23bd __CFRunLoopDoSources0 + 253
21  com.apple.CoreFoundation      	0x00007fff876091a9 __CFRunLoopRun + 905
22  com.apple.CoreFoundation      	0x00007fff87608ae6 CFRunLoopRunSpecific + 230
23  com.apple.Foundation          	0x00007fff80f4e04f -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
24  WebKitTestRunner              	0x0000000108ec4ddc WTR::TestController::platformRunUntil(bool&, double) + 204 (TestControllerMac.mm:60)
25  WebKitTestRunner              	0x0000000108ec06f5 WTR::TestController::runUntil(bool&, WTR::TestController::TimeoutDuration) + 149 (TestController.cpp:563)
26  WebKitTestRunner              	0x0000000108ec5b64 WTR::TestInvocation::invoke() + 1396 (TestInvocation.cpp:171)
27  WebKitTestRunner              	0x0000000108ec0d78 WTR::TestController::runTest(char const*) + 1656 (TestController.cpp:513)
28  WebKitTestRunner              	0x0000000108ec0e82 WTR::TestController::runTestingServerLoop() + 178 (TestController.cpp:529)
29  WebKitTestRunner              	0x0000000108ebf500 WTR::TestController::run() + 48 (TestController.cpp:537)
30  WebKitTestRunner              	0x0000000108ebe1c6 WTR::TestController::TestController(int, char const**) + 614 (TestController.cpp:88)
31  WebKitTestRunner              	0x0000000108ebdf53 WTR::TestController::TestController(int, char const**) + 35 (TestController.cpp:89)
32  WebKitTestRunner              	0x0000000108ebbeaf main + 143 (main.mm:36)
33  WebKitTestRunner              	0x0000000108ebbe14 start + 52
Comment 1 Radar WebKit Bug Importer 2012-03-13 11:08:08 PDT
<rdar://problem/11039295>
Comment 2 Jessie Berlin 2012-03-13 14:10:26 PDT
Killing the pasteboard server seemed to fix the crash on at least one of the Mac Lion Debug WK2 testers.

Enrica and I were unable to reproduce these crashes locally.

We think that some other tests crashing might be leaving the system / pasteboard in a weird state. Hopefully we can fix more of the other test crashes soon so we don't get into this state again.

I am going to kill the pasteboard server on all the affected bots. If we see this crash come back, it might be worth adding a build step to kill the pasteboard server.
Comment 3 Jessie Berlin 2012-03-23 09:15:55 PDT
Added a step to kill the pasteboard server in http://trac.webkit.org/changeset/111866.

Hopefully this will remove the need for us to continually ssh into the affected bots and kill it manually until we can figure out what the underlying issue (and fix) is.
Comment 4 Ryosuke Niwa 2012-05-25 00:09:55 PDT
Does this bug still exist?
Comment 5 Jessie Berlin 2012-05-25 08:46:35 PDT
(In reply to comment #4)
> Does this bug still exist?

Until someone has the time to take out the kill step added in http://trac.webkit.org/changeset/111866 and actually debug the issue, we need to keep this bug open.

AFAIK, nothing has changed (other than adding the kill step) that should have caused the issue to disappear.
Comment 6 Aakash Jain 2015-12-18 10:08:08 PST
reverted this in https://bugs.webkit.org/show_bug.cgi?id=152426