Source: pygobject
Version: 3.50.0-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
User: debian-s...@lists.debian.org
Usertags: s390x
X-Debbugs-Cc: debian-s...@lists.debian.org, debian-powerpc@lists.debian.org, 
debian-sp...@lists.debian.org, debian-h...@lists.debian.org

The new version of pygobject in experimental failed some tests on s390x
and other big-endian architectures (both 32- and 64-bit seem to be affected
and the correlation with endianness seems strong).

s390x:
https://buildd.debian.org/status/fetch.php?pkg=pygobject&arch=s390x&ver=3.50.0-1&stamp=1726523016&raw=0
> =========================== short test summary info 
> ============================
> FAILED tests/test_async.py::TestAsync::test_async_cancel_completed - 
> RuntimeE...
> FAILED tests/test_async.py::TestAsync::test_async_cancellation - 
> RuntimeError...
> FAILED tests/test_async.py::TestAsync::test_async_completed_add_cb - 
> RuntimeE...
> FAILED tests/test_async.py::TestAsync::test_async_enumerate - RuntimeError: 
> y...
> FAILED tests/test_async.py::TestAsync::test_not_completed - RuntimeError: 
> yie...
> ===== 5 failed, 1493 passed, 23 skipped, 10 xfailed, 66 warnings in 5.66s 
> ======
> ==============================================================================

The detailed test results for the failing tests look like this:

>     async def run():
>         nonlocal self
>
>         res = f.enumerate_children_async("standard::*", 0, 
> GLib.PRIORITY_DEFAULT)
> >       await res
> E       RuntimeError: yield was used instead of yield from in task <Task 
> pending name='Task-1' 
> coro=<TestAsync.test_async_cancel_completed.<locals>.run() running at 
> /<<PKGBUILDDIR>>/tests/test_async.py:109> cb=[_run_until_complete_cb() at 
> /usr/lib/python3.12/asyncio/base_events.py:182]> with 
> gi._gi.Async(finish_func=Gio.File.enumerate_children_finish, done=False)

and the -ports architectures' test failures all look consistent with what
happened on s390x.

The endianness dependency makes me wonder whether there is a problem with
the handling of flags indicating whether to use 'yield' or 'yield from', or
something like that.

Before 3.50.x can go to unstable, either this will need to be addressed,
or pygobject will need to be removed from s390x.

Thanks,
    smcv

Reply via email to