cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | the secret reason for us trying to get PyPy users: to test the JIT well enough that we're somewhat confident about it
danieljabailey has quit [Quit: ZNC 1.6.5+deb2build2 - http://znc.in]
danieljabailey has joined #pypy
jcea has joined #pypy
amaury has quit [Quit: Konversation terminated!]
tos9_ has joined #pypy
tos9 has quit [Ping timeout: 240 seconds]
tos9_ is now known as tos9
Graypup__ has quit [Excess Flood]
Graypup_ has joined #pypy
Graypup_ has quit [Ping timeout: 240 seconds]
Graypup_ has joined #pypy
_whitelogger has joined #pypy
tbodt has joined #pypy
lritter has quit [Quit: Leaving]
dddddd has quit [Read error: Connection reset by peer]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jcea has quit [Ping timeout: 240 seconds]
jcea has joined #pypy
jcea has quit [Quit: jcea]
<bbot2_> Failure: http://buildbot.pypy.org/builders/rpython-win-x86-32/builds/49 [mattip: force build, unicode-utf8]
forgottenone has joined #pypy
forgottenone has quit [Read error: Connection reset by peer]
forgottenone has joined #pypy
_whitelogger has joined #pypy
<bbot2_> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/56 [mattip: changed but not triggered]
<bbot2_> Started: http://buildbot.pypy.org/builders/rpython-win-x86-32/builds/50 [mattip: changed but nit triggered]
tayfun26 has joined #pypy
jamesaxl has joined #pypy
_aegis_ has quit [Ping timeout: 260 seconds]
_aegis_ has joined #pypy
AndrewBC has quit [Read error: Connection reset by peer]
AndrewBC has joined #pypy
AndrewBC has quit [Max SendQ exceeded]
AndrewBC has joined #pypy
AndrewBC has quit [Max SendQ exceeded]
AndrewBC has joined #pypy
jdb_ has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/56 [mattip: changed but not triggered]
Remi_M has joined #pypy
illume has joined #pypy
amaury has joined #pypy
mcyprian has joined #pypy
Remi_M1 has joined #pypy
Remi_M has quit [Read error: Connection reset by peer]
jdb_ has quit [Ping timeout: 246 seconds]
mattip has joined #pypy
jdb_ has joined #pypy
jamesaxl has quit [Ping timeout: 240 seconds]
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tuwxbhi has joined #pypy
tuwxbhi has quit [Client Quit]
asmeurer has quit [Quit: asmeurer]
amaury has quit [Quit: Konversation terminated!]
illume has joined #pypy
kirma has joined #pypy
bgola has quit [Remote host closed the connection]
<kenaan> ariava rpython-sprint 5f1376bbe863 /rpython/: Spellchecking and cleanup. - Fix spellchecking nits in few comments and in translation.rst - Fix TypeError...
<kenaan> ariava rpython-sprint 76a4a4c1f521 /rpython/doc/rpython.rst: Document enforceargs() decorator on RPython docs.
<bbot2_> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/57 [ariava: force build, rpython-sprint]
ronan has joined #pypy
dddddd has joined #pypy
ariava has joined #pypy
pf_moore has joined #pypy
antocuni has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
marr has joined #pypy
illume has joined #pypy
<bbot2_> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6622 [xoraxax: force build on branch, reverse-debugger]
<lesshaste> mjacob, "cpyext performance improvements" is that basically for numpy?
<mjacob> lesshaste: not just for numpy, but yes ;)
<lesshaste> cool! I am really hopeful that simply accessing an array element can be made fast
<mjacob> yes, that would be great
<lesshaste> if you need any test code just let me know :)
<lesshaste> I am good at producing code that runs slowly :)
inhahe__ has joined #pypy
inhahe_ has quit [Ping timeout: 260 seconds]
<Remi_M1> cfbolz: hey, I want to look at the guard-compatible branch this week. Can you explain what its status is currently?
Remi_M1 has quit [Quit: See you!]
Remi_M has joined #pypy
Frankablu has quit [Ping timeout: 256 seconds]
Frankablu has joined #pypy
illume has quit [Ping timeout: 268 seconds]
illume_ has joined #pypy
_whitelogger has quit [K-Lined]
_whitelogger has joined #pypy
amaury has joined #pypy
antocuni has quit [Ping timeout: 256 seconds]
jamesaxl has joined #pypy
amaury has quit [Quit: Konversation terminated!]
antocuni has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6622 [xoraxax: force build on branch, reverse-debugger]
dddddd has quit [Ping timeout: 256 seconds]
dddddd has joined #pypy
marky1991 has joined #pypy
abvi[m] has quit [Ping timeout: 255 seconds]
jdb_ has quit [Ping timeout: 256 seconds]
abvi[m] has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/57 [ariava: force build, rpython-sprint]
<bbot2_> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/58 [xoraxax: force build on branch, reverse-debugger]
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/rpython-win-x86-32/builds/50 [mattip: changed but nit triggered]
<cfbolz> Remi_M1: it works, basically, and some small programs are faster
<cfbolz> Only the x86-64 backend is implemented so far
<cfbolz> For larger programs it doesn't help much
<mjacob> ignore this: http://buildbot.pypy.org/
<illume_> Is there a portable pypy, or tools like py2exe/pyinst to make distributable programs?
irclogs_io_bot has quit [Remote host closed the connection]
jdb_ has joined #pypy
<cfbolz> Remi_M1: I have the hunch that there is a bad interaction between guard-compatible and unrolling, but couldn't figure it out so far
Guest28717 has quit [Read error: Connection reset by peer]
orion has joined #pypy
<Remi_M> cfbolz: so do you have a suggestion of what I should look at? is there a small benchmark or just the whole pypy?
orion is now known as Guest5993
<kenaan> mattip py3.5 226287429316 /lib-python/3/distutils/msvc9compiler.py: try to debug buildslave failure to find cl.exe
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3780 [mattip: force build, py3.5]
<cfbolz> Remi_M: I never looked at the results on all benchmarks, that would be interesting to do
<cfbolz> Coding wise, one thing that I won't be able to do is support the other backends. So if you feel like porting eg to x86-32 that would be amazing
<Remi_M> ok, so basically what is there should work and I can try to figure out where it helps and where it fails
<cfbolz> Remi_M: yep
<cfbolz> Basically the problem is that the number of Traces should always be less than in a normal pypy, but that doesn't seem to be true for real programs
inhahe has quit []
inhahe has joined #pypy
inhahe_ has joined #pypy
inhahe_ has quit [Client Quit]
inhahe has quit [Ping timeout: 264 seconds]
inhahe has joined #pypy
jdb_ has quit [Ping timeout: 256 seconds]
illume_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<kenaan> mattip unicode-utf8 1ea028ef8faa /: remove remaining space.newunicode, continue fix in f8aaef6e3548, fix translation
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5344 [mattip: force build, unicode-utf8]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3781 [mattip: force build, unicode-utf8]
AndrewBC has quit [Ping timeout: 256 seconds]
lritter has joined #pypy
mcyprian has quit [Ping timeout: 248 seconds]
jcea has joined #pypy
<arigato> cfbolz: a very precise question:
<arigato> in a trace containing GUARD_COMPATIBLE(x); QUASIIMMUT_FIELD(x); y = GETFIELD_GC(x, f)
<arigato> why is 'y' not considered (after some optimizations) as a constant?
<cfbolz> arigato: because it's not like a promote
<cfbolz> The same trace can be run with a different x
<arigato> ok but then, how does it work in compatible.py:153?
<arigato> i.e. if the operations are followed by z = CALL_PURE(x, y, ..)
<cfbolz> That's special cased and turned into a different compatibility condition
<arigato> ah, QuasiimmutGetfieldAndPureCallCondition
<arigato> ahhh I think we're getting it
<cfbolz> arigato: it's really a bit of a very specific case
<arigato> you don't want to say "it's not compatible!" after the value of a random quasi-immut field changed
<cfbolz> exactly
<cfbolz> pypy uses this precisely for class versions
<cfbolz> and the VersionTag instances are completely meaningless
marky1991_2 has joined #pypy
<arigato> ok I think we're getting it now
<cfbolz> great
<cfbolz> arigato: sorry I couldn't be at the sprint :-(
marky1991_3 has joined #pypy
<arigato> cfbolz: yup, no problem
marky1991 has quit [Ping timeout: 264 seconds]
<arigato> it's actually a large sprint with many newcomers
illume has joined #pypy
<cfbolz> cool :-)
<bbot2_> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/58 [xoraxax: force build on branch, reverse-debugger]
marky1991_2 has quit [Ping timeout: 252 seconds]
marky1991_3 is now known as marky1991
marky1991 has quit [Changing host]
marky1991 has joined #pypy
dash has joined #pypy
<dash> good morning. I wrote some rpython and I think I might have gone too far
<dash> here's my very interesting traceback from translation: https://github.com/washort/typhon/commit/af7a1f4f
<dash> "[translation:ERROR] TypeError: can only cast pointers to other pointers"
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
<dash> i'm trying to use rerased to store some functions in a list of pairs. My suspicion at this point is that I'm getting this error because I'm trying to store an erased reference to a function that doesn't get code emitted for it, or something like that
<arigato> I'm not sure you can erase function pointers, because they are not GC-managed
<arigato> yes, "rerased" assumes it's GC-managed pointers
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
<cfbolz> That can be solved with an indirection, right?
<cfbolz> dash: represent the function pointers as singletons with a method
<dash> heh OK
<cfbolz> RPython function pointers are quite limited and fiddly
<dash> I've been trying to implement composable structures for async IO, currently trying a futures-like approach. rerased seemed like my best shot at it so far
<cfbolz> dash: why is rerased needed, can't you just give things a common rpython base class?
adamholmberg has joined #pypy
<dash> cfbolz: hmm, I tried some of that but it was trying to unify types more than I wanted, got upset when methods didn't have the same return type
<cfbolz> OK, but rerased is a pretty big hammer to apply to that problem
<dash> knowing that function pointers should be avoided helps, I'll rework it and see how far I get.
<cfbolz> Ok
<dash> avoiding rerased would be preferable, for sure :)
<cfbolz> dash: I'd be happy to take a look if you run into problems
han-solo has joined #pypy
<han-solo> how much memory does running targetpypystandalone.py would take?
<dash> cfbolz: Thanks!
marky1991 has quit [Ping timeout: 240 seconds]
<cfbolz> arigato: thanks for asking questions, while answering I finally figured out how to re-enable the last disabled featured in the map implementation (tracking immutable fields)
ariava has quit [Ping timeout: 260 seconds]
<han-solo> i'd like to know more about how to use pypy, and the readthedocs isn't that good, can you guys share any link?
<cfbolz> han-solo: what exactly are you planning to do with it?
<han-solo> nothing. Just curious
<han-solo> a new python usere here
lritter has quit [Remote host closed the connection]
<dash> han-solo: pypy is a replacement for cpython (the python implementation from python.org). it's faster at many things
<dash> han-solo: there are a few modules that aren't compatible with pypy, but almost everything should just work
<dash> han-solo: what OS are you using? installing pypy should be simple
jdb_ has joined #pypy
<mattip> han-solo: you might want to start here http://pypy.org . You should not be using targetpypystandalone.py unless you have a particular need to rebuild the interpreter
<mattip> rebuilding requires about an hour and over 5GB memory on a 64 bit OS
<dash> cfbolz: OK this is the sort of thing I was running into: https://bpaste.net/show/e15eea0472e9
<cfbolz> dash: so the problem is the second tuple argument to "do"?
<dash> cfbolz: even though they all have distinct callsites, because i'm using a single list to store them
<cfbolz> right, so you need some kind of type assert before the "do" calls
<cfbolz> and maybe rename the methods to do_int or do_str
<dash> cfbolz: mmh
<cfbolz> dash: pick semantically sensible names, of course ;-)
<cfbolz> there apparently is some difference between the different kinds of do
<dash> I could. the info is there
<dash> it complicates my plans because I want to do code generation to get all the callback stuff i've got split out into do() methods in files.py
<dash> but only a little, I guess.
<dash> so part of the problem is that these callback objects all have to be stored in a global list so that they're accessible from callbacks invoked by libuv
<cfbolz> ok, but the callsites really fall into two classes, those that pass int and those that pass str?
<dash> so far
<cfbolz> I still don't get why it's nice to call these different methods all "do"
<dash> this was a small prototype that I hoped to extend to all of the IO events we need in the runtime
<dash> so I think this will have to grow more hair if I'm going to distinguish by type like that
<cfbolz> (or why they get tuples as arguments, and not just arguments)
<dash> cfbolz: the tuple was intended to be like an Either type: (status, okValue, errValue)
<dash> possibly not something that makes sense at this stage of the design
<dash> My intent was to develop a generic way to pipeline events/callbacks together; I started with something like JS promises but that had much worse problems with type unification. :)
<cfbolz> dash: yes, probably better to think of java more ;-)
<simpson> If only. Java's NIO would be nice to have here.
<kenaan> ariava rpython-sprint 0c4b7c3e09fa /rpython/doc/rpython.rst: Fix formatting of code blocks from previous commit.
<dash> in Java you can cast to Object and hope for the best :)
<dash> anyway, I think this is salvageable
<dash> the event sources will need annotation with which method they will invoke on the callback objects they receive, so that the proper method names can be generated
<cfbolz> dash: well, no
<cfbolz> if you cast to object, the equivalent thing would be to make okValue and errValue be wrapped objets
<cfbolz> and then all these problems go away
<dash> or, hm, i could try rerased again now that these are all gc managed.
<cfbolz> that's definitely a valid approach
<dash> yeah, our current IO stuff definitely uses wrapped objects for a lot
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3781 [mattip: force build, unicode-utf8]
<cfbolz> dash: given that you're doing IO, wrapping is probably not a problem anyway
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5344 [mattip: force build, unicode-utf8]
<dash> Maybe not, but I'm feeling stubborn at this point ;) After I see how much pain and sorrow my current approach yields I'll see about switching everything back to wrapped objects
<cfbolz> Suit yourself ;-)
<dash> if I didn't enjoy this at some level, would I really be writing a new language implementation
<dash> hm, maybe there's a third way.
<kenaan> Raemi stmgc[c8-reshare-pages] ed6411636c6f /c8/stm/core.c: do not check for safepoint in the become_inev(DONT_WAIT) case there is a deadlock if stm_next_to_f...
<kenaan> mjacob py3.6 c386ba74c681 /pypy/module/_socket/: Change socket.close() to raise OSError if closing the underlying socket fails and remove app-level test checking the...
dddddd has quit [Ping timeout: 240 seconds]
dddddd has joined #pypy
lritter has joined #pypy
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
tayfun26 has quit [Quit: tayfun26]
<kenaan> mjacob default f65cb735be28 /rpython/rlib/rstruct/: Add 'e' (half-float) struct format to native format table. Copy CPython's behavior of using short's size and alig...
<kenaan> mjacob py3.5 fcbdf6d13402 /: hg merge default
<kenaan> mjacob py3.5 02491c2d50b2 /: hg merge py3.5
<kenaan> mjacob py3.5 e4575f135d6f /pypy/module/struct/test/test_struct.py: Extend struct half-float test with native formats.
<kenaan> mjacob py3.6 a756aa082d6b /: hg merge py3.5
<kenaan> mjacob py3.6 760c10a5b6d8 /pypy/module/struct/test/test_struct.py: Extend struct half-float test with native formats.
<kenaan> mjacob py3.5 2df857639086 /lib-python/3/distutils/msvc9compiler.py: Delete recently-introduced EOL whitespace.
<illume> These are the 8 missing ctypes.pythonapi functions we use to test arrays and buffers in pygame. https://github.com/pygame/pygame/issues/425 Mostly to inspect array structures for things like (shape,stride,itemsize, ...) I've added a bunch of skip tests when running on pypy. However, I'm interested if anyone has an idea of pypy-happy alternatives?
ronan has quit [Ping timeout: 246 seconds]
han-solo has quit [Quit: Lost terminal]
marky1991 has quit [Ping timeout: 256 seconds]
asmeurer has joined #pypy
asmeurer has quit [Quit: asmeurer]
marky1991 has joined #pypy
ronan has joined #pypy
jdb_ has quit [Ping timeout: 256 seconds]
<mattip> illume: memoryview(obj) might be a way to get strides, ndim, itemsize, ...
S5L4LNJikan has joined #pypy
S5L4LNJikan has quit [Client Quit]
<kenaan> Floris Bruynooghe py3tests eea5b6bc977d /pypy/: First step, collecting and running apptest_*.py works
<kenaan> Floris Bruynooghe py3tests 6fdcb46e0b2f /: Make untranslated app tests work on a very basic level This can collect a module and run test functio...
amaury has joined #pypy
<kenaan> Raemi stmgc[c8-reshare-pages] 322ad09f62f0 /c8/stm/: fix warnings that let tests fail
<Remi_M> arigato: dinner?
marky1991 has quit [Ping timeout: 256 seconds]
<kenaan> mattip unicode-utf8 6a7b9467958c /pypy/tool/pytest/objspace.py: fix from merge
mattip has quit [Quit: Leaving]
amaury has quit [Quit: Konversation terminated!]
marky1991 has joined #pypy
ssbr has joined #pypy
<bbot2_> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/59 [xoraxax: force build of new branch, reverse-debugger-updated]
tbodt has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3780 [mattip: force build, py3.5]
jcea has quit [Ping timeout: 255 seconds]
mattip has joined #pypy
drolando has joined #pypy
jcea has joined #pypy
dddddd has quit [Ping timeout: 256 seconds]
dddddd has joined #pypy
jdb_ has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
antocuni has quit [Ping timeout: 252 seconds]
<nanonyme> arigato, thanks, the stringification of the enum works just awesome!
jdb_ has quit [Ping timeout: 256 seconds]
<nanonyme> I've been really confused hitting some of the items in enumeration since they don't really make much sense but at least test results are now more readable
asmeurer has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
forgottenone has quit [Quit: Konversation terminated!]
drolando has joined #pypy
asmeurer has quit [Quit: asmeurer]
Guest5993 has quit [Remote host closed the connection]
<tos9> Any chance this error means anything I should be able to fix: https://bpaste.net/show/346bff5b98bd
<tos9> Maybe I have a not-right-version of libc++ or something
amaury has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
mcyprian has joined #pypy
marky1991 has quit [Ping timeout: 268 seconds]
marky1991 has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/59 [xoraxax: force build of new branch, reverse-debugger-updated]
mcyprian has left #pypy [#pypy]
energizer has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
antocuni has joined #pypy
jdb_ has joined #pypy
Manis has joined #pypy
illume has joined #pypy
<Manis> Hi. I could compile pypy3 on my Gentoo armhf machine successfully, but when I try to "import lib2to3.patcomp" I get a bus error. Does anyone have an idea what could be the issue here?
<Manis> pypy3 5.10.1, btw.
tbodt has quit [Ping timeout: 240 seconds]
antocuni has quit [Ping timeout: 246 seconds]
tbodt has joined #pypy
<arigato> tos9: apparently you can't #include "db.h" in a file that also includes these standard c++ headers
<arigato> Manis: sorry, can't reproduce here. you need gdb to make sense of it
<Manis> arigato: Do you have a hint where to look? I checked the backtrace but it appears the stack is corrupt.
<arigato> sorry, no clue
<arigato> does it work with "pypy3-c --jit=off"?
<arigato> if it crashes in the same way, then the problem is likely outside pypy, e.g. some bogus C compiler with that combination of flags
<Manis> arigato: Is pypy3-c != pypy?
<Manis> With strace I could figure out that the real error is "BUS_ADRALN - Invalid address alignment error". So I fear that that's been it.
<Manis> Oh. '--jit off' works, with the equals sign it doesn't. But without jit it does work :-/
<Rotonen> you have 3 things off the beaten path in your scenario: pypy3, armhf (details vary), a rolling release distro (and that being gentoo, variability of details is even higher) - kudos for getting to a good start on debugging, though
jamesaxl has quit [Quit: WeeChat 2.0.1]
<Manis> Could it have something to do with libffi being compiled with -O3? Dotnet apparently had a similar issue: https://github.com/dotnet/coreclr/issues/5844
<Manis> But then it looks strange to me that it works without JIT
jdb_ has quit [Ping timeout: 256 seconds]
<cfbolz> Manis: run something simpler first, like pypy -m test.pystone
Remi_M has quit [Ping timeout: 256 seconds]
<kenaan> mjacob default c5cc7018cdd5 /pypy/objspace/std/: Test and fix interpreter crash after int overflow involving __length_hint__.
<arigato> cfbolz: I don't think "pypy -m import lib2to3.xyz" is particularly complicated
<cfbolz> ah, the import itself fails :-(
<arigato> but yes, if you get a BUS_ADRALN on ARM with pypy3 I might not be completely surprized
<cfbolz> arigato: given that it's python3, the importlib is written in python, so it's maybe not that simple?
<arigato> who knows
<cfbolz> right
<cfbolz> anyway, zzzzzzz
<kenaan> mjacob py3.5 d12c359516b2 /pypy/objspace/std/: hg merge default
<kenaan> mjacob py3.6 845ecbcca6b6 /: hg merge py3.5
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
<Manis> I'll give pypy(2) a try and then try a different version of pypy3. And then see how that goes
Manis_ has joined #pypy
Manis has quit [Ping timeout: 240 seconds]
orion has joined #pypy
orion is now known as Guest42369
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
Guest42369 has quit [Remote host closed the connection]
adamholmberg has quit [Ping timeout: 260 seconds]
energizer has quit [Remote host closed the connection]
energizer has joined #pypy
asmeurer has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
energizer has quit [Ping timeout: 264 seconds]
energizer has joined #pypy