[pypy-issue] Issue #1829: Misleading PyPy/RPython translation error? (pypy/pypy)
Edd Barrett
issues-reply at bitbucket.org
Tue Jul 29 17:25:33 CEST 2014
New issue 1829: Misleading PyPy/RPython translation error?
https://bitbucket.org/pypy/pypy/issue/1829/misleading-pypy-rpython-translation-error
Edd Barrett:
Hi,
I got the following error when compiling teh pypy_bridge:
```
[translation:info] File "/home/vext01/research/pypy/rpython/rtyper/normalizec
alls.py", line 96, in normalize_calltable_row_signature
[translation:info] assert not shape_star, "XXX not implemented"
[translation:ERROR] AssertionError: XXX not implemented
```
Some prodding:
```
(Pdb+ on Pdb++) ll
82 def normalize_calltable_row_signature(annotator, shape, row):
83 graphs = row.values()
84 assert graphs, "no graph??"
85 sig0 = graphs[0].signature
86 defaults0 = graphs[0].defaults
87 for graph in graphs[1:]:
88 if graph.signature != sig0:
89 break
90 if graph.defaults != defaults0:
91 break
92 else:
93 return False # nothing to do, all signatures already match
94
95 shape_cnt, shape_keys, shape_star = shape
96 -> assert not shape_star, "XXX not implemented"
...
(Pdb+ on Pdb++) sig0
Signature(['self', 'w_dict'], None, None)
(Pdb+ on Pdb++) graphs[7].signature
Signature(['self', 'wpy_dict'], None, None)
```
Because the name of the argument differs, we end up breaking from the loop and fire the assertion. By renaming the `wpy_dict` argument to `w_dict` in the sources, translation succeeds.
I'm not quite sure what to make of this, but if the argument names all need to match(?), then I would expect at least a better error message.
Thanks
More information about the pypy-issue
mailing list