cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | "the modern world where network packets and compiler optimizations are effectively hostile"
tav has joined #pypy
marr has quit [Ping timeout: 246 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
jcea has quit [Quit: jcea]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pilne has quit [Quit: Quitting!]
yuyichao has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
yuyichao has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
ArneBab_ has joined #pypy
ArneBab has quit [Ping timeout: 260 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
yuyichao has quit [Read error: Connection reset by peer]
yuyichao has joined #pypy
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Client Quit]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
panni_ has quit [Ping timeout: 248 seconds]
rubdos has quit [Ping timeout: 255 seconds]
panni_ has joined #pypy
rokujyouhitoma has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rokujyouhitoma has quit [Ping timeout: 260 seconds]
rubdos has joined #pypy
vkirilichev has joined #pypy
vkirilichev has quit [Ping timeout: 260 seconds]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 258 seconds]
vkirilichev has joined #pypy
slackyy has quit [Read error: Connection reset by peer]
marr has joined #pypy
mattip has joined #pypy
rokujyouhitoma has joined #pypy
<kenaan> arigo extradoc ec3ca5da8208 /talk/ep2017/pypy-whats-new/: Updates
rokujyouhitoma has quit [Ping timeout: 248 seconds]
* mattip looking to write an untranslated test for something that looks like a memory leak
<mattip> np.array(range(10000)) appears to create many PyIntObjects, which are not fully released by gc
<mattip> np.arange(10000) works fine
raynold has quit [Quit: Connection closed for inactivity]
<kenaan> arigo extradoc a8103c0889c7 /talk/ep2017/pypy-whats-new/slides.pdf: Commit pdf
<kenaan> arigo extradoc 22d92b9985f8 /talk/ep2017/pypy-whats-new/: updates
ronan has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
ronan has quit [Ping timeout: 240 seconds]
<cfbolz> mattip: does cpyext use __del__ much?
<mattip> nope
cstratak has joined #pypy
<mattip> AFAICT
<mattip> obviously, something is happening, but not clear what
<mattip> and it is a bit hard to get a handle on what is going on in a translated test
<cfbolz> mattip: yes, as usual
<cfbolz> mattip: it could be the list strategy doing something weird
<cfbolz> Or the refcounts
<mattip> list strategy is a good suspect, I tried to refactor it a while back but maybe missed a case
<mattip> gc.get_objects() is not showing a change between one call to np.array(range(10000)) and ten calls,
<mattip> even though rss memory changes almost linearly
<cfbolz> mattip: so it's raw malloced objects
<cfbolz> They don't appear in get_objects, I think
<mattip> ok, thanks
<cfbolz> mattip: I have an unrelated question about cpyext: the mapping from python object do C structure is still done with a dict, right?
yuyichao has quit [Ping timeout: 255 seconds]
<mattip> AFAIK it is rpython.rlib.rawrefcount._pypy2ob and _pypy2ob_rev, which are both dicts
cstratak has quit [Ping timeout: 276 seconds]
<cfbolz> Hm
<mattip> cfbolz: that may be true only for untranslated?
<cfbolz> Yes, I think one is done by the GC
yuyichao has joined #pypy
<cfbolz> no, it seems I am wrong
* mattip off, later
mattip has left #pypy ["bye"]
rokujyouhitoma has joined #pypy
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje is now known as Guest18276
Guest18276 has quit [Ping timeout: 260 seconds]
lritter has joined #pypy
rokujyouhitoma has quit [Ping timeout: 260 seconds]
<Remi_M> fijal: about the resop-interpreter: do you actually expect to get a speedup over CPython when interpreting the traces produced by the JIT?
<Remi_M> It is still a bit unclear to me what we really expect from that project. If it is just going to be a development tool for debugging the JIT, I'm not sure if that is not merely a nice-to-have thing, which will eventually bit rot since nobody maintains it.
<fijal> Remi_M: maybe?
<fijal> I don't know
<fijal> I think it's an experiment worth doing whether or not we'll end up using it
<Remi_M> maybe it is...
<Remi_M> seems like for anyone not knowing RPython, however, it will be quite a big project
<Remi_M> (probably master thesis)
<fijal> you could in theory write it in C
<fijal> but maybe
<Remi_M> do we know of other projects that dis something like that? e.g., using an llvm bitcode interpreter?
<fijal> maybe hotpy?
<Remi_M> I'll have a look at that. seems similar indeed
raynold has joined #pypy
marky1991 has joined #pypy
<Remi_M> just looking at results, apparently hotpy really did achieve significant speedups. so indeed attempting something similar for pypy seems worthwhile
<kenaan> stevie_92 cpyext-gc-trialdeletion f8d7bb5f29b6 /: Implemented flags for concurrent cycle deletion (Bacon and Rajan 2001) with overflow handling f...
rokujyouhitoma has joined #pypy
ronan has joined #pypy
rokujyouhitoma has quit [Ping timeout: 246 seconds]
oberstet has quit [Ping timeout: 260 seconds]
SunDwarf has quit [Read error: Connection reset by peer]
vkirilichev has quit []
mattip has joined #pypy
<mjacob> i'm missing context - which problem will the resop interpreter solve?
marky1991 has quit [Ping timeout: 268 seconds]
cstratak has joined #pypy
<Alex_Gaynor> Isn't the metainterp a resop interpreter?
rokujyouhitoma has joined #pypy
adamholmberg has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
cstratak has quit [Ping timeout: 268 seconds]
ronan has quit [Ping timeout: 240 seconds]
yuyichao has quit [Ping timeout: 246 seconds]
mattip has left #pypy ["bye"]
<Remi_M> Alex_Gaynor: the metainterp interprets "jitcode" and emits a trace of "resops", no?
<Alex_Gaynor> Remi_M: pfff, yes, you're right
<Remi_M> mjacob: unclear if it solves anything :) . it's portable and debuggable, and it may help understanding the effectiveness of optimisations better
yuyichao has joined #pypy
Rhy0lite has joined #pypy
ronan has joined #pypy
Remi_M has quit [Quit: See you!]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 258 seconds]
asmeurer has joined #pypy
<fijal> mjacob: I think it could be good for experimenting with optimizations, maybe
cstratak has joined #pypy
marky1991 has joined #pypy
<mjacob> well, i would argue that you should find a convincing use case before developing something which will bitrot ;)
<mjacob> how would the interpreter useful in experimenting with optimizations?
<mjacob> for tests?
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6069 [ronan: force build, py3.6]
asmeurer has quit [Quit: asmeurer]
yuyichao has quit [Ping timeout: 240 seconds]
ronan has quit [Ping timeout: 240 seconds]
cstratak has quit [Remote host closed the connection]
<fijal> mjacob: I think I have a few convincing use cases
<fijal> but also, since when does it stop us?
yuyichao has joined #pypy
Ryanar has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 268 seconds]
asmeurer_ has joined #pypy
asmeurer_ has quit [Client Quit]
asmeurer__ has joined #pypy
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
ronan has joined #pypy
asmeurer__ has quit [Quit: asmeurer__]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6069 [ronan: force build, py3.6]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rokujyouhitoma has joined #pypy
ronan has quit [Ping timeout: 240 seconds]
rokujyouhitoma has quit [Ping timeout: 255 seconds]
asmeurer_ has joined #pypy
<danchr> is there a way to make a builder pass an extra argument to one of the phases?
<kenaan> danchr py3.5-mac-embedding 47576a3f87dc /lib_pypy/_cffi_ssl/_cffi_src/openssl/: fix building against latest LibreSSL
<kenaan> danchr py3.5-mac-embedding ed548e40171b /: add support to package.py for embedding libraries not included with OS X
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/3151 [danchr: build my branch, py3.5-mac-embedding]
asmeurer_ has quit [Quit: asmeurer_]
asmeurer has joined #pypy
asmeurer has quit [Client Quit]
mvantellingen has quit [Ping timeout: 240 seconds]
Polsakerino is now known as Polsaker
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
mvantellingen has joined #pypy
tormoz has quit [Remote host closed the connection]
yuyichao has quit [Read error: Connection reset by peer]
yuyichao has joined #pypy
<bendlas> I can't log in to the pypy issue tracker. can somebody file this issue for me: https://hastebin.com/halesocoru.log
<bendlas> please?
<LarstiQ> bendlas: https://bitbucket.org/pypy/pypy/issues/ you mean?
<bendlas> LarstiQ: yes, my attempt to login via google seems to have confused it
<LarstiQ> k
<bendlas> since yesterday, it shows me some error about my account being upgraded ... ¯_(ツ)_/¯
<bendlas> you can ping me in the chat or on herwig@bendlas.net if you need any more information
<LarstiQ> bendlas: can you try 5.8.1?
<LarstiQ> I just tried with that, and it raises for me
<bendlas> hm, that's not announced on the home page ..
<LarstiQ> hmm
<LarstiQ> ah no
<LarstiQ> bendlas: sorry, that's 5.8.0, I got confused by the 1 in the filename
<LarstiQ> ok, so then it's something NixOS specific maybe
<bendlas> might be
<LarstiQ> bendlas: or, could you try that portable binary too?
<LarstiQ> to rule out any differences there
<bendlas> on it ...
<bendlas> i need to compose a fhs env to be able to do that
<LarstiQ> fhs?
<LarstiQ> ah, so ldd can lod libgcc_s and friends?
<bendlas> yes, in nixos, everthing is stored and statically bound within /nix/store/
<bendlas> packages can't reference /bin, /usr or anything like that
* LarstiQ nods
<bendlas> but I can build an FHS chroot, where they can
<bendlas> and indeed, the portable binary raises OSError as expected ...
<LarstiQ> bendlas: the portable binaries minimize what they reference, but there's still a bit in /lib
<LarstiQ> bendlas: aha!
<LarstiQ> bendlas: want me to file that bug still, or wait till you've dug more?
<bendlas> No, that's a ticket for the nixos tracker. Thanks for making me check with the portable binary!
<bendlas> but still, however exactly we managed to mess this up, it's interesting, that pypy would silently fail, but I'll check back when I have a ticket
<bendlas> LarstiQ: I'm still wondering how to debug this ... mattip mentioned something about running untranslated tests
<LarstiQ> bendlas: right
<bendlas> but he also said, that there were none for test_os ...
<bendlas> or the resource module
<LarstiQ> bendlas: hmm, I'd first check if cpython's testsuite has anything for this
<LarstiQ> (as bundled with pypy)
<LarstiQ> bendlas: before going to rpython tests
<LarstiQ> bendlas: is this urandom specific, or could you test if the rlimit fails altogether?
<bendlas> it's urandom specific indeed. good catch!
<bendlas> LarstiQ: `open("..", "r")` fails after `setrlimit` as expected
<bendlas> `open("/dev/urandom", "r")` and `open("/dev/random", "r")`, specifically, fail as well
rokujyouhitoma has joined #pypy
<bendlas> just `os.urandom(16)` still works
<LarstiQ> let's see if I can figure out how that is implemented
<LarstiQ> there is rlib/rurandom.py
<LarstiQ> which seems to syscall instead of opening /dev/urandom in some cases?
<LarstiQ> bendlas: you could try commenting the 'if SYS_getrandom is not None' and 'if n <= 0' in `def urandom(..` and see if that matters
<LarstiQ> or maybe only make sure the return doesn't happen
rokujyouhitoma has quit [Ping timeout: 268 seconds]
<LarstiQ> bendlas: as how to run tests, I'll have a look at that
<bendlas> I'll have to rebuild pypy-c after that change, right?
<LarstiQ> unless we can test that untranslated, which is the normal workflow
<LarstiQ> but here my skills as a lurker might not suffice :)
<LarstiQ> rpython/rlib/test/test_rurandom.py exists
<LarstiQ> bendlas: and there is a test_rurandom_no_syscall
<LarstiQ> so in fact no changes needed
<LarstiQ> bendlas: just run test_rurandom and test_rurandom_no_syscall in that file
<LarstiQ> ah, but then you need the rlimit setting
<bendlas> can do
<bendlas> but where do I get the `monkeypatch` arg from?
asmeurer has joined #pypy
<LarstiQ> from py.test I think
* LarstiQ tries
<LarstiQ> bendlas: `python pytest.py rpython/rlib/test/test_rurandom.py`
<LarstiQ> runs both tests untranslated
<LarstiQ> I _think_ it should work to add two more tests there with the rlimit set
tbodt has joined #pypy
<bendlas> LarstiQ: here is my updated `test_rurandom.py` all tests pass https://hastebin.com/ipenecewuz.py
<bendlas> can I translate and run just that test?
<LarstiQ> bendlas: hmm
<LarstiQ> bendlas: I think so
<LarstiQ> bendlas: have a look at rpython/translator/goal/
<LarstiQ> bendlas: that's maybe not _the_ way to do it, but something like that should work and be much faster than translating pypy
<LarstiQ> fijal: maybe you have an idea here?
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
Ryanar has quit [Quit: Ryanar]
Ryanar has joined #pypy
Ryanar has quit [Client Quit]
adamholmberg has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<bendlas> LarstiQ: [translation:ERROR] ValueError: <function init_urandom at 0x7fd8e30e0758> is tagged as @not_rpython
<bendlas> seems it's not that easy
<LarstiQ> ah bweh
asmeurer has quit [Quit: asmeurer]
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
adamholmberg has joined #pypy
<bendlas> LarstiQ, fijal: looking at strace, pypy's `os.urandom()` doesn't seem to open `/dev/urandom` at all, but instead uses the getrandom syscall. Is this something our libc is doing? That would explain the success for portable build.
tbodt has joined #pypy
pilne has joined #pypy
<bendlas> LarstiQ: fijal: it's gotten clear now. pypy uses the getrandom syscall, if it can, which the portable build apparently can't. So the real bug is for the test to expect `/dev/urandom` to be opened when calling `os.urandom()`. I'll patch this out of our build, but you might want to fix it too.
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 240 seconds]
asmeurer has joined #pypy
asmeurer has quit [Quit: asmeurer]
<dstufft> Using getrandom is better in general
asmeurer__ has joined #pypy
asmeurer__ has quit [Client Quit]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-macosx-x86-64/builds/3151 [danchr: build my branch, py3.5-mac-embedding]
marky1991 has quit [Read error: Connection reset by peer]
asmeurer has joined #pypy
rokujyouhitoma has joined #pypy
rokujyouhitoma has quit [Ping timeout: 248 seconds]
pilne has quit [Quit: Quitting!]
asmeurer has quit [Quit: asmeurer]
lritter has quit [Quit: Leaving]
adamholmberg has quit [Remote host closed the connection]
rokujyouhitoma has joined #pypy
kolko has quit [Ping timeout: 260 seconds]
rokujyouhitoma has quit [Ping timeout: 240 seconds]
Rhy0lite has quit [Quit: Leaving]
tbodt has quit [Read error: Connection reset by peer]
tbodt has joined #pypy
asmeurer__ has joined #pypy
asmeurer__ has quit [Client Quit]
asmeurer has joined #pypy
asmeurer has quit [Client Quit]
rokujyouhitoma has joined #pypy
yuyichao has quit [Read error: Connection reset by peer]
rokujyouhitoma has quit [Ping timeout: 276 seconds]
yuyichao has joined #pypy
rokujyouhitoma has joined #pypy