cfbolz changed the topic of #pypy to: #pypy PyPy, the flexible snake https://pypy.org | IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end and https://libera.irclog.whitequark.org/pypy | Matti: I made a bit of progress, the tests now only segfault towards the end
jcea has quit [Remote host closed the connection]
jcea has joined #pypy
derpydoo has joined #pypy
jcea has quit [Ping timeout: 256 seconds]
derpydoo has quit [Quit: derpydoo]
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
otisolsen70 has joined #pypy
otisolsen70 has quit [Remote host closed the connection]
otisolsen70 has joined #pypy
otisolsen70 has quit [Remote host closed the connection]
otisolsen70 has joined #pypy
Atque has quit [Ping timeout: 268 seconds]
Atque has joined #pypy
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
will1 has quit [Quit: You have been kicked for being idle]
Atque has quit [Ping timeout: 268 seconds]
Atque has joined #pypy
mjacob has quit [Ping timeout: 244 seconds]
mjacob has joined #pypy
<mattip> an HPy handle can be assigned to a global variable in C, and in CPython the handle is preserved over different C function calls
<mattip> like "HPy keep" in this test
<mattip> but I thought the point of handles is to make sure to close all the arguments to a function call
<mattip> so how can 'keep' stay alive between the function calls?
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
<cfbolz> mattip: isn't this a test about
<cfbolz> an illegal use of the API?
Atque has quit [Ping timeout: 268 seconds]
<mattip> right, but how does "mod.g() == len(s)" even pass on CPython?
<mattip> mod.g() should raise, since it should be using an invalid handle
<mattip> (it used to crash on PyPy, but now raises)
<mattip> maybe I should ask on the hpy IRC channel
<cfbolz> mattip: I suspect it works by accident, because a handle is just a PyObject* outside debug mode
Atque has joined #pypy
<mattip> ok, let's go with the "works by accident", I fixed the test assuming that is correct
lastmikoi has quit [Quit: ...]
lastmikoi has joined #pypy
Atque has quit [Ping timeout: 268 seconds]
derpydoo has joined #pypy
Atque has joined #pypy
jcea has joined #pypy
<mattip> progress: extra_tests/hpy_tests does not crash, there are less that 10 failures/errors
<mattip> on the hpy-0.0.4 branch
<phlebas> Is there a way for me to open a merge request for pypy/benchmarks on heptapod? It seems I cannot a repository without manual (human) action on their side, so I cannot create a merge request without access to the repo itself to push my branch there?
<phlebas> s/I cannot/I cannot fork/
<Hodgestar> mattip: antocuni will know better than me, but I think reading the comment at the top of hpy/debug/src/debug_internal.h might help. If I understand debug mode correctly, then, in that test, "keep" is a DHPy handle (i.e. an HPy containing a pointer to a DebugHandle). Thus it's valid to store it for the implementation of the debug context within the HPy repo. I don't know too much about debug mode in PyPy (maybe it is the same, maybe not).
<Hodgestar> Outside of debug mode, of course storing the handle in keep is totally broken and could do almost anything if used later.
<mattip> so maybe this is a bug with how PyPy manages handles. There is a rpython-level handle manager on top of the c-level one
<mattip> the rpython debug handle manager does not have a closed_handles list
<ronan> phlebas: heptapod doesn't do forks, you need to ask for access to the repo
<Hodgestar> mattip: Maybe the PyPy debug handle manager hasn't had the feature added?
<mattip> was this a 0.0.4 addition?
jcea has quit [Quit: jcea]
jcea has joined #pypy
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
jcea has quit [Ping timeout: 256 seconds]
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
otisolsen70 has quit [Quit: Leaving]
<Hodgestar> mattip: It was.
<Hodgestar> Or at least the test was.
<Hodgestar> The general structure of debug mode hasn't changed much since 0.0.3, but the new tests relies on the hpy repo implementation. We could probably revisit the semantics a bit if needed.
derpydoo has quit [Ping timeout: 244 seconds]
Atque has quit [Remote host closed the connection]
Atque has joined #pypy
jcea has joined #pypy