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
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
oberstet has quit [Ping timeout: 256 seconds]
asmeurer has joined #pypy
asmeurer has quit [Client Quit]
oberstet has joined #pypy
illume has joined #pypy
amaury_ has joined #pypy
<illume>
I did a pre-release of pygame with binary wheels for windows pypy. Also pygame is building pypy on appveyor CI. The issues I encountered with pypy are documented in the https://github.com/pygame/pygame/issues/423 and I'll try to submit issues for each of them next week when I get home. As well as write up appveyor instructions for other projects to use.
oberstet has quit [Remote host closed the connection]
oberstet has joined #pypy
pf_moore has joined #pypy
asmeurer_ has joined #pypy
antocuni has joined #pypy
illume has joined #pypy
marr has joined #pypy
asmeurer_ has quit [Ping timeout: 240 seconds]
getxsick has joined #pypy
getxsick has quit [Ping timeout: 240 seconds]
inad922 has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<kenaan>
antocuni default 66208269e66e /pypy/module/cpyext/: Merge the first part of the cpyext-fast-typecheck branch. This branch introduce a way to implement Py*_Check ef...
<kenaan>
antocuni cpyext-fast-typecheck 31f70e250480 /: close branch to be merged
<kenaan>
antocuni default f902cda5d7ea /pypy/module/cpyext/: Merge the second part of the cpyext-fast-typecheck branch. Despite the name, this implements a very different fe...
<kenaan>
Raemi guard-value-limit c72f96e9c08b /rpython/jit/metainterp/: (arigo,remi) a branch to experiment with limiting the length of the chain of guard_values quick hack to ...
<mattip>
cfbolz: can you rubber-duck me through the JIT issue?
<mattip>
I see something I am confused about in pypy/module/_sre/interp_sre.py, line 312, where
<mattip>
"ctx = ctx.fresh_copy(start)", this is inside a loop with a JIT merge_point, where one of the kwargs is ctx
<mattip>
could reassigning the ctx confuse the JIT?
<cfbolz>
mattip: now, that should work fine (the ctx itself is a red variable, only the ctx.pattern is green)
<mattip>
got it, thanks
<cfbolz>
mattip: I am still very suspicious by the fact that some virtualizable is involved
<cfbolz>
the only virtualizable in pypy is the python frame
<cfbolz>
so either it's some interaction between rsre and the python interpreter, or something is going ratherwrong
<cfbolz>
or the commit is really unrelated
<mattip>
the issue existed in pypy3 before your commit AFAICT
<mattip>
just your commit made it reliably occur on pypy2
<cfbolz>
ok
<cfbolz>
mattip: one thing to try would be to rip out all the calls to jit_merge_point in rsre_core.py (then re is no longer jitted) and see whether the problem still occurs
<mattip>
could the problem be triggered in interp_sre with the sub_jitdriver ?
<cfbolz>
looking
<cfbolz>
mattip: yes, it's possible, it's definitely a place where the re engine and the python interpreter "touch"
<mattip>
I added a bunch of prints around the jitted loop in regx, it seems to crash in there
<mattip>
so I could disable that jit merge point and try again
<mattip>
s/regx/subx
<cfbolz>
ok
<cfbolz>
mattip: I see, subx is called in your example, so yes, it's not that unlikely
<mattip>
translating w/out cpyext, micronumpy is "only" 35 minutes
<mattip>
;/
<cfbolz>
cool
<cfbolz>
mattip: my gut feeling says that this is a deep JIT bug and in the past we got lucky
<mattip>
maybe we can whittle it down to something that can be converted into a test
inhahe has quit [Quit: brb]
inhahe has joined #pypy
lazka has quit [Ping timeout: 240 seconds]
asmeurer has joined #pypy
asmeurer has quit [Client Quit]
asmeurer__ has joined #pypy
<cfbolz>
mattip: none of this fully makes sense to me. I fear I have to really dig around in gdb a bit next week
asmeurer__ has quit [Quit: asmeurer__]
asmeurer has joined #pypy
altendky has quit [Quit: Connection closed for inactivity]
<cfbolz>
mattip: pffff, the code path that crashes is not actually covered by any test :-(
raynold has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
<mattip>
after disabling the jit driver in subx in interp_sre, the assert is no longer triggered by the test file in the issue
jamesaxl has joined #pypy
asmeurer has quit [Quit: asmeurer]
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
getxsick has joined #pypy
getxsick_ has joined #pypy
getxsick_ has quit [Client Quit]
<mjacob>
LarstiQ: actually i'm still there, but the others are already gone ;)
amaury__ has quit [Ping timeout: 264 seconds]
<cfbolz>
mattip: right
<cfbolz>
I am going to bed, will try to look more at it soon