Bug 216486

Summary: Web Inspector: REGRESSION(r266885): dyld: Symbol not found: __ZN9Inspector17BackendDispatcher12sendResponseElON3WTF6RefPtrINS1_8JSONImpl6ObjectENS1_13DumbPtrTraitsIS4_EEEEb
Product: WebKit Reporter: Devin Rousso <hi>
Component: Web InspectorAssignee: Devin Rousso <hi>
Status: RESOLVED FIXED    
Severity: Normal CC: bburg, ebrahim, ews-watchlist, hi, inspector-bugzilla-changes, joepeck, keith_miller, m13590491852, marcos, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
See Also: https://bugs.webkit.org/show_bug.cgi?id=179847
https://bugs.webkit.org/show_bug.cgi?id=216675
Bug Depends on: 216302    
Bug Blocks:    
Attachments:
Description Flags
Patch none

Description Devin Rousso 2020-09-14 11:26:41 PDT
```
dyld: Symbol not found: __ZN9Inspector17BackendDispatcher12sendResponseElON3WTF6RefPtrINS1_8JSONImpl6ObjectENS1_13DumbPtrTraitsIS4_EEEEb
  Referenced from: /System/Library/PrivateFrameworks/WebInspector.framework/Versions/A/WebInspector
  Expected in: ~/dev/WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore
 in /System/Library/PrivateFrameworks/WebInspector.framework/Versions/A/WebInspector
```
Comment 1 Devin Rousso 2020-09-14 11:31:11 PDT
Created attachment 408729 [details]
Patch
Comment 2 Joseph Pecoraro 2020-09-14 11:34:59 PDT
Comment on attachment 408729 [details]
Patch

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

rs=me

> Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp:201
> +    sendResponse(requestId, result.releaseNonNull(), false);

Should it send the `bool` passed into this function, even though it is "unused"?
Comment 3 Devin Rousso 2020-09-14 11:38:14 PDT
Comment on attachment 408729 [details]
Patch

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

>> Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp:201
>> +    sendResponse(requestId, result.releaseNonNull(), false);
> 
> Should it send the `bool` passed into this function, even though it is "unused"?

IIRC this `bool` only exists to differentiate this `sendResponse` from the `sendResponse` in <https://trac.webkit.org/browser/trunk/Source/JavaScriptCore/inspector/cocoa/DeprecatedInspectorValues.cpp#L195>.

This also matches the behavior before r266885.
Comment 4 EWS 2020-09-14 12:30:16 PDT
Committed r267028: <https://trac.webkit.org/changeset/267028>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408729 [details].
Comment 5 Radar WebKit Bug Importer 2020-09-14 12:31:16 PDT
<rdar://problem/68871288>
Comment 6 Marcos Caceres 2020-11-18 22:24:08 PST
This seems to have regressed again... 

STR:
 1. build-webkit --debug
 2. run-safari --debug 

Expected: Safari to start up

Actual:
```
Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/mcaceres/dev/WebKit/WebKitBuild/Debug.
dyld: Symbol not found: __ZN9Inspector17BackendDispatcher12sendResponseElON3WTF6RefPtrINS1_8JSONImpl6ObjectENS1_13DumbPtrTraitsIS4_EEEEb
  Referenced from: /System/Library/PrivateFrameworks/WebInspector.framework/Versions/A/WebInspector
  Expected in: /Users/mcaceres/dev/WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore
 in /System/Library/PrivateFrameworks/WebInspector.framework/Versions/A/WebInspector
```
Comment 7 BJ Burg 2021-02-16 15:29:19 PST
Marcos, this is fallout from JavaScriptCore breaking ABI compatibility. For this to not be hit will require the changes in WebInspector.framework to be in your system library. This won't happen until you update Safari. The fix for this should be in Safari 14.1 beta, which is available via here: https://developer.apple.com/safari/download/
Comment 8 Marcos Caceres 2021-02-16 20:02:17 PST
Thanks, BJ. Appreciate the update! I'll give the beta a go.
Comment 9 BJ Burg 2021-02-17 08:53:56 PST
*** Bug 221528 has been marked as a duplicate of this bug. ***