RESOLVED FIXED222201
CrashTracer: com.apple.WebKit.Networking at WebKit: WTF::Detail::CallableWrapper<WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests()
https://bugs.webkit.org/show_bug.cgi?id=222201
Summary CrashTracer: com.apple.WebKit.Networking at WebKit: WTF::Detail::CallableWrap...
Kate Cheney
Reported 2021-02-19 14:32:10 PST
There is a crash happening in PrivateClickMeasurementManager::firePendingAttributionRequests()
Attachments
Patch (5.42 KB, patch)
2021-02-19 14:33 PST, Kate Cheney
no flags
Patch (2.43 KB, patch)
2021-02-19 15:19 PST, Alex Christensen
no flags
Kate Cheney
Comment 1 2021-02-19 14:33:53 PST
Kate Cheney
Comment 2 2021-02-19 14:34:40 PST
Alex Christensen
Comment 3 2021-02-19 14:36:47 PST
Comment on attachment 421033 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=421033&action=review > Source/WebKit/ChangeLog:8 > + Could you put why you think this will fix the crash?
Kate Cheney
Comment 4 2021-02-19 14:48:05 PST
(In reply to Alex Christensen from comment #3) > Comment on attachment 421033 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=421033&action=review > > > Source/WebKit/ChangeLog:8 > > + > > Could you put why you think this will fix the crash? Yes, will update in the next patch. TL;DR: it is crashing here: bool PrivateClickMeasurementManager::featureEnabled() const { return m_networkSession && m_networkProcess->privateClickMeasurementEnabled() && !m_sessionID.isEphemeral(); } thinking it's possible that m_networkProcess is dead when we try to check for m_networkProcess->privateClickMeasurementEnabled().
Brent Fulgham
Comment 5 2021-02-19 14:54:56 PST
Comment on attachment 421033 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=421033&action=review > Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:57 > + , m_networkProcess(makeWeakPtr(networkProcess)) This is probably the right architecture -- we don't own the network process (i.e. we shouldn't be the thing keeping it alive), so a weakptr makes sense. > Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:-426 > - return m_networkSession && m_networkProcess->privateClickMeasurementEnabled() && !m_sessionID.isEphemeral(); It's a bummer that we can't figure out which of these things is the source of the issue. Perhaps it would be useful to early return if !m_networkSession and !m_networkProcess.
John Wilander
Comment 6 2021-02-19 15:18:15 PST
(In reply to Brent Fulgham from comment #5) > Comment on attachment 421033 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=421033&action=review > > > Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:57 > > + , m_networkProcess(makeWeakPtr(networkProcess)) > > This is probably the right architecture -- we don't own the network process > (i.e. we shouldn't be the thing keeping it alive), so a weakptr makes sense. > > > Source/WebKit/NetworkProcess/PrivateClickMeasurementManager.cpp:-426 > > - return m_networkSession && m_networkProcess->privateClickMeasurementEnabled() && !m_sessionID.isEphemeral(); > > It's a bummer that we can't figure out which of these things is the source > of the issue. Perhaps it would be useful to early return if > !m_networkSession and !m_networkProcess. Yeah, I'm in favor of splitting it into three separate conditionals just to give ourselves the information if it keeps crashing.
Alex Christensen
Comment 7 2021-02-19 15:18:46 PST
I don't think this will fix your crash
Alex Christensen
Comment 8 2021-02-19 15:19:53 PST
Kate Cheney
Comment 9 2021-02-19 15:21:13 PST
(In reply to Alex Christensen from comment #8) > Created attachment 421043 [details] > Patch This makes so much sense.
Chris Dumez
Comment 10 2021-02-19 15:26:03 PST
(In reply to katherine_cheney from comment #9) > (In reply to Alex Christensen from comment #8) > > Created attachment 421043 [details] > > Patch > > This makes so much sense. Yes, capturing |this| in a lambda without any kind of lifetime management rarely works out.
EWS
Comment 11 2021-02-19 16:19:00 PST
Committed r273180: <https://commits.webkit.org/r273180> All reviewed patches have been landed. Closing bug and clearing flags on attachment 421043 [details].
Radar WebKit Bug Importer
Comment 12 2021-02-19 16:19:15 PST
Note You need to log in before you can comment on or make changes to this bug.