00:00
<
nulano >
antocuni, I changed it to False, but unless I also remove _hpy_universal from working_modules, the annotator is still finding (pypy.module.cpyext.pyobject:35)w_root_as_pyobj
00:01
[Arfrever] has joined #pypy
00:01
<
nulano >
with a debugger I have found that it is being called with a 'pypy.module._hpy_universal.interp_type.W_HPyTypeObject' as an argument
00:41
oberstet has quit [Remote host closed the connection]
00:55
_whitelogger has joined #pypy
01:30
dddddd has quit [Ping timeout: 240 seconds]
01:39
dddddd has joined #pypy
03:21
jcea has quit [Ping timeout: 258 seconds]
03:49
tos9_ has joined #pypy
03:49
tos9 has quit [Ping timeout: 260 seconds]
04:45
<
mattip >
I disabled hpy tests on linux32, win64 and disabled it in general if cpyext not available
06:29
epony has quit [Quit: upgrades]
06:42
mattip has quit [Ping timeout: 258 seconds]
06:42
mattip has joined #pypy
06:52
mattip has quit [Ping timeout: 260 seconds]
06:54
mattip has joined #pypy
07:18
epony has joined #pypy
07:45
<
tumbleweed >
BTW I broke test_coroutines in py3.6. Been poking at solutions to it, but keep getting distracted. OTOH, that commit fixed test_dis :P
07:46
<
mattip >
is it the test or actual coroutines that are broken?
07:46
<
tumbleweed >
I think the latter
07:46
<
tumbleweed >
but only in corner cases
07:46
<
mattip >
ok, maybe not so tragic
07:47
<
tumbleweed >
mucking around in pycodegen is fun. But it's also annoyingly hard to debug :)
07:55
<
rjarry >
anyone has an idea about the issue I reported ?
07:55
<
rjarry >
(sys.exit() while in a @ffi.def_extern() callback)
09:00
<
mattip >
rjarry: maybe open an issue on the issue trakcer with a reproducer
09:00
<
rjarry >
mattip: sure, maybe I can suggest a patch
09:02
<
rjarry >
or is it part of the _cffi_backend.so extension
09:04
<
rjarry >
blocking signals just before calling the python callback and unblocking them just after
10:12
astronavt___ has joined #pypy
11:27
lritter has joined #pypy
11:50
jcea has joined #pypy
13:58
rfgpfeiffer has joined #pypy
14:34
fling has quit [Ping timeout: 256 seconds]
14:42
jcea has quit [Ping timeout: 256 seconds]
14:47
fling has joined #pypy
15:25
Taggnostr has quit [Remote host closed the connection]
15:28
Taggnostr has joined #pypy
15:45
YannickJadoul has joined #pypy
16:38
Smigwell has joined #pypy
16:48
jcea has joined #pypy
17:00
jcea has quit [Quit: jcea]
17:24
lritter has quit [Quit: Leaving]
17:32
YannickJadoul has quit [Quit: Leaving]
18:12
<
mattip >
it seems rpython is out of sync between default and py3.6
18:14
<
mattip >
so now I cannot be sure that the rpython in win64-py3.6 is OK for win64
18:19
jcea has joined #pypy
18:52
<
mattip >
the only one that I don't want to touch is the rsre changes
19:35
<
mattip >
that is a strange error message from translation
19:35
<
mattip >
"TyperError: arithmetic not supported on <INT>, its size is too small"
19:35
<
mattip >
(rpython.rtyper.lltypesystem.ll_str:13)ll_int2dec__INT
19:35
<
nulano >
rffi.INT < Signed
19:36
<
nulano >
Signed is the smallest type with implemented operations
19:36
<
mattip >
ahh. Any thoughts how to find the offending operation?
19:36
<
nulano >
same as UINT before
19:37
<
mattip >
I could stop in a debugger, but the graph is long gone
19:37
<
nulano >
I think it may be rpython.rtyper.lltypesystem.ll_str:11
19:37
<
nulano >
rpython.rtyper.lltypesystem.ll_str:17
19:37
<
nulano >
my numpad is upside down for some reason...
19:38
<
mattip >
I understand, but how do I find where I need to add a widen()
19:39
<
nulano >
ah right, I didn't look at the function...
19:42
<
mattip >
someone is calling ll_int2dec(val) with a rffi.INT, but the crash is inside ll_int2dec and no more information is available AFAICT
19:44
<
mattip >
either str(var) or '%d' % var
19:44
<
nulano >
it may be possible to find from a debugger
19:45
<
nulano >
the specialize_block frame has access to `self.annotator`
19:46
<
nulano >
I could find a few calls before by looking at `annotator.notify`
19:46
* mattip
trying again
19:46
kipras has joined #pypy
20:06
<
mattip >
len(self.annotator.notify) -> 24037
20:07
<
nulano >
I used an evaluate expression to find the right function
20:09
<
nulano >
`annotator.notify[graph.returnblock]`
20:09
<
nulano >
where graph is the graph of the current block
20:16
<
mattip >
I am in rpython\rtyper\rtyper.py(313)specialize_block(), where graph is
20:16
<
mattip >
graph = self.annotator.annotated[block]
20:21
<
mattip >
there is block.view() and block.show(), but they need pygame, which does not install on pypy2.7-64
20:21
<
nulano >
what is graph.name?
20:23
<
nulano >
there is also `block._slowly_get_graph`
20:30
<
mattip >
that give the same graph
20:31
<
mattip >
the graph name is ll_int2dec__INT
20:32
<
nulano >
does `annotator.notify[graph.returnblock]` return anything?
20:33
<
nulano >
it should be a list of tuples, with the first element of each tuple being another graph
20:33
<
nulano >
which I could use to recover part of the callstack
20:33
<
nulano >
with `stack.append(list(annotator.notify[stack[-1][0][0].returnblock]))`
20:50
<
nulano >
ah, there is a KeyError
20:50
<
mattip >
annotator.notify[graph.returnblock] returns precisely block
20:52
<
nulano >
I get '*** KeyError: return block[v3268] with 0 exits'
20:53
<
nulano >
for 'self.annotator.notify[graph.returnblock]'
21:04
<
mattip >
maybe getting somewhere with [k for k,v in self.annotator.annotated.items() if block in v.iterblocks()]
21:06
<
mattip >
nope, that brings me back to block
21:09
<
nulano >
I put an `if graph.name == 'll_int2dec__INT': raise Exception` in annrpython.addpendingblock
21:09
<
nulano >
the call stack passes through rstr.do_stringformat
21:10
<
nulano >
maybe found it: (pypy.module._socket.interp_socket:270)W_Socket.descr_repr
21:15
<
nulano >
(by going up the call stack to specialize_block and looking at graph there)
21:21
<
nulano >
passing through string format also explains why there is no real caller
21:22
<
mattip >
makes sense, I already had to widen "family" today
21:22
<
nulano >
trying test_ztranslation found another one I think
21:23
<
nulano >
nevermind, typo
21:29
<
mattip >
maybe get_family_w() as well? I wonder if other socket fields are dfined as int
21:30
<
nulano >
in descr_repr I had to widen() all three self.sock params, but missed one on the first try
21:30
<
nulano >
now test_ztranslation passes
21:33
<
mattip >
cool. Why doesn't it happen on default, and what is the root cause?
21:35
<
mattip >
(thanks again)
21:35
<
nulano >
good question...
21:47
rfgpfeiffer has quit [Ping timeout: 256 seconds]
21:56
tos9_ is now known as tos9
22:45
kipras has quit [Ping timeout: 264 seconds]