"Fatal Python error: GC object already in linked list"

Alexander Schmolck a.schmolck at gmx.net
Tue Jun 18 20:41:06 CEST 2002


Michael Hudson <mwh at python.net> writes:

> Alexander Schmolck <a.schmolck at gmx.net> writes:
> 
> > Just got the following in an interactive session:
> > 
> >     >>> reload(awmstools)
> >     Exception exceptions.RuntimeError: 'maximum recursion depth exceeded' in  ignored
> >     Fatal Python error: GC object already in linked list
> >     
> >     Process Python aborted
> >     
> > Any ideas as to what might be the cause?
> 
> Is this the lastest version of Python?  Is it reproducible?

Yes (2.2.1). I guess I might be succesful in reproducing it under controlled
circumstances, but I haven't tried so far. It has occured in interactive
sessions while I've been working on pickling (in the form of __get/setstate__
and cpickle) for a class in a module that uses a C++ extension (pymat -- a
matlab wrapper) and doesn't seem to be linked to reload as such (later on
other commands also produced the same error message).

It seemed to occur after something with the pickling went wrong, but after I
completed the routines and they worked correctly (or appeared to) I haven't
had these problems anymore. 

The error message seemed rather bizzarre ("GC object already in linked list"),
so I was wondering if anyone could point me into the right direction.

If the whole thing is just a freak interaction between any of: abortive
(c)pickling, the C++ extension, `inspect`, `weakref` (the modules which I
suspect to be most likely to cause troubles) and only occurs when something is
wrong then I'm not sure I fancy spending much time on tracking down what
exactly is going on, unless doing so would actually be beneficial to someone
(me, in case problems continue even after the pickling routines work or
someone else, in case this might be a python bug).

alex




More information about the Python-list mailing list