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: 240 seconds]
getxsick has joined #pypy
getxsick has quit [Ping timeout: 260 seconds]
drolando has quit [Remote host closed the connection]
drolando has joined #pypy
altendky has quit [Quit: Connection closed for inactivity]
dddddd has quit [Read error: Connection reset by peer]
altendky has joined #pypy
getxsick has joined #pypy
getxsick has quit [Ping timeout: 276 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
asmeurer has quit [Quit: asmeurer]
jiffe has quit [Ping timeout: 264 seconds]
jiffe has joined #pypy
asmeurer__ has joined #pypy
getxsick has joined #pypy
getxsick has quit [Ping timeout: 276 seconds]
amaury_ has joined #pypy
amaury has quit [Ping timeout: 240 seconds]
jamesaxl has joined #pypy
altendky has quit [Quit: Connection closed for inactivity]
jacob22__ has joined #pypy
jacob22 has quit [Ping timeout: 268 seconds]
glyph has quit [Remote host closed the connection]
glyph has joined #pypy
raynold has quit [Quit: Connection closed for inactivity]
getxsick has joined #pypy
getxsick has quit [Ping timeout: 240 seconds]
inhahe__ has joined #pypy
inhahe_ has quit [Ping timeout: 240 seconds]
commandoline has quit [Read error: Connection reset by peer]
energizer has quit [Quit: Leaving]
commandoline has joined #pypy
tayfun26 has joined #pypy
Remi_M has joined #pypy
energizer has joined #pypy
<kenaan> Raemi stmgc[evaluation] 3a80cd885fe0 /: branch to evaluate configurations
<kenaan> Raemi stmgc[evaluation] ce8f8880e0e2 /: merge c8-efficient-serial-execution-master
stduolc has joined #pypy
<mattip> the JIT issue 2775 seems pretty serious. Any chance of getting some attention on it this week?
<mattip> it may require more than one set of eyes, the code that is crashing is pretty old (pyjitpl.py, around the _nonstandard_virtualizable call)
<mattip> we could for now just disable the sub_jitdriver.jit_merge_point in module/_sre/interp_sre.py, but that seems like a hack
<mattip> it seems to be something about using an attribute in the greens, the only ones who do that are the various sre jit drivers, where they use "ctx.pattern"
amaury_ has quit [Ping timeout: 256 seconds]
<cfbolz> mattip: I plan to work on it, yes
asmeurer__ has quit [Quit: asmeurer__]
<cfbolz> mattip: it seems the interaction of two jitdrivers, one with greenfields, one with a virtualizable, was never completely thought through
<arigato> note also issue 2777
stduolc has quit [Ping timeout: 240 seconds]
stduolc has joined #pypy
tayfun26 has quit [Quit: tayfun26]
dddddd has joined #pypy
<cfbolz> right
<cfbolz> arigato: I assume you probably don't remember any of the details of the greenfield work (from 2012) either, do you?
getxsick has joined #pypy
getxsick has quit [Ping timeout: 240 seconds]
<cfbolz> arigato: eg, why is the greenfield box stored in metainterp.virtualizable_boxes?
mcyprian has joined #pypy
<mattip> heh, exchanging `pattern` for `ctx.pattern` in the greens avoids the problem https://paste.pound-python.org/show/JiNXkEEJHJJmVx3WFczH
<mattip> (at least for this test script)
<cfbolz> yes
<cfbolz> I think I am getting a clue why the problem happens
tayfun26 has joined #pypy
<cfbolz> but I don't understand why things were designed that way in the firs place
<cfbolz> also, the tests for greenfields are quite minimal
<arigato> sorry, right afer a sprint is not the best time to ask hard questions
<arigato> still trying to figure out the effects of https://paste.pound-python.org/show/JiNXkEEJHJJmVx3WFczH/
antocuni has joined #pypy
<arigato> I think we should compare the jit output with the two variants (done systematically inside all jitdrivers of rsre_core, too)
<cfbolz> arigato: sorry, sorry
<arigato> I suspect there is an extra getfield and guard_value to get the 'pattern', but I'm not sure these wouldn't be removed anyway
<arigato> and anyway one getfield and one passing guard_value are probably an OK price to pay for removing this insane greenfields
<cfbolz> Sounds like a plan. I can do that
<cfbolz> I think Green Fields could also be implemented in a less weird way but I agree that I'm not sure it's worth it
<arigato> I'm not quite sure that it works because pattern is declared _immutable_fields_=['pattern[*]']
<cfbolz> Ah
<arigato> maybe it needs to be sanitized too, as in set 'ctx.pattern' to a small object which itself has an immutable array of integers
<cfbolz> That would be easy yes
<cfbolz> If we want to fix the green fields we would have to make them stop using virtualizables infrastructure
<arigato> ah, but wait
<arigato> I fear that all 'ctx.pattern' after the jit_merge_point will not get a ConstPtr value
<cfbolz> So we would have to hide the pattern into an accessor and put a promote there
<arigato> or refactor the code so that we don't store 'pattern' on 'ctx' at all, just pass it around
<arigato> but yes, the accessor with promote would work too
<cfbolz> Right
<cfbolz> But you would be in table of the moving greenfield.
<cfbolz> ?
<cfbolz> Sorsy
<cfbolz> You would be in favor of removing greenfields?
<arigato> (there is mostly only the pat(index) method that reads self.pattern[index])
<arigato> yes
<cfbolz> OK. I can take care of all this
<arigato> thanks!
<cfbolz> :-)
<arigato> I'd recommend to first kill a few 'ctx.pattern' greenfields in rsre_core and add a promote, and check that the JIT code still looks good
<arigato> there is even rsre/test/test_jit.py I think
<cfbolz> Great
<arigato> test_zjit.py
<cfbolz> mattip: this will probably take me a few days if you want to commit your mitigation patch that would be fine with me
<arigato> (that's the main source of tests for greenfields, indirectly)
<cfbolz> Yes, I see
<cfbolz> arigato: I think there is a reason why removing the green field in interp_sre.py is enough to hide the bug. Only that file can lead to python -> sre -> python inlining
<arigato> that sounds reasonable
inad922 has joined #pypy
solarjoe4 has quit [Quit: Leaving]
amaury_ has joined #pypy
energizer has quit [Ping timeout: 246 seconds]
oberstet has quit [Ping timeout: 240 seconds]
marr has joined #pypy
oberstet has joined #pypy
inad922 has quit [Ping timeout: 248 seconds]
Taggnostr2 has quit [Remote host closed the connection]
Taggnostr has joined #pypy
<kenaan> mattip default d721da4573ad /pypy/module/_sre/interp_sre.py: workaround for issue 2225
inad922 has joined #pypy
<cfbolz> mattip: that probably doesn't fix the other issue, does it?
<mattip> 2777? I doubt it (that is a match, not a sub), but will check
<mattip> cfbolz: indeed the issue still exists. I started looking around at perhaps refactoring rpython/rlib/rsre/*.py to do the same trick,
<mattip> is it worthwhile to simply avoid the issue? I would be happier if then we disallowed that field lookup in greens until we fix it
LooCfur has quit [Read error: Connection reset by peer]
pf_moore has joined #pypy
stduolc has left #pypy ["WeeChat 1.4"]
stduolc has joined #pypy
dddddd has quit [Read error: Connection reset by peer]
getxsick has joined #pypy
<arigato> I'd leave it to cfbolz, it's probably not worth creating many conflicts
antocuni has quit [Ping timeout: 240 seconds]
getxsick has quit [Ping timeout: 240 seconds]
inad922 has quit [Ping timeout: 276 seconds]
amaury_ has quit [Quit: Konversation terminated!]
amaury_ has joined #pypy
inad922 has joined #pypy
amaury__ has joined #pypy
amaury_ has quit [Ping timeout: 246 seconds]
mattip has quit [Ping timeout: 240 seconds]
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje is now known as Guest87861
inhahe_ has joined #pypy
inhahe has quit [Ping timeout: 240 seconds]
inhahe__ has quit [Ping timeout: 268 seconds]
inhahe__ has joined #pypy
d0x0b has joined #pypy
d0x0b has left #pypy [#pypy]
mcyprian has quit [Ping timeout: 264 seconds]
getxsick has joined #pypy
inhahe has joined #pypy
inhahe_ has quit [Ping timeout: 240 seconds]
stduolc has quit [Quit: Connection closed for inactivity]
antocuni has joined #pypy
mattip_ has joined #pypy
Rhy0lite has joined #pypy
mattip_ has quit [Ping timeout: 264 seconds]
lritter has joined #pypy
tayfun26 has quit [Remote host closed the connection]
mattip has joined #pypy
mattip_ has joined #pypy
mattip has quit [Ping timeout: 240 seconds]
inad922 has quit [Ping timeout: 276 seconds]
dddddd has joined #pypy
altendky has joined #pypy
inad922 has joined #pypy
inad922 has quit [Read error: Connection reset by peer]
antocuni has quit [Ping timeout: 256 seconds]
getxsick has quit [Read error: Connection reset by peer]
getxsick has joined #pypy
marky1991 has joined #pypy
marr has quit [Ping timeout: 246 seconds]
<cfbolz> waaaat
marky1991 has quit [Ping timeout: 256 seconds]
<fijal> cfbolz: yes?
<cfbolz> it looks like this bug is really a problem in the blackhole interp: https://bitbucket.org/pypy/pypy/issues/2777/re-incorrect-behaviour-for-long-patterns
<kenaan> cfbolz fix-sre-problems c93d31a2fabd /: stop using greenfields in sre, instead pass the pattern around
<kenaan> cfbolz fix-sre-problems c553f2e29955 /: the context doesn't need the pattern any more
<cfbolz> or rather in the switching from tracing to blackhole
<cfbolz> aaaaaaaaaaaah
<cfbolz> fijal: it's a SwitchToBlackhole coming from frontend_tag_overflow() in opencoder.py
<fijal> pffffff
<fijal> cfbolz: so my fault, to some extent?
<cfbolz> yes :-)
<fijal> sorry ;-)
<cfbolz> np
<cfbolz> it's amusing
<cfbolz> so yayayayay, we have two different deep JIT bugs, both found with re in the same month!
<fijal> our JIT is too complex
<cfbolz> yes, but well
<cfbolz> the alternatives are worse
<Alex_Gaynor> fijal: our JIT is also the least complex one in it's performance class probably
<Alex_Gaynor> At work they are currently working on making strings be allocated in the nursery, instead of always the old generation, and I'm not jealous of the mess.
<fijal> Alex_Gaynor: ugh
marky1991 has joined #pypy
<simpson> Alex_Gaynor: I agree, RPython's the least-complex JIT that I've seen the guts of and that also does what it does.
<gsnedders> +1
<fijal> that's a scary thought
<fijal> we have also one of the smallest budgets
<Alex_Gaynor> smallest budget might be a feature, we can't afford to do 10001 things manually, we have to come up with clever solutions
<simpson> Huh, maybe Conway's Law applies and smaller budgets mean tighter code? As long as you can write tight code, I guess.
<fijal> simpson: have you met armin? ;-)
<gsnedders> Do any of you guys know how Graal compares, actually?
<simpson> gsnedders: I like their design. Their API being Java means that it's horribly verbose, but the internals are probably very clean-looking in a UML viewer. My main concern is that SubstrateVM isn't open and Oracle isn't known for playing nice with anybody.
<simpson> Also I'm not sure I like deopt in a partial-evaluation context. It's complex.
<gsnedders> simpson: SubstrateVM has been GPLv2 for a few months now, FWIW
<gsnedders> I wonder if Graal's complexity is getting worse since they got more budget :)
marr has joined #pypy
<cfbolz> gsnedders: they can do a ton of nice things we can't afford, definitely
<simpson> gsnedders: Huh. Hmmm. I am suspicious; Oracle releasing code under GPL does not necessarily mean that Oracle will not litigate in the future. But this is still promising and I didn't know about it, thanks.
<cfbolz> but their python implementation is still early days, so unclear how they will compare
glyph has quit [Excess Flood]
glyph has joined #pypy
marky1991 has quit [Ping timeout: 264 seconds]
getxsick has quit [Ping timeout: 265 seconds]
marky1991 has joined #pypy
CountryNerd has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
raynold has joined #pypy
antocuni has joined #pypy
<kenaan> cfbolz fix-sre-problems b3264f1f3592 /rpython/: fix issue 2777: before this commit, the following problem could occur: when the tags of the opencoder ov...
mcyprian has joined #pypy
oberstet has quit [Ping timeout: 264 seconds]
mcyprian has quit [Ping timeout: 256 seconds]
<cfbolz> fijal: if you feel like taking a look, I'd be grateful
tbodt has joined #pypy
<fijal> cfbolz: yeah I can
<fijal> not sure how well would I swap things in :)
<cfbolz> :-)
<cfbolz> I'll run tests. I am fairly sure the commit or something like it is a good idea
<kenaan> cfbolz fix-sre-problems fc18cb1d88b2 /rpython/: disable support for greenfields
<cfbolz> just wondering whether there is a design consideration I missed
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5359 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6637 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/2952 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4527 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3947 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5359 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3947 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
energizer has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/2952 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4527 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<cfbolz> yay! we have more green fields :-(
<antocuni> what are green fields, again? :)
<cfbolz> antocuni: you can write greens=['someredvar.someattr']
<cfbolz> and that produces a tiny bit better code
<cfbolz> but it's buggy
<antocuni> ah, I kind of remember now; thanks
oberstet has joined #pypy
mcyprian has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6637 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
getxsick has joined #pypy
getxsick has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
marky1991 has quit [Ping timeout: 268 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
tbodt has quit [Ping timeout: 248 seconds]
<kenaan> cfbolz fix-sre-problems 2e575fee8b75 /pypy/module/_cffi_backend/ccallback.py: remove another green field
amaury__ has quit [Quit: Konversation terminated!]
<dash> Alex_Gaynor: Ever since OSAF/Chandler I've wondered if large budgets lead to worse software
tbodt has joined #pypy
inad922 has joined #pypy
tbodt has quit [Ping timeout: 268 seconds]
energizer has quit [Remote host closed the connection]
antocuni has quit [Ping timeout: 260 seconds]
marky1991 has joined #pypy
Taggnostr has quit [Remote host closed the connection]
energizer has joined #pypy
Taggnostr has joined #pypy
inad922 has quit [Ping timeout: 276 seconds]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
mattip_ is now known as mattip
jredondo has joined #pypy
<mjacob> arigato: awake? :)
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5360 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6638 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5761 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/2953 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4528 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3948 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Failure: http://buildbot.pypy.org/builders/own-linux-x86-32/builds/5761 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
getxsick has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jredondo_ has joined #pypy
jredondo has quit [Ping timeout: 264 seconds]
getxsick has quit [Ping timeout: 264 seconds]
tbodt has joined #pypy
antocuni has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drolando has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
jredondo has joined #pypy
jredondo_ has quit [Ping timeout: 264 seconds]
jredondo_ has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6638 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
jredondo has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
lritter has quit [Quit: Leaving]
jredondo__ has joined #pypy
jredondo_ has quit [Ping timeout: 264 seconds]
mcyprian has left #pypy [#pypy]
jredondo__ has quit [Ping timeout: 240 seconds]
jamesaxl has quit [Read error: Connection reset by peer]
amaury__ has joined #pypy
jamesaxl has joined #pypy
<mjacob> arigato: in any case, i'm going to la calabre now, see you there if you wish :)
CountryNerd has quit [Quit: CountryNerd]
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3948 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-32/builds/2953 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
marky1991 has quit [Ping timeout: 264 seconds]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
getxsick has joined #pypy
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5360 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
<cfbolz> mattip: ok, the branch fixes both bugs. if Armin takes a look at it, it's probably mergable very soon
<mattip> thank, quick work
<cfbolz> got some unexpected free time today
<cfbolz> mattip: thanks for poking, they were indeed quite serious bugs
<cfbolz> (the second one is completely independent of sre, and could have led to misbehaviour at any point)
Rhy0lite has quit [Quit: Leaving]
<bbot2_> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-32/builds/4528 [Carl Friedrich Bolz-Tereick: force build, fix-sre-problems]
marky1991 has joined #pypy
amaury__ is now known as amaury
marky1991 has quit [Remote host closed the connection]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
getxsick has quit [Read error: Connection reset by peer]
getxsick has joined #pypy
tbodt has joined #pypy
asmeurer_ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
antocuni has quit [Ping timeout: 276 seconds]
krono has joined #pypy
tbodt has quit [Client Quit]
jacob22__ is now known as jacob22
tbodt has joined #pypy
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
<kenaan> mattip default bb10e77aa623 /pypy/module/cpyext/: minimize diff from py3
<kenaan> mattip py3.5 96851b8e1c6a /: merge default into py3.5
<kenaan> mattip py3.5 fcce464367d8 /pypy/module/cpyext/: fix merge, minimize diff to default
<kenaan> mattip py3.5 c9ce25047019 /pypy/module/cpyext/: fix test, implement userslot for __call__ needed for python-defined class
asmeurer_ has quit [Quit: asmeurer_]
<kenaan> mattip unicode-utf8 c564ff0e3d7d /: merge default into branch
<bbot2_> Started: http://buildbot.pypy.org/builders/own-win-x86-32/builds/1731 [mattip: force build, unicode-utf8]
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/3802 [mattip: force build, unicode-utf8]
marr has quit [Ping timeout: 276 seconds]
<bbot2_> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6640 [mattip: force build, unicode-utf8]
mattbill1nstein has quit [Quit: leaving]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jredondo__ has joined #pypy
tbodt has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jredondo__ has quit [Ping timeout: 240 seconds]
<bbot2_> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6640 [mattip: force build, unicode-utf8]
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drolando has joined #pypy
drolando has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
drolando has joined #pypy
asmeurer has joined #pypy
<bbot2_> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5362 [mattip: force build, unicode-utf8]