Summary: | Crash when remote inspecting in debug builds | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||||
Component: | Web Inspector | Assignee: | Simon Fraser (smfr) <simon.fraser> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | bburg, ews-watchlist, hi, inspector-bugzilla-changes, joepeck, keith_miller, mark.lam, msaboff, saam, simon.fraser, tzagallo, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
See Also: |
https://bugs.webkit.org/show_bug.cgi?id=221107 https://bugs.webkit.org/show_bug.cgi?id=221108 |
||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 225794 | ||||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2021-01-25 15:28:22 PST
Created attachment 418347 [details]
Patch
Comment on attachment 418347 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=418347&action=review > Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:215 > + dispatchAsyncOnTarget([this, message = [[message copy] autorelease], strongThis = makeRef(*this)]() { I believe that `message` isn't ever used after calling `sendMessageToTarget`. Can we avoid creating a copy? Created attachment 418355 [details]
Patch
Comment on attachment 418355 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=418355&action=review r=me, nice fix! > Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:207 > + if (targetIdentifier) Why was this added? `RemoteInspector::updateTargetListing` should be able to handle `0`. Committed r271876: <https://trac.webkit.org/changeset/271876> All reviewed patches have been landed. Closing bug and clearing flags on attachment 418355 [details]. Comment on attachment 418355 [details]
Patch
Thanks for digging on this, Simon!
Do we actually know why BlockPtr doesn't work well with ARC? It works fine with ARC, but not when the linker links an ARC-compiled function into a caller that is not complied with ARC. |