Bug 2325186 - python-colcon-parallel-executor fails to build with Python 3.14: test_parallel: AssertionError: DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
Summary: python-colcon-parallel-executor fails to build with Python 3.14: test_paralle...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-colcon-parallel-executor
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Scott K Logan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2371837 (view as bug list)
Depends On:
Blocks: PYTHON3.14 F43FTBFS, RAWHIDEFTBFS F43FailsToInstall, RAWHIDEFailsToInstall 2371835
TreeView+ depends on / blocked
 
Reported: 2024-11-11 13:56 UTC by Karolina Surma
Modified: 2025-06-11 16:17 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2024-11-11 13:56:25 UTC
python-colcon-parallel-executor fails to build with Python 3.14.0a1.

________________________________ test_parallel _________________________________

    def test_parallel():
        global ran_jobs
        extension = ParallelExecutorExtension()
    
        args = SimpleNamespace(parallel_workers=2)
        jobs = OrderedDict()
        jobs['one'] = Job1()
    
        # success
        rc = extension.execute(args, jobs)
>       assert rc == 0
E       assert 1 == 0

test/test_executor_parallel.py:118: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    colcon.colcon_parallel_executor.executor.parallel:parallel.py:94 Exception in job execution: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-colcon-parallel-executor-0.3.0-build/colcon-parallel-executor-0.3.0/colcon_parallel_executor/executor/parallel.py", line 75, in execute
    loop.run_until_complete(future)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib64/python3.14/asyncio/base_events.py", line 720, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/builddir/build/BUILD/python-colcon-parallel-executor-0.3.0-build/colcon-parallel-executor-0.3.0/colcon_parallel_executor/executor/parallel.py", line 153, in _execute
    assert asyncio.iscoroutinefunction(job.__call__), \
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/asyncio/coroutines.py", line 23, in iscoroutinefunction
    warnings._deprecated("asyncio.iscoroutinefunction",
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                         f"{warnings._DEPRECATED_MSG}; "
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                         "use inspect.iscoroutinefunction() instead",
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                         remove=(3,16))
                         ^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/warnings.py", line 668, in _deprecated
    warn(msg, DeprecationWarning, stacklevel=3)
    ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
=========================== short test summary info ============================
FAILED test/test_executor_parallel.py::test_parallel - assert 1 == 0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/usr/lib64/python3.14/threading.py:1092: KeyboardInterrupt
(to show a full traceback on KeyboardInterrupt use --full-trace)
========================= 1 failed, 1 passed in 0.36s ==========================

https://docs.python.org/3.14/whatsnew/3.14.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.14/fedora-rawhide-x86_64/08189194-python-colcon-parallel-executor/

For all our attempts to build python-colcon-parallel-executor with Python 3.14, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/package/python-colcon-parallel-executor/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.14:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/

Let us know here if you have any questions.

Python 3.14 is planned to be included in Fedora 43.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.14.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Aoife Moloney 2025-02-26 13:15:40 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 2 Karolina Surma 2025-06-11 15:57:41 UTC
*** Bug 2371837 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.