#17018·qiskit

dt appears to be broken

Author: wshanksCreated Sep 20, 2026Updated Sep 20, 2026
Labelsbug

Environment

  • Qiskit version: Main (b2050a59516e0bf94524b77eedd9049284303fbb)
  • Python version: 3.14
  • Operating system: Fedora Linux 44

What is happening?

Yesterday, the qiskit-experiments nightly tests against Qiskit main started failing with

qiskit.transpiler.exceptions.TranspilerError: 'The provided Delay duration is not in terms of dt.'

How can we reproduce the issue?

The following code runs without error on Qiskit 2.5.0:

python
from qiskit import transpile, QuantumCircuit
from qiskit_ibm_runtime.fake_provider import FakeManilaV2


backend = FakeManilaV2()

circ = QuantumCircuit(1, 1)
circ.x(0)
circ.barrier(0)
circ.delay(160, 0, "dt")
circ.barrier(0)
circ.measure(0, 0)

transpile([circ], backend)

With Qiskit main, the traceback is:

Traceback (most recent call last):
  File "/Code/qiskit-experiments/test.py", line 37, in <module>
    transpile([circ], backend)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/compiler/transpiler.py", line 327, in transpile
    out_circuits = pm.run(circuits, callback=callback, num_processes=num_processes)
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/transpiler/passmanager.py", line 419, in run
    return super().run(circuits, output_name, callback, num_processes=num_processes)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/transpiler/passmanager.py", line 456, in wrapper
    return meth(*meth_args, **meth_kwargs)
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/transpiler/passmanager.py", line 196, in run
    return super().run(
           ~~~~~~~~~~~^
        in_programs=circuits,
        ^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
        property_set=property_set,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/passmanager/passmanager.py", line 239, in run
    _run_workflow(
    ~~~~~~~~~~~~~^
        program=program,
        ^^^^^^^^^^^^^^^^
    ...<3 lines>...
        **kwargs,
        ^^^^^^^^^
    )
    ^
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/passmanager/passmanager.py", line 314, in _run_workflow
    passmanager_ir, final_state = flow_controller.execute(
                                  ~~~~~~~~~~~~~~~~~~~~~~~^
        passmanager_ir=passmanager_ir,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<3 lines>...
        callback=kwargs.get("callback", None),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/passmanager/base_tasks.py", line 220, in execute
    passmanager_ir, state = next_task.execute(
                            ~~~~~~~~~~~~~~~~~^
        passmanager_ir=passmanager_ir,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        state=state,
        ^^^^^^^^^^^^
        callback=callback,
        ^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/passmanager/base_tasks.py", line 102, in execute
    ret = self.run(passmanager_ir)
  File "/Code/qiskit-experiments/.tox/qiskit-main/lib/python3.14/site-packages/qiskit/transpiler/passes/scheduling/alignments/check_durations.py", line 59, in run
    self.property_set["reschedule_required"] = run_instruction_duration_check(
                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        dag, self.acquire_align, self.pulse_align
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
qiskit.transpiler.exceptions.TranspilerError: 'The provided Delay duration is not in terms of dt.'

What should happen?

No error

Any suggestions?

I am guessing the problem comes from https://github.com/Qiskit/qiskit/pull/16768 (FYI @raynelfss) but I didn't try testing on the commit prior to this one. The instruction has unit set to "dt" so I am not sure what the issue is.