[pypy-dev] stuck with translation error

Amaury Forgeot d'Arc amauryfa at gmail.com
Fri Jul 1 19:43:30 CEST 2011


Hi,

2011/7/1  <wlavrijsen at lbl.gov>:
> [translation:ERROR]    File
> "/home/wlav/pypydev/pypy/pypy/rpython/rtyper.py", line 254, in specialize_more_blocks
> [translation:ERROR]     self.specialize_block(block)
> [translation:ERROR]    File "/home/wlav/pypydev/pypy/pypy/rpython/rtyper.py", line 406, in specialize_block
> [translation:ERROR]     self.translate_hl_to_ll(hop, varmapping)
> [translation:ERROR]    File "/home/wlav/pypydev/pypy/pypy/rpython/rtyper.py", line 535, in translate_hl_to_ll
> [translation:ERROR]     resultvar = hop.dispatch()
> [translation:ERROR]    File "/home/wlav/pypydev/pypy/pypy/rpython/rtyper.py", line 768, in dispatch
> [translation:ERROR]     return translate_meth(self)
> [translation:ERROR]    File "<487-codegen /home/wlav/pypydev/pypy/pypy/rpython/rtyper.py:610>", line 4, in translate_op_simple_call
> [translation:ERROR]     return r_arg1.rtype_simple_call(hop)
> [translation:ERROR]    File "/home/wlav/pypydev/pypy/pypy/rpython/rpbc.py", line 723, in rtype_simple_call
> [translation:ERROR]     return self.redispatch_call(hop, call_args=False)
> [translation:ERROR]    File "/home/wlav/pypydev/pypy/pypy/rpython/rpbc.py", line 772, in redispatch_call
> [translation:ERROR]     assert hop.nb_args == 1, ("arguments passed to __init__, "
> [translation:ERROR]  AssertionError: arguments passed to __init__, but no __init__!
>
> I don't find anything that could be related to local code, until I go up
> to specialize_block. That block has:
>
> (Pdb+) block.operations
> [v1 = call_args((function free), ((1, ('flavor', 'track_... False)), v0, ('raw'), (False)), v2 = simple_call((type error), ('out of resources'))]
>
> which I presume is lltype.free() of which I have a few calls, but no recent
> changes (and I don't understand the complaint about __init__ at that point).
>
> I'm going to roll back history to see where things broke, but if the above
> rings a bell with someone, that could spare me some time ... Thanks!

Hm, it can also be the next operation: v2 = simple_call((type error),
('out of resources'))
What is this "error" object? Some local exception class?

-- 
Amaury Forgeot d'Arc


More information about the pypy-dev mailing list