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:
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.
Source: Qiskit/qiskit