Skip to content

Stack Overflow when non-destructively Measuring GHZ Qubit on Node that Distributes and Keeps Part for Itself #144

@nskjellum

Description

@nskjellum

Describe the bug
When measuring a qubit non-destructively that is part of a GHZ that the thread process has distributed, it causes the thread in question to behave erratically on shutdown from network(stop) and causes it to hang and fail to end the execution.

To Reproduce
Steps to reproduce the behavior:

  1. Create a process that distributes a ghz with distribute=False. Acks may not be required, but program behaved erratically when it did not await acks.
    host.send_ghz(receivers, qubit_id, await_ack=True, distribute=False)
  2. Acquire host's ghz qubit using its q_id
    q_ghz = host.get_qubit_by_id(q_id)
  3. Measure it, in any capacity. Storing it is not required. Default behavior is non_destructive=False
    q_ghz.measure()
  4. Allow the process to end, then let the program continue to network(stop). Based on my experience, the node in question will stop, but other nodes will always fail to.
    Expected behavior
    Network and all nodes should stop, as they do when measuring other qubits non-destructively.

Screenshots
image

System:

  • OS: Ubuntu WSL - Python Venv
  • Python Version: 3.9

Additional context
Program uses a network of 6 nodes, with two nodes called R1 and R2 both running a process that measures the GHZ (for testing purposes) non-destructively.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions