-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Since the genericised `PassManager`, the `PropertySet` used in the `WorkflowState` of a pass-manager pipeline was taken directly from the internal state of the `BasePassManager`. This is set to a clean `PropertySet` during the pass-manager initialisation (similar to how it was in the previous version), but is not reset on subsequent runs. This didn't cause problems in the old form because the "iterator" over tasks in the old form was a new `RunningPassManager` instance. Failing to generate a clean property set could lead to passes getting fed old analysis data when the pass manager was used more than once, leading to miscompilations. (cherry picked from commit 9c1accb) Co-authored-by: Jake Lishman <[email protected]>
- Loading branch information
1 parent
9eb8aa5
commit 31c97a8
Showing
3 changed files
with
40 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
releasenotes/notes/fix-passmanager-reuse-151877e1905d49df.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
fixes: | ||
- | | ||
:meth:`.BasePassManager.run` will no longer leak the previous :class:`.PropertySet` into new | ||
workflows when called more than once. Previously, the same :class:`.PropertySet` as before | ||
would be used to initialize follow-on runs, which could mean that invalid property information | ||
was being given to tasks. The behavior now matches that of Qiskit 0.44. Fixed `#11784 <https://github.com/Qiskit/qiskit/issues/11784>`__. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters