-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assert access checks + more UseCounter code #1291
base: master
Are you sure you want to change the base?
Conversation
Domiii
commented
Jun 27, 2024
•
edited
Loading
edited
- paired w/ Assert access checks chromium-v8#260
- also paired w/ https://github.com/replayio/backend/pull/10363 to test our new "test runner changes"
- https://linear.app/replay/issue/TT-366/[atlassian-linkedin]-mismatch-in-pageloadmetricsproxyupdatetiming#comment-c3a7d316
5310396
to
59ad771
Compare
…-1480-assert-more-counter-code
…-1480-assert-more-counter-code
…-1480-assert-more-counter-code
…-1480-assert-more-counter-code
…-1480-assert-more-counter-code
HeapVector<Member<ContextLifecycleObserver>> observers; | ||
observers_.ForEachObserver([&](ContextLifecycleObserver* observer) { | ||
observers.push_back(observer); | ||
observers_.ForEachObserver([](ContextLifecycleObserver* observer) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NOTE: Undid outdated changes. This looks like a very old version of assuring determinism of a HeapObserverSet
. I already fixed most of that inside HeapObserverSet
itself a long time ago. I added the additional "leaking on Remove
" part down below.
I closed the wrong thing... |
…-1480-assert-more-counter-code
…-1480-assert-more-counter-code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
either a naming problem or a logic problem (guessing the former) in the heap_observer_set.h change. either way, a little confused there.
feature.type(), | ||
feature.value()); | ||
REPLAY_ASSERT_IF( | ||
// [Rebase-Check] This might change with a rebase. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what exactly might change? can the answer go in the comment?
CHECK(iteration_state_ & kAllowingRemoval); | ||
if (recordreplay::AreEventsDisallowed() && | ||
recordreplay::IsRecordingOrReplaying("leak-references", "HeapObserverSet")) { | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔 at "leak-references". this does more than leak/keep-alive: the observer stays around in the list of observers to notify.