-
Notifications
You must be signed in to change notification settings - Fork 26.3k
[SR] Fix StaticRuntime move ctor #74927
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
Conversation
The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/) [ghstack-poisoned]
🔗 Helpful links
💊 CI failures summary and remediationsAs of commit 8a1b9bb (more details on the Dr. CI page): 💚 💚 Looks good so far! There are no failures yet. 💚 💚 This comment was automatically generated by Dr. CI (expand for details).Please report bugs/suggestions to the (internal) Dr. CI Users group. |
The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/) [ghstack-poisoned]
Pull Request resolved: #74927 The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. ghstack-source-id: 152512502 Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/)
The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/) [ghstack-poisoned]
The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/) [ghstack-poisoned]
The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/) [ghstack-poisoned]
hlu1
left a comment
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.
LGTM
The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. Differential Revision: [D35228467](https://our.internmc.facebook.com/intern/diff/D35228467/) [ghstack-poisoned]
Summary: Pull Request resolved: #74927 The move ctor was broken because `BlockRunner` stores a reference to `values_`. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated. Pass `BlockRunner` a raw pointer to the heap-allocated IValues instead to avoid this issue. ghstack-source-id: 153168602 Test Plan: New unit test/CI Reviewed By: navahgar Differential Revision: D35228467 fbshipit-source-id: 04e198b39f898b82677a0e41e1cdf00c2b0c09f3
|
Hey @mikeiovine. |
Stack from ghstack (oldest at bottom):
The move ctor was broken because
BlockRunnerstores a reference tovalues_. When moving runtime instances, the pointer to the root block would be moved, but the reference inside it would not be updated.Pass
BlockRunnera raw pointer to the heap-allocated IValues instead to avoid this issue.Differential Revision: D35228467