[pypy-dev] graph not in self.fixed_graphs

Armin Rigo arigo at tunes.org
Sat Aug 25 16:35:04 CEST 2012


Hi Timothy,

On Sat, Aug 25, 2012 at 4:16 PM, Timothy Baldridge <tbaldridge at gmail.com> wrote:
> [translation:ERROR]     llvalue = r_value.convert_const(dictvalue)
> [translation:ERROR]    File "/home/tim/pypy/pypy/rpython/rclass.py", line
> 322, in convert_const
> [translation:ERROR]     classdef = bk.getuniqueclassdef(value.__class__)
> [translation:ERROR]    File "/home/tim/pypy/pypy/annotation/bookkeeper.py",
> line 281, in getuniqueclassdef
> [translation:ERROR]     return desc.getuniqueclassdef()
> [translation:ERROR]    File "/home/tim/pypy/pypy/annotation/description.py",
> line 560, in getuniqueclassdef
> [translation:ERROR]     return self.getclassdef(None)

Ok, so it's during regular rtyping.  Here we see a prebuilt dictionary
("dictobj" in the first level above), containing in "dictvalue" a
prebuilt instance of some class X.  The problem is that it's the first
time we ever see the class X.  Doesn't really make sense to me.  You
may have to look in the callers a few extra levels up to figure out
why we are seeing this dictionary; apparently from some attribute of
some other prebuilt instance.  The fact that this prebuilt instance
allows us to reach (indirectly) class X, but class X was never seen
during annotation, looks like a bug.


A bientôt,

Armin.


More information about the pypy-dev mailing list