Skip to content

Running a custom gate with name collision with a default gate causes segmentation fault #1612

@rht

Description

@rht

Environment

  • Qiskit Terra version: 0.21.2
  • Python version: 3.10.6
  • Operating system: Linux

What is happening?

The following minimal code causes segfault

from qiskit import QuantumCircuit, QuantumRegister
from qiskit.circuit.gate import Gate
from qiskit.circuit.library.standard_gates import HGate
from qiskit import transpile
from qiskit_aer import Aer


class Custom(Gate):
    def __init__(self, label=None):
        super().__init__("p", 1, [], label=label)

    def _define(self):
        q = QuantumRegister(1, "q")
        qc = QuantumCircuit(q, name=self.name)
        qc._append(HGate(), [q[0]], [])
        self.definition = qc


qc = QuantumCircuit(1)
qc.append(Custom(), [0])
qc.measure_all()

backend_sim = Aer.get_backend("qasm_simulator")
transpiled = transpile(qc, backend_sim)
result_sim = backend_sim.run(transpiled, shots=10).result()

How can we reproduce the issue?

See above.

What should happen?

There should be no segfault.

Any suggestions?

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions