[Twisted-Python] Does anyone know why trunk is failing CI on PyPy 7.3.4?

Adi Roiban adi at roiban.ro
Wed Apr 28 04:07:51 MDT 2021


Hi

PR at https://github.com/twisted/twisted/pull/1592

I hope we can get a quick review and make the trunk green again :)

Cheeers

On Wed, 28 Apr 2021 at 10:30, Adi Roiban <adi at roiban.ro> wrote:

> Hi,
>
> A quick diff to fix it... and a ticket
> https://twistedmatrix.com/trac/ticket/10187
>
> I will create a PR and we can refine the fix during the review.
>
>
> diff --git a/src/twisted/words/protocols/irc.py
> b/src/twisted/words/protocols/irc.py
> index 75300019b..a97abce2e 100644
> --- a/src/twisted/words/protocols/irc.py
> +++ b/src/twisted/words/protocols/irc.py
> @@ -3678,10 +3678,10 @@ def ctcpExtract(message):
>              normal_messages.append(messages.pop(0))
>          odd = not odd
>
> -    extended_messages[:] = filter(None, extended_messages)
> -    normal_messages[:] = filter(None, normal_messages)
> +    extended_messages[:] = list(filter(None, extended_messages))
> +    normal_messages[:] = list(filter(None, normal_messages))
>
> -    extended_messages[:] = map(ctcpDequote, extended_messages)
> +    extended_messages[:] = list(map(ctcpDequote, extended_messages))
>
>
> On Wed, 28 Apr 2021 at 10:01, Adi Roiban <adi at roiban.ro> wrote:
>
>> Hi Wim,
>>
>> Thanks for the report
>>
>> On Tue, 27 Apr 2021 at 08:14, Wim Lewis <wiml at hhhh.org> wrote:
>>
>>> TLDR: Twisted appears broken on PyPy 7.3.4 (aka "3.7.10")?
>>>
>>> I don't have time right now to set up a PyPy-capable environment and try
>>> to reproduce this, but perhaps someone does?
>>>
>>> Long version:
>>>
>>> Trunk has been broken since the last merge a week or so ago, but I
>>> don't think the breakage is due to that merge.  As an experiment I made
>>> a PR based off the last successful version of trunk, with a whitespace
>>> change, and it now fails CI as well. So I think the failure must be due
>>> to some change that isn't in Twisted or controlled-for by tox.
>>>
>>> The failure in all cases is in the pypy-3.7-alldeps-nocov-posix task.
>>> Unlike our usual CI problems it doesn't seem to be a random failure: it
>>> fails all the time in the same place. But the place doesn't make sense
>>> to me. It's in the IRC CTCP tests, and they fail in the same ways each
>>> time (an expected response is not received).
>>>
>>> The pair of CI runs closest to the change are these:
>>>
>>> run 5793: https://github.com/twisted/twisted/runs/2328450554
>>> run 5809: https://github.com/twisted/twisted/runs/2360415474
>>>
>>> There are a lot of differences, but sys.version went from 3.7.9 to
>>> 3.7.10 between those runs, so that seems like the most likely culprit.
>>>
>>> Last working:
>>> >  sys.version              : 3.7.9 (7e6e2bb30ac5, Nov 18 2020, 10:55:52)
>>> >  [PyPy 7.3.3-beta0 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
>>> >  sys.prefix               : /opt/hostedtoolcache/PyPy/3.7.9/x64
>>> >  sys.exec_prefix          : /opt/hostedtoolcache/PyPy/3.7.9/x64
>>> >  sys.executable           :
>>> /opt/hostedtoolcache/PyPy/3.7.9/x64/bin/python
>>>
>>> First broken:
>>> >  sys.version              : 3.7.10 (51efa818fd9b, Apr 04 2021,
>>> 11:22:34)
>>> >  [PyPy 7.3.4 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
>>> >  sys.prefix               : /opt/hostedtoolcache/PyPy/3.7.10/x64
>>> >  sys.exec_prefix          : /opt/hostedtoolcache/PyPy/3.7.10/x64
>>> >  sys.executable           :
>>> /opt/hostedtoolcache/PyPy/3.7.10/x64/bin/python
>>>
>>> PyPy's release notes for 7.3.4 don't list anything that jumps out at me:
>>>
>>> https://doc.pypy.org/en/latest/whatsnew-pypy3-7.3.4.html
>>>
>>> My guess would be some latent timing bug in Twisted that was uncovered
>>> by pypy execution time changes (I don't imagine that the CTCP code gets
>>> exercised very heavily these days) or perhaps PyPy got a bug.
>>>
>>>
>>> Wim.
>>>
>>>
>> I have setup a pyp3.7.4 and I can reproduce it.
>>
>> I see 3 options:
>>
>> * Option A: Skip those tests on pypy  and open a separate ticket to fix
>> the test
>> * Option B: Pin pypy 3.7.9 for GHA and open a separate ticket to fix the
>> test and unpin it
>> * Option C: Just fix the tests :)
>>
>> I am looking at option C for one hour... if I can't find a fix will look
>> into option A.
>>
>> Cheers
>>
>> --
>> Adi Roiban
>>
>
>
> --
> Adi Roiban
>


-- 
Adi Roiban
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20210428/ccc89c28/attachment.htm>


More information about the Twisted-Python mailing list