cfbolz changed the topic of #pypy to: #pypy PyPy, the flexible snake | IRC logs: and | the pypy angle is to shrug and copy the implementation of CPython as closely as possible, and staying out of design decisions
derpydoo has quit [Quit: derpydoo]
glyph has quit [Quit: End of line.]
glyph has joined #pypy
derpydoo has joined #pypy
jcea has quit [Ping timeout: 246 seconds]
pbsds has quit [Ping timeout: 252 seconds]
jinsun has quit [Ping timeout: 255 seconds]
pbsds has joined #pypy
<arigato> it might be that staring hard enough at the crashing function would make cfbolz say "ah, of course"
<arigato> otherwise, we could ask the OP for the jit log
<LarstiQ> heh
<arigato> mentioning cfbolz because it's again around the code that handles integer overflows in the JIT
lehmrob has joined #pypy
<cfbolz> arigato: oh, I didn’t even look at the bug yet, sorry. Which one is it?
<cfbolz> I see
<cfbolz> Yes, it's indeed very likely that it's related to the other overflow jit bugs. I'll try to investigate
<cfbolz> arigato: note that it's related to bridges as well, so it's possible something is wrong about that
<mattip> "array" is a mixedmodule, like "_socket", so should be marked built-in
<mattip> but str(_socket) -> "<module '_socket' (built-in)>"
<mattip> where str(array) -> "<module 'array'>"
<mattip> also, the startup(space) function in array/ is not called at import
<mattip> startup(space) works when untranslated, and str(array) prints "<module 'array' (built-in)>"
<cfbolz> arigato: right, basically during our bug fixes we added an assert that is not actually valid in the case of inlining the short preamble :-(
derpydoo has quit [Ping timeout: 252 seconds]
jcea has joined #pypy
infernix has quit [Quit: ZNC -]
jinsun has joined #pypy
infernix has joined #pypy
infernix has quit [Quit: ZNC -]
infernix has joined #pypy
lehmrob has quit [Quit: Konversation terminated!]
<mattip> ahh, somehow array is pre-loaded into sys.modules, in a way that does not call array's startup()
<arigato> mattip: note too that builtin modules are arbitrarily divided into two sub-categories, in order to follow CPython more closely
<arigato> CPython has "truly built-in modules" and "extension modules that happen to be distributed with CPython"
<arigato> of course they make a difference visible in the language, because it's Python
<arigato> so I guess that _socket is marked as "it's supposed to be truly built-in in CPython", whereas array not
<arigato> or something like that
<mattip> do you know where/how the division into two categories happens?
<mattip> I doubt cpyext is marked as "truly built-in" by cpython, but its module.init() (which triggers the call to module.startup()) is called,
<mattip> where array's module.init() is not
jcea has quit [Ping timeout: 246 seconds]
jcea has joined #pypy
<mattip> maybe I found something (after translation, adding print statements)
<mattip> from all the times Mixedmodule.init is called, only _rawffi and array have "self.w_initialdict is None"
derpydoo has joined #pypy
jcea1 has joined #pypy
jcea has quit [Ping timeout: 246 seconds]
jcea1 is now known as jcea
<mattip> and both those modules have a repr without "(built-in)"
[KOR]Solidarity has joined #pypy
KOR_Solidarity has quit [Ping timeout: 255 seconds]
ammar2 has quit [Remote host closed the connection]
winter has joined #pypy