Bug#1024496: qiskit-terra: FTBFS with Python 3.11 as a supported version

Graham Inggs ginggs at debian.org
Sun Nov 20 17:32:45 GMT 2022


Source: qiskit-terra
Version: 0.12.0-4
Severity: serious
Tags: ftbfs
User: debian-python at lists.debian.org
Usertags: python3.11

Hi Maintainer

qiskit-terra FTBFS during the recent rebuild adding Python 3.11 as a
supported version [1].  I've copied what I hope is the relevant part
of the log below.

Regards
Graham


[1] https://buildd.debian.org/status/package.php?p=qiskit-terra


=================================== FAILURES ===================================
_______________ TestPassManagerRun.test_default_pass_manager_two _______________
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/lib/python3.11/concurrent/futures/process.py", line 256,
in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/process.py", line 205,
in _process_chunk
    return [fn(*args) for args in chunk]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/concurrent/futures/process.py", line 205,
in <listcomp>
    return [fn(*args) for args in chunk]
            ^^^^^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/qiskit/tools/parallel.py",
line 69, in _task_wrapper
    return task(value, *task_args, **task_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/qiskit/transpiler/passmanager.py",
line 206, in _in_parallel
    running_passmanager = dill.loads(pm_dill)._create_running_passmanager()
                          ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dill/_dill.py", line 327, in loads
    return load(file, ignore, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dill/_dill.py", line 313, in load
    return Unpickler(file, ignore=ignore, **kwds).load()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dill/_dill.py", line 525, in load
    obj = StockUnpickler.load(self)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/dill/_dill.py", line 659, in _create_code
    if len(args) == 16: return CodeType(*args)
                               ^^^^^^^^^^^^^^^
TypeError: code() argument 13 must be str, not int
"""

The above exception was the direct cause of the following exception:

self = <test.python.transpiler.test_passmanager_run.TestPassManagerRun
testMethod=test_default_pass_manager_two>

    def test_default_pass_manager_two(self):
        """Test default_pass_manager.run(circuitS).

        circuit1 and circuit2:
        qr0:-[H]--.------------  -> 1
                  |
        qr1:-----(+)--.--------  -> 2
                      |
        qr2:---------(+)--.----  -> 3
                          |
        qr3:-------------(+)---  -> 5

        device:
        0  -  1  -  2  -  3  -  4  -  5  -  6

              |     |     |     |     |     |

              13 -  12  - 11 -  10 -  9  -  8  -   7
        """
        qr = QuantumRegister(4, 'qr')
        circuit1 = QuantumCircuit(qr)
        circuit1.h(qr[0])
        circuit1.cx(qr[0], qr[1])
        circuit1.cx(qr[1], qr[2])
        circuit1.cx(qr[2], qr[3])

        circuit2 = QuantumCircuit(qr)
        circuit2.cx(qr[1], qr[2])
        circuit2.cx(qr[0], qr[1])
        circuit2.cx(qr[2], qr[3])

        coupling_map = FakeMelbourne().configuration().coupling_map
        basis_gates = FakeMelbourne().configuration().basis_gates
        initial_layout = [None, qr[0], qr[1], qr[2], None, qr[3]]

        pass_manager = level_1_pass_manager(TranspileConfig(
            basis_gates=basis_gates,
            coupling_map=CouplingMap(coupling_map),
            initial_layout=Layout.from_qubit_list(initial_layout),
            seed_transpiler=42,
            optimization_level=1))
>       new_circuits = pass_manager.run([circuit1, circuit2])

test/python/transpiler/test_passmanager_run.py:112:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
qiskit/transpiler/passmanager.py:195: in run
    return self._run_several_circuits(circuits)
qiskit/transpiler/passmanager.py:219: in _run_several_circuits
    return parallel_map(PassManager._in_parallel, circuits,
qiskit/tools/parallel.py:134: in parallel_map
    raise error
qiskit/tools/parallel.py:124: in parallel_map
    results = list(future)
/usr/lib/python3.11/concurrent/futures/process.py:597: in
_chain_from_iterable_of_lists
    for element in iterable:
/usr/lib/python3.11/concurrent/futures/_base.py:619: in result_iterator
    yield _result_or_cancel(fs.pop())
/usr/lib/python3.11/concurrent/futures/_base.py:317: in _result_or_cancel
    return fut.result(timeout)
/usr/lib/python3.11/concurrent/futures/_base.py:449: in result
    return self.__get_result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = None

    def __get_result(self):
        if self._exception:
            try:
>               raise self._exception
E               TypeError: code() argument 13 must be str, not int

/usr/lib/python3.11/concurrent/futures/_base.py:401: TypeError



More information about the debian-science-maintainers mailing list