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

Adi Roiban adi at roiban.ro
Sat May 1 02:58:45 MDT 2021


On Thu, 29 Apr 2021 at 07:23, Glyph <glyph at twistedmatrix.com> wrote:

> It's merged.
>
>
Thanks for the merge.

I will try to help Twisted by keeping the trunk green.

If there is any other issue with the trunk branch getting red out of the
blue, ping me and I will try to help.

-------

We now have a fix for Twisted, but I think that this is a bug in PYPY 7.3.4

FYI I have reported this bug upstream.

https://foss.heptapod.net/pypy/pypy/-/issues/3451

Cheers


> On Wed, Apr 28, 2021, at 3:07 AM, Adi Roiban wrote:
>
> 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
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
>
>

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


More information about the Twisted-Python mailing list