Bug 159958 - run-safari doesn't work with Safari 10 on 10.11
Summary: run-safari doesn't work with Safari 10 on 10.11
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: mitz
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-07-19 16:35 PDT by Alexey Proskuryakov
Modified: 2016-07-22 08:13 PDT (History)
2 users (show)

See Also:


Attachments
proposed fix (1.79 KB, patch)
2016-07-19 16:39 PDT, Alexey Proskuryakov
no flags Details | Formatted Diff | Diff
proposed fix (1.13 KB, patch)
2016-07-19 23:09 PDT, Alexey Proskuryakov
no flags Details | Formatted Diff | Diff
Make engineering builds of the Web Content service prefer newer frameworks in the staged install path (6.33 KB, patch)
2016-07-21 21:45 PDT, mitz
ap: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Proskuryakov 2016-07-19 16:35:35 PDT
As reported in webkit-dev:

$ ./Tools/Scripts/run-safari

Safari 10 starts, but nothing loads probably because it cannot load its injected bundle. This is the output:

Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/bari/src/webkit/WebKitBuild/Release.
2016-07-18 14:18:32.900 SafariForWebKitDevelopment[424:4918] [Keychain] SecItemCopyMatching failed fetching extension list with error -34018
2016-07-18 14:18:32.923 SafariForWebKitDevelopment[424:4918] [Keychain] SecItemCopyMatching failed fetching extension list with error -34018
2016-07-18 14:18:33.091 com.apple.WebKit.WebContent.Development[425:4983] Error loading /System/Library/StagedFrameworks/Safari/Safari.framework/Safari: dlopen(/System/Library/StagedFrameworks/Safari/Safari.framework/Safari, 265): Symbol not found: _OBJC_CLASS_$_WBSCompletionListRankingObserver
 Referenced from: /System/Library/StagedFrameworks/Safari/Safari.framework/Safari
 Expected in: /System/Library/PrivateFrameworks/SafariShared.framework/Versions/A/SafariShared
in /System/Library/StagedFrameworks/Safari/Safari.framework/Safari
InjectedBundle::load failed - Could not load the executable from the bundle.


<rdar://problem/27422805>
Comment 1 Alexey Proskuryakov 2016-07-19 16:39:51 PDT
Created attachment 284069 [details]
proposed fix

Dan, did I understand you correctly?
Comment 2 mitz 2016-07-19 16:54:50 PDT
Comment on attachment 284069 [details]
proposed fix

This can cause production builds of the XPC services in macOS releases to load the staged WebKit frameworks when the client app isn’t Safari.

You should make a change the only affects engineering builds.
Comment 3 Alexey Proskuryakov 2016-07-19 23:09:52 PDT
Created attachment 284085 [details]
proposed fix

Good catch.

Attaching another fix that I have, but it seems conceptually wrong too. Needs more discussion.
Comment 4 Alexey Proskuryakov 2016-07-21 16:15:38 PDT
Dan convinced me that doing it conditionally for engineering builds is the only acceptable way forward. Will hopefully get back to this next week, if no one beats me to it.
Comment 5 mitz 2016-07-21 21:45:30 PDT
Created attachment 284305 [details]
Make engineering builds of the Web Content service prefer newer frameworks in the staged install path
Comment 6 mitz 2016-07-22 08:13:05 PDT
Fixed in <https://trac.webkit.org/r203598>.