| commit | 8a3b6986ec9d51fdaa17b6166ee07b51a3e1b91a | [log] [tgz] |
|---|---|---|
| author | Nick Eaton <nickeaton@fuchsia.infra.roller.google.com> | Tue Mar 07 16:26:28 2023 +0000 |
| committer | Copybara-Service <copybara-worker@google.com> | Tue Mar 07 08:27:30 2023 -0800 |
| tree | 7ceb461a65b2a3bef8444215f87a3feaa654c19f | |
| parent | 2d11c6424a174d5635676603641a53691f45c981 [diff] |
[roll] Roll fuchsia Reland "[fdf] Wait for DFv2 node to be removed completely" This is a reland of commit de7e754be1ae0886a590a890eb29a97165b18f60 Convert FIDL arguments for shutting down a DFv2 node into their natural types before capturing them in a callback that is called at a later point in the shutdown process. Originally, these arguments were wire types and the underlying data was not owned by the callback that captured them resulting in referencing data that was freed when the callback was invoked. Original change's description: > [fdf] Wait for DFv2 node to be removed completely > > This CL addresses two issues related to shutting down DFv2 nodes. The > first issue is that DFv2 nodes do not confirm that its associated > component has been fully removed by the component manager before > allowing another component to be created with the same configuration. If > a new node is added after the old one is removed and the component > manager hasn't had time to remove the old component then it may complain > about duplicate components when the new node attempts to create a new > component. > > In this CL, nodes will now send a `DestroyChild` request to the > component manager during the node removal process and will only be > considered fully removed when the FIDL request gets a response. This > ensures that the associated component has been fully removed. > > The second issue is that DFv2 nodes can be added after another node with > the same name has been requested to be removed but before it has been > fully removed. The driver runner will complain that duplicate nodes > exist when attempting to add the new node even if the old node is in the > middle of being removed. > > In this CL, DFv2 nodes will now check if the duplicate node is in the > middle of being removed and create a callback to create the new child > node once the old node is removed. > > Both these issues are race conditions and so the test added in this CL > may not fail every time. It usually failed every 1 out of 3 tests. > > Multiply: rebind_test > Original-Bug: 121991 > Original-Bug: 121990 > Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/800764 Original-Bug: 121991 Original-Bug: 121990 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/813168 Original-Revision: 106bb540973d1c38cd8bf4cc62b2e6aa05b0e490 GitOrigin-RevId: 79f0574ac66e8618e178fe76406ffcc2de46b6ae Change-Id: I9396eef856bb45a1e2def6de30208824ef6dff69
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.