yuyichao has quit [Ping timeout: 240 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: 260 seconds]
rmesta has quit [Quit: Leaving.]
marr has quit [Ping timeout: 240 seconds]
yuyichao has joined #pypy
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
Taggnostr has joined #pypy
tav has quit [Quit: tav]
tav has joined #pypy
asmeurer has joined #pypy
Ubuntu-BR has quit [Read error: Connection reset by peer]
Ubuntu-BR has joined #pypy
marvin_ has quit [Ping timeout: 240 seconds]
Taggnostr has quit [Read error: Connection reset by peer]
Taggnostr has joined #pypy
marvin_ has joined #pypy
kipras is now known as kipras`away
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
Taggnostr has joined #pypy
antocuni has quit [Ping timeout: 252 seconds]
tbodt has joined #pypy
jcea has quit [Quit: jcea]
tilgovi has joined #pypy
marvin_ has quit [Ping timeout: 246 seconds]
tilgovi has quit [Ping timeout: 240 seconds]
marvin_ has joined #pypy
lritter_ has joined #pypy
lritter has quit [Ping timeout: 246 seconds]
Ubuntu-BR has quit [Quit: Konversation terminated!]
ArneBab has joined #pypy
marvin_ has quit [Ping timeout: 260 seconds]
ArneBab_ has quit [Ping timeout: 260 seconds]
pilne has quit [Quit: Quitting!]
marvin_ has joined #pypy
_whitelogger has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
marvin_ has quit [Ping timeout: 240 seconds]
Taggnostr has quit [Remote host closed the connection]
Taggnostr has joined #pypy
marvin_ has joined #pypy
asmeurer has quit [Quit: asmeurer]
asmeurer_ has joined #pypy
forgottenone has joined #pypy
Taggnostr has quit [Ping timeout: 240 seconds]
Taggnostr has joined #pypy
Taggnostr has quit [Remote host closed the connection]
asmeurer_ has quit [Quit: asmeurer_]
Taggnostr has joined #pypy
asmeurer_ has joined #pypy
jamadden has quit [Quit: Leaving.]
asmeurer_ has quit [Quit: asmeurer_]
asmeurer has joined #pypy
forgottenone has quit [Ping timeout: 240 seconds]
yuyichao_ has joined #pypy
yuyichao has quit [Remote host closed the connection]
asmeurer has quit [Quit: asmeurer]
arigato has joined #pypy
ssbr has joined #pypy
mattip has joined #pypy
realitix has joined #pypy
jamadden has joined #pypy
jamadden has quit [Client Quit]
<arigato> snow, snow! again
<LarstiQ> arigato: been doing that here too last couple of days
<LarstiQ> and hail
* arigato plays with "cefpython"
<arigato> it's a nicely-documented wrapper around "cef3" to render html pages with the chromium engine
tifo has joined #pypy
tazle__ has quit [Quit: leaving]
tazle has joined #pypy
tifo has quit [Ping timeout: 245 seconds]
<mattip> heh, spent a while trying to work out why "a = np.empty([100000
<mattip> "a = np.empty([100000]); a.fill(0)" leaks memory but "a = np.empty([100000])" does not,
<arigato> mattip: btw did you see my comments yesterday about PyList_SetItem()?
<arigato> and hi :-)
<mattip> it turns out we never call tp_dealloc() on a, but alloc() is smart enough to not actually allocate
<mattip> hi
<mattip> yes, I responded "for the logs"
<arigato> ah :-)
<mattip> there are subsequent commits that bring us into cpython compatibility
<mattip> unless I made a mistake, but I added a single test
<mattip> maybe more are needed
<arigato> note that I maintain that it used to work like CPython, and no longer does, notably PyList_SET_ITEM
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
<mattip> even after 8a55a93fe3df ?
<arigato> and PyLIst_SetItem too actually, I think
<arigato> yes
<mattip> well, at least for PyList_SET_ITEM there is a test, maybe the test is wrong?
<arigato> does it pass on CPython?
<mattip> yes
Taggnostr has joined #pypy
<mattip> I started with -A and then made our implementation match
<arigato> ah
<arigato> why are you calling PyLong_FromLong(0)?
<arigato> in py3 this returns a cached object
<arigato> the goal of the test is to avoid that
oberstet3 has quit [Ping timeout: 255 seconds]
<mattip> ok, I will create some random PyStringObject instead
<arigato> again, I'm not sure, but I *think* the test is not exposing the problem because it calls PyList_SET_ITEM to replace o2 with o2 itself
<arigato> mattip: what is wrong with PyList_New(0)?
<mattip> ok
tifo has joined #pypy
<mattip> I can add a third object and check that the refcount leaks/doesn;t leak like in cpython
<arigato> overall, I'm skeptical that everything is right because you killed a Py_DECREF inside PyList_SET_ITEM, but the old test used to pass---does it still pass?
<arigato> maybe it does
<mattip> see listobject.c in cpython, we now have AFAICT exactly the same logic
<arigato> no
<mattip> cpython 2.7, I did not check 3.5
<arigato> w_list.setitem() does internally an incref, I believe
<mattip> no, then the test would fail
<arigato> no, it does
<arigato> it has to, otherwise the rest of the code would fail
<arigato> see make_ref() inside sequence.py:setitem
<arigato> but it also does a decref() on the old item
<arigato> that's why it passes the test, which replaces o2 with o2
<arigato> the proper fix is probably to use the cpy_strategy, in order to directly replace the raw item
<arigato> you copy-pasted the use of cpy_strategy from PyList_GetItem(), but I think it has no effect here
<mattip> right
<arigato> inside PyList_GetItem(), the reason it works is (probably too) subtle
<arigato> I would rewrite both PyList_GetItem() and the SetItem()/SET_ITEM() to use cpy_strategy more directly and store/load a pyobj, never converting it to w_res or w_item
<mattip> ok
<mattip> and more tests, with different objects
<arigato> yes :-)
<arigato> ...yes, GetItem() is slightly strange as written now: it calls sequence.py:getitem(), which takes the PyObject from storage._elems, calls from_ref(), and return that, which is then turned back to a PyObject
<arigato> it's my fault I guess
<arigato> these GetItem/SetItem functions should not call w_list.{get,set}item()
<mattip> I imagine if we poke at most any part of cpyext we will find pain points
<mattip> on another topic, would you expect
<mattip> pypy -c "import numpy; a=numpy.empty(100000)"
<mattip> to ever call free() for the data memory? it never does
<arigato> no, that's right, because pypy terminates
<arigato> if you add "del a; gc.collect()" it should
oberstet3 has joined #pypy
<mattip> ahh, so I instrumented pytest in the wrong way to check which pandas tests leak memory, thanks
<mattip> i need to trigger collections after each test, and only then measure memory, which
<mattip> will not be accurate if there is no major collection
<arigato> gc.collect() forces a major collection to start and finish
<mattip> ok
jamadden has joined #pypy
<mattip> yup, that solved it, now my pytest plugin is more successful
jamadden has quit [Client Quit]
<mattip> now to run the ~30 minute pandas suite
<arigato> yay
<mattip> in general, it should not be a problem since sometime during a long running pytest suite a gc collect will run
<mattip> but if we are looking for leaks, I want to run a collection after each test, and report RSS memory before and after
<mattip> (Res or Virt, I guess Virt is better)
forgottenone has joined #pypy
oberstet3 is now known as oberstet
<mattip> here is the plugin I am using
<mattip> with the addition of a gc.collect
marr has joined #pypy
kenaan has quit [Read error: No route to host]
inhahe_ has quit [Read error: Connection reset by peer]
inhahe_ has joined #pypy
cstratak has joined #pypy
<mattip> kenaan: please come back :)
asmeurer_ has joined #pypy
asmeurer_ has quit [Client Quit]
jamadden has joined #pypy
jamadden has quit [Client Quit]
jamadden has joined #pypy
jamadden has quit [Client Quit]
glyph has quit [Quit: End of line.]
glyph_ has joined #pypy
tifo has quit [Ping timeout: 252 seconds]
antocuni has joined #pypy
arigato has quit [Quit: Leaving]
haypo has joined #pypy
antocuni has quit [Ping timeout: 240 seconds]
jacob22 has quit [Quit: Konversation terminated!]
forgottenone has quit [Quit: Konversation terminated!]
forgottenone has joined #pypy
Tiberium has joined #pypy
jcea has joined #pypy
yuyichao has joined #pypy
yuyichao_ has quit [Ping timeout: 255 seconds]
realitix has quit [Ping timeout: 240 seconds]
antocuni has joined #pypy
jacob22_ has joined #pypy
kenaan has joined #pypy
<kenaan> mattip cpyext-obj-stealing 2bf4323abb8e /pypy/module/cpyext/test/test_listobject.py: rework test as per irc discussion, passes with -A and untranslated
<kenaan> mattip cpyext-obj-stealing e156ec5e5e89 /pypy/module/cpyext/test/test_listobject.py: PyList_SetItem passes -A, fails untranslated
<kenaan> mattip cpyext-obj-stealing ae8d9aacb75e /pypy/module/cpyext/test/test_listobject.py: test shows that w_list.getitem returns a new PyObject with wrong refcount
<mattip> well, that is not good, AFAICT this test would fail on default as well
<mattip> bye
mattip has left #pypy ["bye"]
marky1991 has quit [Quit: Saliendo]
lritter_ has quit [Ping timeout: 246 seconds]
marky1991 has joined #pypy
<LarstiQ> mattip: (for logs) bye!
yuyichao has quit [Ping timeout: 260 seconds]
realitix has joined #pypy
yuyichao has joined #pypy
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
Taggnostr has joined #pypy
Rhy0lite has joined #pypy
arigato has joined #pypy
oberstet2 has joined #pypy
oberstet has quit [Ping timeout: 240 seconds]
DragonSA has joined #pypy
DragonSA has joined #pypy
DragonSA has quit [Changing host]
tifo has joined #pypy
cwillu_at_work has quit [Read error: Connection reset by peer]
DragonSA has quit [Ping timeout: 268 seconds]
Taggnostr has quit [Remote host closed the connection]
cwillu_at_work has joined #pypy
Taggnostr has joined #pypy
Taggnostr has quit [Remote host closed the connection]
Taggnostr has joined #pypy
asmeurer_ has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
asmeurer_ has joined #pypy
realitix has quit [Ping timeout: 240 seconds]
commandoline has quit [Ping timeout: 252 seconds]
asmeurer_ has quit [Ping timeout: 252 seconds]
commandoline has joined #pypy
realitix has joined #pypy
ramonvg has joined #pypy
oberstet2 has quit [Ping timeout: 260 seconds]
tbodt has joined #pypy
ntruessel has joined #pypy
haypo has left #pypy [#pypy]
tbodt has quit [Client Quit]
realitix has quit [Ping timeout: 252 seconds]
ntruessel has quit [Ping timeout: 260 seconds]
asmeurer has joined #pypy
ntruessel has joined #pypy
Taggnostr has quit [Ping timeout: 260 seconds]
Taggnostr has joined #pypy
asmeurer has quit [Ping timeout: 260 seconds]
ntruessel has quit []
asmeurer has joined #pypy
glyph_ is now known as glyph
jcea has quit [Quit: jcea]
oberstet2 has joined #pypy
asmeurer has quit [Ping timeout: 240 seconds]
Tiberium has quit [Read error: Connection reset by peer]
Tiberium has joined #pypy
tbodt has joined #pypy
tbodt has quit [Read error: Connection reset by peer]
Tiberium has quit [Remote host closed the connection]
Tiberium has joined #pypy
asmeurer_ has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
tbodt has joined #pypy
tifo has quit [Ping timeout: 258 seconds]
<kenaan> rlamy PyBuffer c03bad787f66 /pypy/module/_socket/test/test_sock_app.py: fix test
jamesaxl has quit [Read error: Connection reset by peer]
jamesaxl has joined #pypy
arigato has quit [Quit: Leaving]
jacob22_ has quit [Quit: Konversation terminated!]
Guest92804 has quit [Changing host]
Guest92804 has joined #pypy
Guest92804 is now known as kenny
Tiberium has quit [Remote host closed the connection]
antocuni has quit [Ping timeout: 240 seconds]
cstratak has quit [Ping timeout: 260 seconds]
pilne has joined #pypy
jacob22_ has joined #pypy
ronan has quit [Ping timeout: 252 seconds]
tbodt has quit [Read error: Connection reset by peer]
tbodt has joined #pypy
ramonvg has quit [Remote host closed the connection]
arigato has joined #pypy
ronan has joined #pypy
__main__ has quit [Ping timeout: 260 seconds]
__main__ has joined #pypy
Tiberium has joined #pypy
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
<kenaan> rlamy PyBuffer 65cc783b56e6 /pypy/module/array/: 'fix' test by documenting a difference with CPython
Taggnostr has joined #pypy
Rhy0lite has quit [Quit: Leaving]
asmeurer_ has joined #pypy
<Cheery> arigato: I found out something that'd appear very crazy crazy useful for what I'm about to do.
ceridwen has quit [Read error: Connection reset by peer]
Taggnostr has quit [Ping timeout: 240 seconds]
Taggnostr has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
asmeurer_ has joined #pypy
Taggnostr has quit [Remote host closed the connection]
Taggnostr has joined #pypy
Tiberium has quit [Remote host closed the connection]
asmeurer_ has quit [Quit: asmeurer_]
<arigato> Cheery: hi! sorry, a bit no clue...
antocuni has joined #pypy
nimaje1 has joined #pypy
nimaje1 is now known as nimaje
nimaje has quit [Killed (kornbluth.freenode.net (Nickname regained by services))]
jamesaxl has quit [Quit: WeeChat 1.7]
arigato has quit [Quit: Leaving]
jacob22 has joined #pypy
jacob22_ has quit [Ping timeout: 252 seconds]
ceridwen has joined #pypy
ceridwen has quit [Quit: Ex-Chat]
ceridwen has joined #pypy
ceridwen has joined #pypy
ceridwen has quit [Changing host]
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
Taggnostr has joined #pypy
asmeurer_ has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
Taggnostr has quit [Ping timeout: 240 seconds]
jacob22 has quit [Ping timeout: 260 seconds]
Taggnostr has joined #pypy
asmeurer_ has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
Taggnostr has quit [Quit: No Ping reply in 180 seconds.]
antocuni has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
Taggnostr has joined #pypy
asmeurer_ has quit [Quit: asmeurer_]
forgottenone has quit [Ping timeout: 240 seconds]
jacob22 has joined #pypy
asmeurer_ has joined #pypy
jcea has joined #pypy