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]
pf_moore has quit [Quit: Connection closed for inactivity]
lritter_ has joined #pypy
lritter has quit [Ping timeout: 264 seconds]
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…]
lritter_ has quit [Remote host closed the connection]
__main__ has quit [Remote host closed the connection]
illume has joined #pypy
forgottenone has joined #pypy
energizer has quit [Remote host closed the connection]
energizer has joined #pypy
energizer has quit [Remote host closed the connection]
mattip has joined #pypy
forgottenone has quit [Quit: Konversation terminated!]
energizer has joined #pypy
illume has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
energizer has quit [Quit: Leaving]
<arigato> mattip: good job!
<arigato> merging the cpyext-subclass-setattr
<mattip> :)
* arigato looks at #2788
<mattip> arigato: I wrote a test for 2788, and am probing. It seems to be there is a __set__ where there shouldn't be
<arigato> ah, I'm also writing a test
<arigato> right
<mattip> then I put XXX in pypy/interpreter/typedef.py, line 317
<arigato> no, CPython also has a __set__ but one that raises AttributeError instead of TypeError
<arigato> yes
<mattip> but according to interpreter/test/*.py, the raise() there is correctly a TypeError
<arigato> yes
<arigato> it's just one instance of http://pypy.readthedocs.io/en/latest/cpython_differences.html (search for TypeError)
<arigato> so, I was thinking about just moving the "raise space.w_TypeError" in its own method, and overwrite that method in cpyext's W_GetSetPropertyEx
<arigato> but now I'm finding other issues, like "del" never works
<mattip> ahh, that's much worse
illume has joined #pypy
<fijal> arigato: morning
<arigato> hi
illume has quit [Client Quit]
<fijal> arigato: see slack for a second
<mattip> arigato: so I will leave 2788 to you
<mattip> I am going through other issues seeing if any are release-critical
<arigato> mattip: ok, I'm mostly done
<arigato> thanks
inhahe_ has joined #pypy
inhahe__ has quit [Ping timeout: 260 seconds]
<kenaan> arigo default 1843dd2013b4 /pypy/: Test and fix for issue #2788. Also implements "del obj.getsetprop".
forgottenone has joined #pypy
utkarsh_ has quit [Ping timeout: 265 seconds]
lazka has joined #pypy
<lazka> when is 6.0 planned?
utkarsh has joined #pypy
<mattip> lazka: when it is ready, soonish
* mattip looking at issue 2752
<lazka> ok, I'm seeing some more failures compared to 5.10, /me starts a translation
<lazka> (if the nightly was portable, things would be easier..)
<mattip> lazka: thanks for testing
<mattip> that;s issue #2790, yes?
<mattip> so much left unstated - what OS (windows?) what locale, how may tabs are in the lines
<arigato> ah, yes, indeed
<kenaan> mattip issue2752 600bd2030f2f /pypy/module/cpyext/test/test_bufferobject.py: copy test from issue2752, fails with -A, passes with --jit off
<mattip> 2752 seems like a JIT regression introduced after 5.10, or exposed after 5.10
<mattip> it also seems to need to read from io, not be fed a byteobject
<arigato> so it doesn't show up with --jit off? might also be a bit random, because tweaking GC parameters change the result too
<mattip> ok, got it to fail without io
<kenaan> mattip issue2752 b6f2617d0c19 /pypy/module/cpyext/test/test_bufferobject.py: simplify test a bit, fails after exactly 1045 iterations
<mattip> the number 1045 makes the JIT suspect
marr has joined #pypy
<arigato> indeed
<kenaan> mattip issue2752 0c1b091fb92b /pypy/module/cpyext/test/test_bufferobject.py: simplify more
<mattip> ok, that seems pretty minimal
<mattip> arigato: how does one go about finding the real problem from here?
<arigato> for me it fails also with these lines removed:
<mattip> right, that was preparation for trying gc.collect every couple of iterations
<arigato> and also the "import" line
<arigato> right
<mattip> ok, cleaning
<arigato> the test passes if "block = getdata(bufsize)" is moved outside the loop
oberstet has joined #pypy
<arigato> I have a bit no clue what's going on
<arigato> maybe PyObject_GetBuffer() returns a pointer to the string data inside the string object, and the string object is moved afterwards
<arigato> but why "--jit off" makes a difference, I don't know
<arigato> maybe only because the jit suddenly fills the nursery at one point?
<mattip> ok, but what difference would it make if "block" is constant? (outside the loop)
<mattip> I would think that would make it more likely to move the string object
<kenaan> mattip issue2752 eb2ca00ab61a /pypy/module/cpyext/test/test_bufferobject.py: more simplification, crashes untranslated (at teardown?)
<mattip> getting closer, I smell a refcount problem
<mattip> nope, my bad. Cannot use pyyp for untranslated tests
<arigato> if the string is created outside the loop, it's likely old and doesn't move any more
<arigato> after a few iterations
<arigato> maybe the problem is simply that we have an unsafe bit of code ("# no GC operation here!")
<arigato> but inside a function that the JIT nowadays sees inside
<arigato> this is always wrong and can give us this kind of problems
<mattip> so the issue would only arise with GC between PyObject_GetBuffer and PyBuffer_Release
<arigato> I'd say instead that PyObject_GetBuffer() calls code that contains a "# no GC" bit of unsafe code, but that code is jitted anyway at some point,
<arigato> and thus the no-GC code does nonsense because a GC can occur anywhere when running in the JIT tracer
<arigato> anywhere = even between two operations that don't seem to have anything to do with the JIT
* arigato off again
<mattip> see ya
raynold has joined #pypy
<lazka> mattip, no new errors compared to 5.10, seems the things I saw were just side effects of the tuple resize
<lazka> ship it! ;)
<mattip> lazka: cool. Thanks. got a few more issues to iron out, 2752 seems to be a regression, and there may be more
<mattip> I am single-tasking today
dddddd has joined #pypy
<kenaan> cfbolz pyparser-improvements-2 0066fc716a62 /pypy/interpreter/pyparser/test/targetparse.py: make it possible to pass diferent files to the parsing target
<kenaan> cfbolz pyparser-improvements-2 7fb340b040e0 /pypy/interpreter/pyparser/pytokenizer.py: probably doesn't matter because code isn't indentend super deep, but don't copy the indentation li...
<kenaan> cfbolz pyparser-improvements-2 61275f7cf5ea /pypy/interpreter/pyparser/test/test_pytokenizer.py: add at least a very simple test for the tokenizer
<kenaan> cfbolz pyparser-improvements-2 8b6d076bb5b7 /pypy/interpreter/pyparser/test/test_pytokenizer.py: a test for parenthesis error msgs
<kenaan> cfbolz pyparser-improvements-2 7eaa7ec2554a /pypy/interpreter/pyparser/: track matching parenthesis for better errors
<kenaan> cfbolz pyparser-improvements-2 0682e48513a0 /pypy/interpreter/pyparser/: fix position of error
<kenaan> cfbolz pyparser-improvements-2 52f6bfe8f3cd /pypy/interpreter/pyparser/: fix more offsets
<kenaan> cfbolz pyparser-improvements-2 692d3ce9de27 /pypy/interpreter/pyparser/: tweak error message and position
<kenaan> cfbolz pyparser-improvements-2 2a295eea4b53 /pypy/interpreter/pyparser/: expand these abbreviations
jacob22__ has quit [Quit: Konversation terminated!]
nimaje has quit [Ping timeout: 255 seconds]
nimaje has joined #pypy
nimaje has quit [Excess Flood]
mcyprian has joined #pypy
nimaje has joined #pypy
mcyprian has quit [Quit: Leaving.]
marr has quit [Ping timeout: 265 seconds]
Knio has quit [Ping timeout: 255 seconds]
Knio has joined #pypy
<mattip> the good news - it's not a regression, the bad - it seems to always have been there, at least back to when we first started supporting the buffer interface in cpyext
<mattip> if I call PyObject_GetBuffer() again, after the failure, it once again gets a buffer that does *not* contain the correct data
<mattip> which means it is not that the object simple moved out of the nursery
<mattip> s/simple/simply/
raynold has quit [Quit: Connection closed for inactivity]
<kenaan> cfbolz pyparser-improvements-2 3405c95f9e61 /pypy/interpreter/pyparser/: fix SyntaxError offsets (so far, the errors that came from the parser had an off-by-one error, whi...
tbodt has joined #pypy
<mattip> rffi.get_raw_address_of_string() tries to ensure that rgc.can_move(string) is False, but something is moving it anyway?
jacob22__ has joined #pypy
jacob22__ is now known as jacob22
<mattip> taking another tack - the call to PyBuffer_Release does nothing since StringType->tp_as_buffer->bf_releasebuffer is NULL
agronholm_ is now known as agronholm
<mattip> yeah, that too seems ok
<kenaan> rlamy py3.5 ab173e2698f9 /pypy/module/_io/interp_textio.py: Refactor W_TextIOWrapper.read_w and .readline_w to ensure that the expensive calls to ._check_closed() get jitted (is...
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6672 [Ronan: force build, py3.5]
mattip has left #pypy ["bye"]
danieljabailey has joined #pypy
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6672 [Ronan: force build, py3.5]
Guest40 has joined #pypy
Guest40 has quit [Remote host closed the connection]
solocarrie has joined #pypy
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5395 [Carl Friedrich Bolz-Tereick: force build, pyparser-improvements-2]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6673 [Carl Friedrich Bolz-Tereick: force build, pyparser-improvements-2]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3954 [Carl Friedrich Bolz-Tereick: force build, pyparser-improvements-2]
<solocarrie> ls
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/6673 [Carl Friedrich Bolz-Tereick: force build, pyparser-improvements-2]
raynold has joined #pypy
lazka has quit [Quit: Leaving]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-app-level-linux-x86-64/builds/3954 [Carl Friedrich Bolz-Tereick: force build, pyparser-improvements-2]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-linux-x86-64/builds/5395 [Carl Friedrich Bolz-Tereick: force build, pyparser-improvements-2]
marr has joined #pypy
Taggnostr has quit [Read error: Connection reset by peer]
Taggnostr has joined #pypy
lritter has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jamesaxl has quit [Quit: WeeChat 2.1]
tbodt has joined #pypy
danieljabailey has quit [Quit: ZNC 1.6.5+deb2build2 - http://znc.in]
danieljabailey has joined #pypy