Bug 156545

Summary: REGRESSION (r199401): Internal builds of Safari hang on launch
Product: WebKit Reporter: Daniel Bates <dbates>
Component: WebKit2Assignee: Daniel Bates <dbates>
Status: RESOLVED FIXED    
Severity: Normal CC: aestes, andersca, bfulgham, jberlin, webkit-bug-importer
Priority: P2 Keywords: InRadar, Regression
Version: WebKit Local Build   
Hardware: Mac   
OS: OS X 10.11   
Attachments:
Description Flags
Patch andersca: review+

Description Daniel Bates 2016-04-13 10:23:54 PDT
Temporarily ignore SecCodeCopyGuestWithAttributes() failure to fix the hang. I fill follow up with a long term fix shortly.
Comment 1 Daniel Bates 2016-04-13 10:24:17 PDT
<rdar://problem/25697779>
Comment 2 Daniel Bates 2016-04-13 10:32:22 PDT
Created attachment 276332 [details]
Patch
Comment 3 Anders Carlsson 2016-04-13 10:46:11 PDT
Comment on attachment 276332 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=276332&action=review

> Source/WebKit2/Shared/mac/CodeSigning.mm:101
> +    RetainPtr<SecCodeRef> code = secCodeForProcess(pid);

Can use auto here.
Comment 4 Daniel Bates 2016-04-13 10:51:36 PDT
Committed r199504: <http://trac.webkit.org/changeset/199504>
Comment 5 Darin Adler 2016-04-13 16:56:59 PDT
Comment on attachment 276332 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=276332&action=review

> Source/WebKit2/Shared/mac/CodeSigning.mm:58
> +    OSStatus errorCode = noErr;
> +    // FIXME: We should RELEASE_ASSERT() that SecCodeCopyGuestWithAttributes() returns without error.
> +    if ((errorCode = SecCodeCopyGuestWithAttributes(nullptr, attributes.get(), kSecCSDefaultFlags, &code))) {
> +        WTFLogAlways("SecCodeCopyGuestWithAttributes() failed with error: %ld\n", static_cast<long>(errorCode));
> +        return nullptr;
> +    }
>      RELEASE_ASSERT(!SecCodeCopyGuestWithAttributes(nullptr, attributes.get(), kSecCSDefaultFlags, &code));

I don’t think you wanted to call this twice.
Comment 6 Daniel Bates 2016-04-13 20:21:55 PDT
(In reply to comment #5)
> > Source/WebKit2/Shared/mac/CodeSigning.mm:58
> > [...]
> >      RELEASE_ASSERT(!SecCodeCopyGuestWithAttributes(nullptr, attributes.get(), kSecCSDefaultFlags, &code));
> 
> I don’t think you wanted to call this twice.

Fixed in <http://trac.webkit.org/changeset/199528>.