Skip to content
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

SIGABRT Error with GlobalisePhasedX Pass on Classically Controlled Circuits #1306

Closed
p51lee opened this issue Mar 22, 2024 · 0 comments · Fixed by #1338
Closed

SIGABRT Error with GlobalisePhasedX Pass on Classically Controlled Circuits #1306

p51lee opened this issue Mar 22, 2024 · 0 comments · Fixed by #1338
Labels
bug Something isn't working

Comments

@p51lee
Copy link

p51lee commented Mar 22, 2024

Overview

An issue analogous to the one reported in #1305 occurs when applying the GlobalisePhasedX pass to circuits containing classically conditioned gates.

Example and reproduction steps

Consider the following Python code:

import pytket
from pytket.passes import GlobalisePhasedX

circuit_tket = pytket.Circuit(2, 1)
circuit_tket.CX(0, 1, condition=pytket.Bit(0))
circuit_tket.Y(0)
circuit_tket.SX(1)
print(GlobalisePhasedX().apply(circuit_tket))
print(circuit_tket.get_commands())

Observed

Executing the above code results in a critical assertion failure and the process terminates unexpectedly with a SIGABRT signal:

True
[tket] [critical] Assertion '!"slice is empty"' (../../src/Circuit/macro_circ_info.cpp : operator++ : 935) failed.  Aborting.

Process finished with exit code 134 (interrupted by signal 6:SIGABRT)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants