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
marr has quit [Ping timeout: 260 seconds]
gclawes has quit [Ping timeout: 240 seconds]
jcea has quit [Quit: jcea]
dmarasca has joined #pypy
<dmarasca> Hi! Someone knows any doc that explains how to read the jit-summary?
<dmarasca> I am working on a Smalltalk VM and want to understand some performance issues.
dmarasca has quit [Ping timeout: 250 seconds]
asmeurer_ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
proy has joined #pypy
<kenaan> rlamy default f5577200d77d /pypy/module/__pypy__/interp_builders.py: Separate W_StringBuilder and W_UnicodeBuilder
<kenaan> rlamy py3.5 033ff20bdfd6 /pypy/module/__pypy__/interp_builders.py: Separate W_BytesBuilder and W_StringBuilder (manual port of f5577200d77d)
<kenaan> rlamy py3.5 d43acd762a29 /: hg merge default
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dddddd has quit [Remote host closed the connection]
asmeurer_ has quit [Quit: asmeurer_]
tbodt has joined #pypy
exarkun has quit [Read error: Connection reset by peer]
tbodt has quit [Client Quit]
exarkun has joined #pypy
dmarasca has joined #pypy
<kenaan> rlamy default dad86f083d4a /pypy/module/__pypy__/interp_builders.py: Use the same internal names for builders on py2 and py3
<kenaan> rlamy py3.5 f476c1168c34 /pypy/module/__pypy__/interp_builders.py: Use the same internal names for builders on py2 and py3
<kenaan> rlamy py3.5 0c21724e75bd /pypy/module/__pypy__/interp_builders.py: hg merge default
asmeurer has joined #pypy
Hasimir has joined #pypy
TheAdversary has joined #pypy
asmeurer has quit [Quit: asmeurer]
asmeurer_ has joined #pypy
dmarasca has quit [Ping timeout: 256 seconds]
ronan has quit [Remote host closed the connection]
proy has quit [Remote host closed the connection]
tsutsumi1 has joined #pypy
<tsutsumi1> Hey there, I'm working on the python3.6 branch, trying to fix some of the tests
<tsutsumi1> I'm down to 3 failures on test_codecs
<tsutsumi1> one is a deprecationwarning that should be emitted whenever an invalid control character is escaped
<tsutsumi1> looks like the unicode escaping logic is in rpython, but I'm not sure how I would add a warning into there
<tsutsumi1> It looks like there's often a "space" variable used to do things like log warnings, but one isn't passed into the method. I'm also worried that rpython doesn't support warnings
<tsutsumi1> does someone have an idea?
raynold has quit [Quit: Connection closed for inactivity]
tsutsumi1 has quit [Ping timeout: 240 seconds]
Garen has quit [Read error: Connection reset by peer]
Garen has joined #pypy
amz3` has joined #pypy
karanlyons has joined #pypy
<karanlyons> Hey all, this might be a PyPy bug or I might be stupid but either way I kinda need someone who knows better than me to chime in: https://dpaste.de/BMbm
<karanlyons> Basically it looks like subprocesses in PyPy spawn with the same (?) event loop of their parent, in contrast to the behavior I see in CPython.
exarkun has quit [Read error: Connection reset by peer]
exarkun has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
<karanlyons> It's possible this is a preexisting bug from asyncio in CPython for which the bugfix was never ported: https://bugs.python.org/issue22087
<arigato> tsutsumi: answered on the pull request
<karanlyons> Yup, that's what it is!
<karanlyons> My CPython's asyncio.events has checks for the pid when returning the event loop. These checks are not present in PyPy's.
<arigato> well done to track it down!
<arigato> which CPython version is that exactly?
<karanlyons> So the good news is it's easily correctable especially since this is all python, I think.
<karanlyons> I don't have a good way of working out when this change happened in CPython in terms of releases.
<arigato> but you're looking at which version? pypy3 uses the stdlib from CPython 3.5.3
<karanlyons> It's possible PyPy is exhibiting "correct" behavior for the version of CPython it's meant to be compatible with.
<karanlyons> Yeah, I think this fix might have only landed in 3.6.
<arigato> ah
<karanlyons> Not totally sure, though.
<karanlyons> Either way you can just manually clear the loop and instantiate a new one in the child proc.
<karanlyons> Well, this has been yet another journey of discovery off the rather unworn path towards what I'm actually supposed to be doing :D
fijal_ is now known as fijal
<arigato> ah, cpython's 3.5 head has got checks for the pid, but not cpython's v3.5.3 tag
<fijal> arigato: can you send me a pm?
<fijal> testing if my IRCcloud is still screwed
<karanlyons> arigato: Yeah, the tags in the repo are confusing me a bit as to when this actually landed in a release.
<fijal> ok thanks
<karanlyons> But I'm seeing 3.6 as well, so I'm just going to assume it wasn't really fixed till then.
<arigato> I think it's in v3.5.4 but not v3.5.3
<arigato> ok "good"
<karanlyons> Missed it by 0.0.1.
<karanlyons> So close
<arigato> obviously, we should update to the latest 3.5.x at some point
<arigato> hopefully it's less of a mess than the v3.5.1 - 3.5.2
<arigato> which changed many things
<karanlyons> Isn't 3.6 in the works too? I admit I don't actually brush up on dev process of either CPython or PyPy until I've managed to break them somehow.
<karanlyons> s/process/progress/
<arigato> :-)
<arigato> yes, but 3.6 is just started and will take a while
<karanlyons> Well this is all good to hear. My bug rate on PyPy is still only 1, but that's also pretty great :)
<karanlyons> I think you helped with that one too, ages ago.
<karanlyons> You had it patched before I was even finished cloning the repo.
<arigato> says something about bitbucket... :-)
<karanlyons> Haha, yeah.
<karanlyons> Well, now I must sleep, but thanks for suffering me quietly :P
<arigato> :-)
<arigato> see you
* arigato attempts to port RevDB to the latest pypy2
<kenaan> arigo reverse-debugger-updated 2b804a3bfea0 /rpython/rtyper/: Test fixes
<bbot2> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/84 [arigo: testing, reverse-debugger-updated]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6754 [arigo: testing, reverse-debugger-updated]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5477 [arigo: testing, reverse-debugger-updated]
<cfbolz> arigato: actually it seems py3.6 is progressing quite well. A lot of the hard parts are done already
mcyprian has joined #pypy
<cfbolz> But of course the remaining details will take tons of time as well, as usual
<arigato> ah, cool
<cfbolz> arigato: I added some more notes here:
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5477 [arigo: testing, reverse-debugger-updated]
karanlyons has quit [Read error: Connection reset by peer]
inhahe_ has joined #pypy
tayfun26 has joined #pypy
marr has joined #pypy
inhahe__ has quit [Ping timeout: 260 seconds]
marself has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6754 [arigo: testing, reverse-debugger-updated]
<bbot2> Failure: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/84 [arigo: testing, reverse-debugger-updated]
marr has quit [Ping timeout: 240 seconds]
antocuni has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<kenaan> arigo reverse-debugger-updated ed5132246276 /: Try to reduce the diff from default
<kenaan> arigo reverse-debugger-updated 57e6fc1e19e1 /rpython/rlib/revdb.py: oops
<kenaan> arigo reverse-debugger-updated 2fe38255fdb8 /rpython/rtyper/lltypesystem/: Fix some tests
jaffachief has joined #pypy
<kenaan> arigo reverse-debugger-updated 4a2a458b4728 /: More diff reduction
<kenaan> arigo reverse-debugger-updated 679c88232aae /rpython/rlib/objectmodel.py: Fix some tests that failed with "trying to change a frozen option object"
<kenaan> arigo reverse-debugger-updated f872fdab3c20 /rpython/rtyper/llinterp.py: Fix
<bbot2> Started: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/85 [arigo: testing, reverse-debugger-updated]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5478 [arigo: testing, reverse-debugger-updated]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6755 [arigo: testing, reverse-debugger-updated]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-lib-python-linux-x86-64/builds/55 [arigo: testing, reverse-debugger-updated]
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
forgottenone has joined #pypy
antocuni has quit [Ping timeout: 260 seconds]
<kenaan> arigo default 0088ece5635b /pypy/module/cpyext/: Make this a pointer instead of a Py_ssize_t. Why not, and reduces the diff from reverse-debugger.
jamesaxl has quit [Ping timeout: 240 seconds]
<kenaan> arigo reverse-debugger-updated 5fc00945551a /: RPython fix: we can't pass around module objects, they must be fully resolved by the flow graph
dddddd has joined #pypy
user24 has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6755 [arigo: testing, reverse-debugger-updated]
jcea has joined #pypy
<bbot2> Success: http://buildbot.pypy.org/builders/pypy-c-lib-python-linux-x86-64/builds/55 [arigo: testing, reverse-debugger-updated]
iblis17_ is now known as iblis17
<arigato> karanlyons
<arigato> apparently
mcyprian has quit [Ping timeout: 276 seconds]
<kenaan> arigo reverse-debugger-updated 3c84fc6a2df5 /pypy/interpreter/astcompiler/test/test_compiler.py: Fix test
<kenaan> arigo reverse-debugger-updated 883b423d5d72 /: Close branch
<kenaan> mattip py3.5 28c3a0a86d50 /lib-python/3/distutils/sysconfig_pypy.py: fix distutils.sysconfig
<bbot2> Success: http://buildbot.pypy.org/builders/rpython-linux-x86-64/builds/85 [arigo: testing, reverse-debugger-updated]
forgottenone has quit [Quit: Konversation terminated!]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5478 [arigo: testing, reverse-debugger-updated]
jcea has quit [Quit: jcea]
gclawes has joined #pypy
jcea has joined #pypy
mcyprian has joined #pypy
mcyprian has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<kenaan> mattip default a8e6b2583cbc /pypy/module/cpyext/: fix test for python3, remove implemented functions from stubs.py
<kenaan> mattip py3.5 823fbc19cb92 /pypy/module/cpyext/: merge default into py3.5
<kenaan> arigo reverse-debugger 2733778b0c3d /pypy/: Shouldn't catch an exception here, because it remains visible to user code as the last exception
<kenaan> arigo reverse-debugger e74b65718f40 /pypy/interpreter/test/test_reverse_debugging.py: Don't explode if 'hypothesis' cannot be imported
antocuni has joined #pypy
hawkowl_ is now known as hawkowl
<arigato> cfbolz: "need to support () = ()": we already make sure that "() is ()"
<arigato> ah sorry, that's for assignment
<arigato> unclear why it's "harder", though :-)
<cfbolz> yes
<cfbolz> arigato: I tried something simple, but got a stack depth complaint, so gave up
<cfbolz> arigato: now trying to do wordcode, which is its own kind of fun ;-)
<arigato> yup
forgottenone has joined #pypy
* arigato look
<cfbolz> arigato: thanks
<kenaan> cfbolz py3.6-wordcode 61471dc3b236 /pypy/interpreter/astcompiler/: switch encoding of bytecodes in the astcompiler to that of cpython 3.6
<kenaan> cfbolz py3.6-wordcode 1154776fb167 /pypy/interpreter/astcompiler/assemble.py: clean up _resolve_block_targets
<kenaan> cfbolz py3.6-wordcode 6327e535f2fb /pypy/interpreter/pycode.py: bump magic, disable exec_host_bytecode
<kenaan> cfbolz py3.6-wordcode fa6ecad4bd8a /pypy/tool/dis3.py: dis3 needs adaptations
<kenaan> cfbolz py3.6-wordcode 016bcfb6289b /pypy/interpreter/astcompiler/test/: how did this ever work?
<kenaan> cfbolz py3.6-wordcode 4b61cd94d616 /pypy/interpreter/: start adapting the interpreter to wordcode
ronan has joined #pypy
<arigato> aaaah ok found out
<arigato> it's because the empty tuple in the expression "del ()" is replaced with the constant empty tuple, and then you can't delete that
<arigato> or in the expression "() = [2, n]"
<cfbolz> uh, wat?
<cfbolz> (aside: I find this whole feature very very obscure anyway)
<arigato> optimize.py turns the ast node "Tuple" into "Constant( () )"
<arigato> yup
<arigato> ...if the tuple is empty
<cfbolz> right
<cfbolz> arigato: wordcode basically works, but there are still tons of tests that try to run the underlying python's bytecode on top of pypy3
<arigato> only tons of details left to fix, then :-(
<cfbolz> yes
<cfbolz> arigato: but I'd argue that that is a general cleanup
<cfbolz> (maybe I should even do it on default, too?)
<ronan> cfbolz: all the app-tests do that, actually
<antocuni> arigato: I have some more data about the GC: http://antocuni.eu/misc/img/2KMSoVvi.png
<antocuni> as you can see, it's not only the first step of sweeping which takes lot of time
<antocuni> it's also the last step of marking
<antocuni> also, the chart is still weird: I added some more logging: the first 4 yellow points are all SWEEPING steps which free raw objects
<antocuni> the first 3 free 140434 objects each (the maximum allowed), while the last one frees the remaining 57890
<cfbolz> ronan: huh? no?
<antocuni> so, I'd expect the first 3 to be more or less equally slow, and then the last to be faster. However, the chart shows that it's only the first to be very slow
<ronan> cfbolz: check the code for assert reinterpretation...
<cfbolz> ronan: ok, but only if they fail then?
<ronan> yes
<cfbolz> right
<antocuni> cfbolz: my GC analysis might be interesting for you as well
<cfbolz> antocuni: sorry, I don't know much about incminimark
<arigato> note that the syntax "[] = []" works already in python 2.7
<cfbolz> arigato: so it's just tuples that are new?
<arigato> yes
<cfbolz> ok
<arigato> I'd guess the SyntaxError is because of the same mess we have now
<cfbolz> 'yay'
<arigato> the peephole optimizer would replace it with "constant empty tuple" and then obscure failres
<arigato> ...failures
<kenaan> cfbolz py3.6-wordcode 72505716f39c /pypy/interpreter/pycode.py: we can't use _from_code anymore either
<kenaan> cfbolz py3.6-wordcode a890ba3fdb85 /pypy/: use _from_code less often (it's still in the apptest support, but I'll ignore that for now)
<kenaan> arigo py3.6 3131adbe1e58 /pypy/interpreter/: Empty tuples
<arigato> cfbolz: I'm thinking about merging the reverse-debugger branch into default, but for that, I'd need some more tests
<cfbolz> arigato: cool plan!
<arigato> does it make sense if I add full integration tests? these would run only inside the other repo at https://bitbucket.org/pypy/revdb/
<cfbolz> arigato: could be another nightly builder, imo?
<arigato> anything more unit-testy is certainly possible but a major mess
<arigato> yes, likely
<cfbolz> sounds ok to me
<cfbolz> arigato: the advantage would be that revdb wouldn't get out of date all the time?
<arigato> at least, I reviewed the diff and it seems ok and minimal
<arigato> yes
<arigato> and also:
<arigato> it wouldn't keep breaking whenever I fix something else :-/
<cfbolz> yes
<cfbolz> arigato: would it mean a pypy3 version of revdb?
<arigato> that's the longer-term goal, yes
<antocuni> cfbolz: sure, I just pointed it out because I seemed to remember that you are generally interested in GC things
<arigato> it's not too hard, but messy if there are no tests anywhere
<cfbolz> arigato: I'm all for these goals ;-)
<cfbolz> antocuni: it's definitely cool that you are investigating this so carefully, thanks
Rhy0lite has joined #pypy
<kenaan> rlamy unicode-utf8 916081855b81 /: hg merge default
speeder39 has joined #pypy
marky1991 has joined #pypy
kanaka has quit [Changing host]
kanaka has joined #pypy
<antocuni> cfbolz: sure, but I'm a bit clueless right now :-/, that's why I was basically thinking alound in the channel
<antocuni> my only theory so far is that for some reason we have a raw_malloc()/raw_free pattern which is not handled very well by the libc, so the first N frees() are slower than the rest
<antocuni> although it's a bit fragile as a theory... like when you blame the compiler for a segfault :)
<antocuni> moreover, I didn't manage to reproduce the sweeping peak with a small script so far, I see it only in production
<antocuni> (but I can easily reproduce the peak in the last phase of marking, which is probably something else we need to fix)
<cfbolz> antocuni: if libc is the problem you should try another malloc
tayfun26 has quit [Quit: tayfun26]
lritter has joined #pypy
lritter has quit [Client Quit]
<antocuni> cfbolz: good point
sthalik has quit [Quit: Alwyzon, cloud-powered IRC client and bouncer - http://alwyzon.com/]
sthalik has joined #pypy
dfee has joined #pypy
marr has joined #pypy
asmeurer_ has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
marky1991 has quit [Ping timeout: 256 seconds]
asmeurer has joined #pypy
proy has joined #pypy
asmeurer has quit [Quit: asmeurer]
amz3` has quit [Ping timeout: 260 seconds]
jaffachief has joined #pypy
user24 has quit [Remote host closed the connection]
tbodt has joined #pypy
dfee has quit [Ping timeout: 255 seconds]
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dfee has joined #pypy
marself has quit [Ping timeout: 276 seconds]
asmeurer has joined #pypy
antocuni has quit [Ping timeout: 248 seconds]
mattip has quit [Disconnected by services]
mattip has joined #pypy
mattip has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
mattip has joined #pypy
mattip_ has joined #pypy
mattip has left #pypy ["bye"]
marky1991 has joined #pypy
TheAdversary has quit [Read error: Connection reset by peer]
jaffachief has joined #pypy
exarkun has quit [Read error: Connection reset by peer]
TheAdversary has joined #pypy
exarkun has joined #pypy
asmeurer has quit [Quit: asmeurer]
jaffachief has quit [Quit: Textual IRC Client: www.textualapp.com]
jaffachief has joined #pypy
<cfbolz> alcarithemad: could you please add a unit test in interpreter/astcompiler/test somewhere? We don't exclusively rely on CPython tests
asmeurer has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Rhy0lite has quit [Quit: Leaving]
marself has joined #pypy
asmeurer has quit [Quit: asmeurer]
kipras`away is now known as kipras
proy has quit [Remote host closed the connection]
asmeurer has joined #pypy
<__pv> does https://bitbucket.org/pypy/pypy/pull-requests/610/use-implementation-specific-site/ need separate forward port for py3.6, or is there a py3.5->py3.6 merge planned?
tazle has quit [Ping timeout: 250 seconds]
tazle has joined #pypy
tbodt has joined #pypy
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
marself has quit [Ping timeout: 260 seconds]
<alcarithemad> cfbolz: sure, I'll add some to the existing annotations tests
<cfbolz> alcarithemad: great, thanks for doing this!
<cfbolz> __pv: there will be such a merge soon, yes
marr has quit [Ping timeout: 256 seconds]
marself has joined #pypy
marr has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jaffachief has joined #pypy
jaffachief has quit [Client Quit]
marself has quit [Ping timeout: 240 seconds]
tbodt has joined #pypy
speeder39 has quit [Quit: Connection closed for inactivity]
<cfbolz> __pv: done
<kenaan> cfbolz py3.6 f2eac1569fb6 /: merge py3.5
<kenaan> cfbolz py3.6 ff5d3e68d832 /pypy/interpreter/: merge
<__pv> great!
marky1991 has quit [Ping timeout: 256 seconds]
asmeurer has quit [Quit: asmeurer]
forgottenone has quit [Quit: Konversation terminated!]
<reaperhulk> is there a pypy sprint happening at pycon us?
<reaperhulk> I've had a few people ask me and I'd like to have a place to send them ;)
<ronan> reaperhulk: I don't think there is, none of the core devs are there
<reaperhulk> okay thanks ronan
<kenaan> cfbolz py3.5 e5f1a7f119f2 /pypy/interpreter/test/test_app_main.py: fix skips
<kenaan> cfbolz py3.6-wordcode 4b345ab7bd57 /pypy/interpreter/astcompiler/test/test_compiler.py: fix test_compiler
<kenaan> cfbolz py3.6-wordcode f0d5731c5251 /pypy/: fix code.dump()
<kenaan> cfbolz py3.5 5cf998ecbe9b /pypy/interpreter/astcompiler/test/test_validate.py: fix raises
jaffachief has joined #pypy
asmeurer_ has joined #pypy
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dfee has quit [Ping timeout: 248 seconds]
asmeurer_ has quit [Quit: asmeurer_]
<kenaan> rlamy default 7b8b1a6cec71 /pypy/interpreter/unicodehelper.py: Add utf_16 functions to unicodehandler.py
<kenaan> rlamy py3.5 2396fb397495 /pypy/interpreter/unicodehelper.py: hg merge default
<kenaan> rlamy py3.5 2c3be745bc08 /pypy/module/_codecs/interp_codecs.py: The py3k_ variants have been replaced by unicodehandler functions
<kenaan> rlamy py3.5 104fba53d2eb /pypy/interpreter/: merge heads
asmeurer has joined #pypy
asmeurer has quit [Quit: asmeurer]
asmeurer has joined #pypy
marself has joined #pypy
amz3` has joined #pypy
asmeurer has quit [Quit: asmeurer]
wleslie has joined #pypy
marself has quit [Ping timeout: 256 seconds]
marself has joined #pypy
antocuni has joined #pypy
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
exarkun has quit [Read error: Connection reset by peer]
wleslie has quit [Quit: ~~~ Crash in JIT!]
exarkun has joined #pypy
antocuni has quit [Ping timeout: 268 seconds]
marself has quit [Ping timeout: 240 seconds]
asmeurer has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
asmeurer has quit [Quit: asmeurer]
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
marr has quit [Ping timeout: 255 seconds]