Bug 180691 - Symbol not found: __ZN3WTF8LockBase10unlockSlowEv
Summary: Symbol not found: __ZN3WTF8LockBase10unlockSlowEv
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-12-11 23:39 PST by Devin Rousso
Modified: 2017-12-12 12:33 PST (History)
9 users (show)

See Also:


Attachments
[PATCH] Proposed Fix (1.42 KB, patch)
2017-12-12 00:35 PST, Joseph Pecoraro
ysuzuki: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Devin Rousso 2017-12-11 23:39:18 PST
I just tried running my local build via `Tools/Scripts/run-safari --release` and got this error:

Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in WebKitBuild/Release.
dyld: Symbol not found: __ZN3WTF8LockBase10unlockSlowEv
  Referenced from: /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
  Expected in: WebKitBuild/Release/JavaScriptCore.framework/Versions/A/JavaScriptCore
 in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari

I'm guessing that this is related to <https://webkit.org/b/180495>, as it removed LockBase.

* Info:
ProductName:	Mac OS X
ProductVersion:	10.13.2
BuildVersion:	17C88
Comment 1 Joseph Pecoraro 2017-12-12 00:00:55 PST
Looks like system macOS 10.13.2 Safari needs this symbol:

    $ c++filt __ZN3WTF8LockBase10unlockSlowEv
    WTF::LockBase::unlockSlow()

Typically we add back something like this into:
WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm

I don't know the full list of symbols we need to add back. Probably a few of these, which just moved from WTF::LockBase to WTF::Lock.

    WTF_EXPORT_PRIVATE void lockSlow();
    WTF_EXPORT_PRIVATE void unlockSlow();
    WTF_EXPORT_PRIVATE void unlockFairlySlow();
    WTF_EXPORT_PRIVATE void safepointSlow();
Comment 2 Joseph Pecoraro 2017-12-12 00:35:43 PST
Created attachment 329096 [details]
[PATCH] Proposed Fix
Comment 3 Joseph Pecoraro 2017-12-12 00:37:47 PST
Comment on attachment 329096 [details]
[PATCH] Proposed Fix

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

> Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm:132
> +#if PLATFORM(MAC)

Not sure if it is worth adding a restriction here, such as:

    && __MAC_OS_X_VERSION_MIN_REQUIRED < 101340

But reviewers let me know if you think that would be worth doing.
Comment 4 Yusuke Suzuki 2017-12-12 02:24:38 PST
Comment on attachment 329096 [details]
[PATCH] Proposed Fix

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

>> Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm:132
>> +#if PLATFORM(MAC)
> 
> Not sure if it is worth adding a restriction here, such as:
> 
>     && __MAC_OS_X_VERSION_MIN_REQUIRED < 101340
> 
> But reviewers let me know if you think that would be worth doing.

I think this restriction is useful since it can be a marker for dropping this in the future.
Adding `FIXME` comment is also nice.
Comment 5 Joseph Pecoraro 2017-12-12 11:19:50 PST
<https://trac.webkit.org/r225792>
Comment 6 Radar WebKit Bug Importer 2017-12-12 12:33:13 PST
<rdar://problem/36001432>