cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
CrazyPython has joined #pypy
jacob22 has quit [Ping timeout: 276 seconds]
zmt01 has quit [Quit: Leaving]
zmt00 has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
jcea has quit [Quit: jcea]
whitewolf has quit [Quit: ZNC - http://znc.in]
whitewolf has joined #pypy
whitewolf has quit [Remote host closed the connection]
jvesely has joined #pypy
whitewolf has joined #pypy
inhahe has quit []
whitewolf has quit [Remote host closed the connection]
inhahe has joined #pypy
whitewolf has joined #pypy
lritter has joined #pypy
forgottenone has joined #pypy
dddddd has quit [Remote host closed the connection]
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<kenaan> mattip fix-descrmismatch-crash 4b90fb018acd /pypy/doc/: close branch to be merged
<kenaan> mattip default f089d461d2ee /: merge branch to fix descrmismatch exception
<kenaan> mattip py3.6 108d3c00537f /: merge default into branch
<arigato> mattip: thanks for merging
<kenaan> mattip py3.6 58de798e3809 /pypy/objspace/std/test/test_longobject.py: remove python2 test
oberstet has joined #pypy
<arigato> tumbleweed: I *think* the aarch64 problem is really miscompilation by gcc
<arigato> it doesn't occurs in -Og but it does in -O3, and I'm looking at the assembler produced now
<arigato> the code is "if (offset >= 0) { ...stuff; goto elsewhere; } raise(AssertionError);"
<arigato> offset should always be >= 0, and adding a fprintf(offset) the line before prints 0
<arigato> but gcc assumes it is always false and the whole if() is not emitted
<cfbolz> arigato: or it's undefined behavior on our part?
<arigato> all integer variables around are of type "long" (signed)
<arigato> there is no integer overflow I can see
<arigato> cfbolz: yes, still looking, but it seems strange
<cfbolz> arigato: we could try to use one of the undefined behavior sanitizers
* mattip mumble about gotbolt.org
<mattip> godbolt.org
<arigato> I really don't see what undefined behavior we could trigger here
<arigato> a typical first iteration of the loop will run with offset == 0
<arigato> how can gcc conclude that "offset >= 0" can always be assumed to be false?
<arigato> maybe the stuff in "if(){stuff}" does something invalid, and gcc assumes it's not reachable
<mattip> is the code contained enough to post to a pastebin?
<arigato> maybe if we include some structure definitions and paste the result of gcc -E
<mattip> or maybe compare it to the code in a py3.6 x86 translation on bencher4
<arigato> no, that's pointless
<arigato> first, it is in the aarch64 jit backend (as it turns out)
<arigato> then it's an obvious crash, the function just doesn't work at all
<arigato> OK, if I replace "stuff" with "abort()" then the test is no longer skipped, and the abort() is called
<cfbolz> Hrmpf
<arigato> ah, the code in "stuff" also has influence on what "offset" is going to be next iteration, let me try to skip less of "stuff"
<cfbolz> arigato: right, if the function has undefined behavior then gcc can conclude that the if condition must always be false
<cfbolz> The stuff, I mean
<arigato> yes
<arigato> though "stuff" itself starts with a condition that should be hard to know, which if it fails triggers another assertion error
<arigato> but even that is removed
<arigato> ah no, a clever ehough compiler would know that this second condition always passes, and proceed to the rest
<arigato> ...ok, the if(){stuff} disappears again if I keep just the part of "stuff" that does local variables updates
<arigato> so now I'm guessing that (1) it's a gcc bug, (2) I can reproduce it
<cfbolz> arigato: the PyPy curse strikes again or something
<arigato> gcc is already in our list of programs in which pypy found bugs, right?
<cfbolz> arigato: yep, several. Though only on x86 so far, I think
<arigato> or platform-independent ones
<arigato> but it's not clear that this one only occurs on aarch64
<arigato> the C function is from the aarch64 backend so wouldn't occur on x86
<arigato> of course, compiling with ubsan makes the resulting if(){} appear in the program
<arigato> OK, the program crashes elsewhere, but I'm not going to debug this crash too if we assume we have a bug in this particular version of gcc
<arigato> the point is that -fsanitize=undefined doesn't find anything
<arigato> ("crashes elsewhere" = later)
<cfbolz> arigato: right
<arigato> OK managed to get an independent reproducer
<arigato> let me try to compile that on x86-64
<arigato> yes, same bug
<cfbolz> Ok
<arigato> running gcc 9.1.0 locally, and gcc 8.3.0 on the aarch machine
<arigato> meh, the bug even shows up with -O1 (not just -O3), but not with -Og, which I used to debug
<arigato> compiling with -fwrapv makes the if(){} appear
<arigato> but at the same time, at runtime none of the -fsanitize code tells me there is an overflow
<cfbolz> arigato: meh. How large is the example?
<arigato> 33MB but that's mostly unnecessary stuff like all struct declarations
<arigato> but it's still many pages of C code
<arigato> I'm more and more convinced that it's a gcc bug and not a -fwrapv problem, but not 100% yet
<cfbolz> arigato: you could try https://embed.cs.utah.edu/creduce/
<cfbolz> I've had very good experience with it
jvesely has quit [Quit: jvesely]
<arigato> a bit confused, it uses llvm, but can reduce programs based on gcc results?
antocuni has joined #pypy
<arigato> cat /etc/debian_version
<arigato> 7.8
<arigato> can someone help me translate that number into one of the debian names?
<arigato> ""wheezy", after random googling
<Dejan> Wheezy
<arigato> ok it seems "wheezy" doesn't have the package creduce
<cfbolz> arigato: the clang part of creduce is optional. It's basically just a Perl script. If you want, I can try to run in when I'm in the office in a bit
<arigato> getting there
<cfbolz> (another random idea: does clang remove the if?)
<arigato> no
<arigato> the old gcc 5.4.0 doesn't, either
<arigato> gcc 8.3.0 or 9.1.0 do
<cfbolz> arigato: strong indicators for a bug, I'd say
<cfbolz> Clang is pretty aggressive about ub
<arigato> ah, there is creduce on the version of debian on the aarch64 machine
<cfbolz> Cool
xcm has quit [Remote host closed the connection]
<arigato> how do I write the condition now...
xcm has joined #pypy
antocuni has quit [Ping timeout: 268 seconds]
<cfbolz> arigato: something like 'the O1 version aborts, the O0 version doesn't'?
<arigato> but I can't actually run the problem
<cfbolz> Ah
<cfbolz> You inspect the result?
<arigato> but yes
<arigato> good idea to compare the results of O1 with O0
<cfbolz> Seems I've been reading too many 'how to find bugs in C compilers' papers ;-)
gracinet has joined #pypy
Ai9zO5AP has joined #pypy
<arigato> I fear it will take ages to reduce this 35MB file
<arigato> I thought the logic would start by killing half the lines, but it seems to be much more conservative
<cfbolz> arigato: :-(
* arigato restarts with the non-preprocessed source containing only the 1600-lines function
<arigato> good, process
<cfbolz> arigato: it's kind of fun to watch, no?
<arigato> yes :-)
<arigato> now I can debug my script
<cfbolz> arigato: it works even pretty well for python code
<arigato> right now it reduced the program to a single letter "a"
<cfbolz> arigato: (-:
<arigato> python code: cool
<cfbolz> arigato: the big problem with python code is that it can't dedent
<arigato> maybe wrap the python code in one of these old tools to convert indentation into some kind of braces
<cfbolz> arigato: yes, I didn't manage to find one of them at the time though
<arigato> heh
<Dejan> I wonder do mypy guys run tests with pypy?
<Dejan> I was looking whether they have some test suit, but I could not find it
ekaologik has joined #pypy
<arigato> Alex_Gaynor: someone complains that the new set of cffi wheels no longer includes the 32-bit manylinux ones
<Dejan> so... what is Andrei going to do?
<Dejan> sorry, wrong channel
<mattip> bummer. The manylinux2010 wheels are based on CentOS 6, which uses libffi.so.5. We built our releases with libffi.so.6
<mattip> so it seems we still need portablepypy, even though we can rebuild the cffi-based _ssl and freinds
<Dejan> can't we upgrade to CentOS 7 ?
<Dejan> or 8
<mattip> we can, but manylinux2010 can't
<mattip> s/wheels/image/
<Dejan> what is manylinux2010 ?
jacob22 has joined #pypy
<mattip> a wheel is a binary package with a label. But what does a label like linux64 mean? which linux?
<mattip> so python designated a lowest common denominator for linux packages: manylinux2010, and an ecosystem of tools to build wheels for it
<mattip> based on centos6 docker images
<mattip> so you build your wheel in this docker image, then run a tool on it (auditwheel) that fixes it up to make it portable,
<mattip> then you can upload it to pypi. But as seen yesterday, that is the 10,000 meter view, when you try to do it for a real package release,
<mattip> you need many other tools and devop skills to make it all work
<Dejan> but is there a formal spec what manylinux2010 should use to build?
<Dejan> I have no problem with building on CentOS as we run all our software on Amazon Linux 2 :D
<Dejan> mattip, 👍
dddddd has joined #pypy
<kenaan> cfbolz default 292b84d69855 /pypy/objspace/std/mapdict.py: small improvement: if the map can't be promoted (eg when using setattr), check first whether the attribute goes in...
<kenaan> cfbolz default 6050f7ce8f45 /pypy/: add two get_printable_locations
antocuni has joined #pypy
<Alex_Gaynor> arigato: that's right -- we don't easily support it, and we looked at the stats and it's <1% of downloads
Rhy0lite has joined #pypy
<kenaan> cfbolz record-known-result 4315f8c9ff0f /pypy/module/pypyjit/test_pypy_c/test_string.py: these four operations are removed by the branch
<kenaan> cfbolz record-known-result f1e552055e69 /: merge default
<kenaan> cfbolz record-known-result 270b9c958d32 /: re-decoding a utf-8 encoded byte string needs to do nothing
mgedmin has left #pypy ["WeeChat 2.4"]
<kenaan> cfbolz py3.7 690fff498e45 /pypy/module/: Merged in Yannick_Jadoul/pypy/py3.7-pep553 (pull request #671) PEP 533 implementation
<kenaan> Yannick_Jadoul py3.7-pep553 075c2edf30ee /pypy/module/: Implemented breakpoint and sys.breakpointhook from PEP 553
<kenaan> Yannick_Jadoul py3.7-pep553 085278e256df /pypy/module/__builtin__/test/test_breakpoint.py: Adding tests for breakpoint() and sys.breakpointhook()
<Dejan> How do you guys know what stuff from 3.6 to merge into 3.7 ? :)
jcea has joined #pypy
<cfbolz> Dejan: well, everything?
<kenaan> cfbolz record-known-result 1bdeb2170bbc /pypy/module/pypyjit/test_pypy_c/test_string.py: two more tests the branch makes possible
<Dejan> cfbolz, so there are no strictly 3.6 bugfixes that do not go into 3.7 ?
<cfbolz> Dejan: no, why would there be?
antocuni has quit [Ping timeout: 265 seconds]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/6530 [Carl Friedrich Bolz-Tereick: force build, record-known-result]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7752 [Carl Friedrich Bolz-Tereick: force build, record-known-result]
<bbot2> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/235 [Carl Friedrich Bolz-Tereick: force build, record-known-result]
<cfbolz> arigato: would you maybe be up to reviewing that branch?
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
gracinet has left #pypy [#pypy]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7752 [Carl Friedrich Bolz-Tereick: force build, record-known-result]
jvesely has joined #pypy
<arigato> Alex_Gaynor: when I've got a minute I will try cibuildwheel, then. it's announced as very simple and it does support manylinux i686
<arigato> cfbolz: yes
<arigato> (reduced to 50% of the size of that function, and still running)
YannickJadoul has joined #pypy
<YannickJadoul> arigato: If you need a hand on `cibuildwheel`, I'm happy to help
<bbot2> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/235 [Carl Friedrich Bolz-Tereick: force build, record-known-result]
<arigato> thanks!
<bbot2> Success: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/6530 [Carl Friedrich Bolz-Tereick: force build, record-known-result]
<Alex_Gaynor> arigato: fwiw we dropped cryptography i686 manylinux1 wheels and no one seemed to care. I don't think manylinux2010 (the next version) even supports i686
<arigato> someone cares about cffi, though
<YannickJadoul> Alex_Gaynor: Someone recently decided to still make manylinux2010_i686, though: https://github.com/pypa/manylinux/issues/179#issuecomment-535645604
<YannickJadoul> Before, the general consensus did seem to be it wasn't worth the effort
xcm has quit [Remote host closed the connection]
<kenaan> rlamy py3.6-asyncgen 2ca58cb34e7f /: Close branch py3.6-asyncgen
xcm has joined #pypy
<kenaan> rlamy py3.6 2ccaa27c8549 /pypy/: Merged in py3.6-asyncgen (pull request #672) Fix asyncgen_hooks and refactor coroutine execution
<arigato> YannickJadoul: on Azure platform, I need to install libffi-dev (debian package name) first
<arigato> I haven't yet managed to do that
<ronan> cfbolz: about the coroutine-specific attributes on frames, could we have 2 frame classes?
forgottenone has quit [Quit: Konversation terminated!]
<YannickJadoul> arigato: Hmmm, since the Linux builds are run inside a docker, it needs to be installed through `CIBW_BEFORE_BUILD` for example. But then you don't have `apt-get` on the CentOS-based manylinux images
<arigato> OK, that's what I'm trying now
<arigato> I think I found the command, "yum install -y libffi libffi-devel"
<arigato> YannickJadoul: I think it's completely ignored---I must be passing it wrongly. I'm trying with this line at the end of the "- bash:" section:
<arigato> CIBW_BEFORE_BUILD="yum install -y libffi libffi-devel" cibuildwheel --output-dir wheelhouse .
<YannickJadoul> Yeah, that should be it, indeed. Do you have a build log?
<arigato> aaah sorry
<arigato> wrong "-bash" section, it's the windows one
<YannickJadoul> Btw, people were worried about CentOS 5 being end-of-life and the security implication of still using yum install on those images: https://github.com/joerick/cibuildwheel/pull/152 and https://github.com/pypa/manylinux/issues/179#issuecomment-514367579
<YannickJadoul> But that's true for any manylinux1 build, not just with cibuildwheel
<arigato> seems to work. cibuildwheel sounds like a great tool for people like me that don't want to care too much about distribution
<YannickJadoul> That's what I thought. Then I needed some features, then got dragged into maintaining it :D
<arigato> :-)
<arigato> if you want my opinion, the azure-pipelines is making an "artifact" that contains all the wheels, which is almost perfect---if it also contained the source package (sdist) it would be perfect :-)
<YannickJadoul> Hmm, that's a good point. I just have a line `python setup.py sdist` before
marky1991 has joined #pypy
<YannickJadoul> There are also a few projects that nicely combine/extend: https://github.com/astrofrog/autowheel and https://github.com/altendky/romp
<kenaan> rlamy py3.6 08277358d8fb /pypy/module/_multibytecodec/: Fix range checking in GB18030 decoder (bpo-29990)
<arigato> yes, it's more of a minor plus. It's not a problem to run "python setup.py sdist upload" locally in parallel with "twine upload *.whl"
<arigato> ...as long as I remember to go in a clean dir
<arigato> YannickJadoul: thanks again. The manylinux1-i686 wheels are now up. It's a great project that you're maintaining there!
<YannickJadoul> arigato: Good point; I'll make an issue and suggest it. Great to hear it's working well :)
firespeaker has quit [Quit: Leaving.]
marky1991 has quit [Ping timeout: 268 seconds]
<cfbolz> YannickJadoul: hi! Congrats on your next landed pull request :-)
<cfbolz> ronan: I think not, iirc it's one of the restrictions of virtualizables
<cfbolz> ronan: but we can still come up with a way, I think
<cfbolz> ronan: what's the branch about? Didn't read quite closely enough yet
<ronan> cfbolz: it was about fixing some obscure corners in async generators, but I also moved some code around
<cfbolz> ronan: right. What are the new fields?
marky1991 has joined #pypy
<ronan> cfbolz: it's just PyFrame.w_yielding_from
<cfbolz> ronan: ok
<cfbolz> ronan: one option would be to move the field to the frame's FrameDebugData (which is already a badly named class)
<cfbolz> Then generator frames would have a debug data set (like global frames)
<ronan> wouldn't that make generators slower?
marky1991 has quit [Ping timeout: 240 seconds]
<cfbolz> ronan: maybe little bit (we would have to measure), but that sounds better than making every function call a bit slower
<YannickJadoul> cfbolz: Hello; and thanks :) It's quite fun to figure out these Python internals, actually
<cfbolz> YannickJadoul: hehe, cool. Do you have an idea what you want to tackle next?
<YannickJadoul> cfbolz: "PEP 564, Time functions with nanosecond resolution" seemed reasonably straightforward?
<YannickJadoul> And "PEP 557, Data Classes" seems intriguing but a bit more involved
<YannickJadoul> Unless you have better suggestions?
<cfbolz> YannickJadoul: I think data classes might even just work. It's in pure python maybe?
<cfbolz> YannickJadoul: nanosecond timers sound good! Hope it's not too annoying, OS-wise
<tumbleweed> arigato: looks like you've been having fun :)
<tumbleweed> so I guess I was somehow able to avoid generating the code that upset gcc, when translating with a JIT
<ronan> YannickJadoul: implementing _abc would be useful, virtualenv is failing because of it
<tumbleweed> it may be interesting to see the difference in the generated C, there...
lritter has quit [Ping timeout: 268 seconds]
<YannickJadoul> cfbolz: Yeah, it's possible. I haven't actually looked at the CPython implementation of dataclasses yet
<YannickJadoul> ronan: You mean this innocuous line in the Python docs? "Most functions and methods in abc have been rewritten in C." But I can't find any further specification?
Ai9zO5AP has quit [Ping timeout: 265 seconds]
<ronan> YannickJadoul: yes, the source is the only spec... see Lib/abc.py and Modules/_abc.c in cpython
oberstet has quit [Remote host closed the connection]
<YannickJadoul> ronan: Oh. Right, it's an implementation detail, in principle, but now PyPy can't use the same implementation anymore?
<ronan> well, the issue is that PyPy now requires the _py_abc module to start up
<ronan> we could also fix that by telling virtualenv to copy over that file when bootstrapping a new environment
<ronan> but in the long run, we're probably better off having a builtin _abc module like CPython
<arigato> tumbleweed: creduce is still running. I plan to let it run for as long as necessary and reconsider tomorrow if it's still not finished---unless doing so would mean you need to pay too much money to someone
<arigato> for now it reduced the test by 67% but that means there is still a lot of cruft left
Ai9zO5AP has joined #pypy
<kenaan> rlamy py3.6 1c5e6646df47 /pypy/module/_multibytecodec/: Fix handling escape characters in HZ codec (bpo-30003)
Ai9zO5AP has quit [Excess Flood]
<kenaan> rlamy py3.7 5b468ca97202 /: hg merge py3.6
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7753 [ronan: force build, py3.7]
<YannickJadoul> ronan: I'm not really getting why the separate _py_abc.py file causes an error for virtualenv, but I did find the files and the CPython PR, so I might know where to start :)
<ronan> YannickJadoul: you can probably implement all the functions at app-level by slightly adapting the code in _py_abc.py
Ai9zO5AP has joined #pypy
<tumbleweed> arigato: the cost of this is minimal, we keep it alive as long as you need (I think $20/month or so)
ekaologik has quit [Ping timeout: 245 seconds]
firespeaker has joined #pypy
ekaologik has joined #pypy
<arigato> I've bitten the bullet and manually rewrote the minimal struct declarations needed to compile the 67%-reduced snippet. now I've got a fast-compiling example, and I can reduce it more much more quickly
<tos9> Is there any value in making this kind of error nicer: https://bpaste.net/show/k0zf
firespeaker has quit [Ping timeout: 240 seconds]
<tos9> I *think* it's an easy one to run into, particularly on macos, but I don't know whose "fault" to consider it, or what if anything should be done and where
<tos9> On macOS it happens basically because of the way homebrew works
<tos9> Specifically, any time pypy gets upgraded (either to a new pypy version, or a new version of the homebrew formula for the same pypy release)
<tos9> Then if you have a virtualenv, that virtualenv wants to find /usr/local/Cellar/pypy3/7.1.1/libexec/lib/libpypy3-c.dylib (or whatever the case may be), but that file's gone missing
<tos9> Maybe the thing would be PyPy showing a more specific friendly message if it isn't able to find libpypy-c.dylib at all?
<arigato> it must be finding libpypy3-c.dylib, because this error message is produced by it
<arigato> the error message is caused by not finding encoding in the stdlib
<arigato> 'encodings'
<tos9> maybe there's some funny symlink resolution happening in otool though?
<arigato> possible
dmalcolm__ has quit [Remote host closed the connection]
<arigato> is there libpypy3-c.dylib locally in the same directory?
<tos9> because that file normally would not be looked at in /usr/local/Cellar/pypy3/7.1.1/libexec/lib/, it should get symlinked to just /usr/local/opt/pypy3/libexec/lib/libpypy3-c.dylib
dmalcolm__ has joined #pypy
jvesely has quit [Quit: jvesely]
<tos9> arigato: there's no libpypy3-c.dylib neither in cwd nor in the venv from what I see
<arigato> the error message you get is the one I get if I run a pypy3 which finds its so/dylib but not its stdlib
<arigato> in fact, the executable "pypy3" would not start at all if it didn't find libpypy3-c.dylib, no?
<arigato> you can also convince yourself that the tiny "pypy3" doesn't contain the text "debug:" or "OperationError"
<tos9> I certainly believe what you'd tell me so probably no need for convincing :P -- will check anyhow, but I think regardless the question is whether there's what to do about the message?
<arigato> yes, that's probably a good idea
<tos9> the tiny venv binary has literally the hardcoded path in it /usr/local/Cellar/pypy3/7.1.1/libexec/lib/libpypy3-c.dylib
<tos9> so not funny symlinking afaict
<tos9> and that path I've triple checked doesn't exist
<tos9> but yeah obviously you're also correct that I don't see anything in just here that should produce that message
forgottenone has joined #pypy
<tos9> dtruss also seems nonhelpful
<arigato> the source code of the executable is literally one line from the Makefile
<arigato> echo "int $(PYPY_MAIN_FUNCTION)(int, char*[]); int main(int argc, char* argv[]) { return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@
<kenaan> rlamy py3.6 24c1cf8d6d14 /: reject null characters in a few more functions (bpo-13617)
<tos9> ah, interesting.
<arigato> on Linux we use -Wl,-rpath and -Wl,-rpath-link; I'm not sure about OSX
<tos9> ok, I'm about to run into a meeting again, but sounds like it's worth me having a look again later then?
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/7753 [ronan: force build, py3.7]
<arigato> tos9: yes, thanks!
Rhy0lite has quit [Quit: Leaving]
jvesely has joined #pypy
jvesely has quit [Quit: jvesely]
firespeaker has joined #pypy
jvesely has joined #pypy
<arigato> tumbleweed: now I think you can shut down the aarch64 machine
<arigato> cfbolz: I'm impressed, that's a serious reduction
<arigato> I'm impressed by creduce
YannickJadoul has quit [Ping timeout: 240 seconds]
danchr_ is now known as danchr
<danchr> MacPorts now has version 7.2.0 of both PyPy and PyPy3 FWIW.
<arigato> :-)
manjaro-user-- has joined #pypy
<cfbolz> arigato: nice!
marky1991 has joined #pypy
ekaologik has quit [Quit: https://quassel-irc.org - Komfortabler Chat. Überall.]
forgottenone has quit [Quit: Konversation terminated!]
BPL has joined #pypy
BPL has quit [Client Quit]
marky1991 has quit [Ping timeout: 268 seconds]
jvesely has quit [Quit: jvesely]
YannickJadoul has joined #pypy
CrazyPython has joined #pypy
norok2 has joined #pypy
norok2 has quit [Remote host closed the connection]
norok2 has joined #pypy
mattip has quit [Ping timeout: 276 seconds]
mattip has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
jvesely has joined #pypy
jcea has quit [Ping timeout: 264 seconds]
jcea has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
CrazyPython has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
YannickJadoul has quit [Quit: Leaving]
xcm has quit [Remote host closed the connection]
jcea has quit [Ping timeout: 250 seconds]
CrazyPython has joined #pypy
xcm has joined #pypy
xcm has quit [Ping timeout: 240 seconds]
CrazyPython has quit [Remote host closed the connection]
jacob22 has quit [Ping timeout: 246 seconds]
dansan has quit [Ping timeout: 265 seconds]
xcm has joined #pypy