On Feb 14, 2010, at 8:20 AM, avdd wrote:

> Well after a day of tracking this down, I found that has something to
> do with reference cycles.  Not sure what exactly, but making an
> attribute non-persistent solved the problem.  And nothing to do with
> SQLAlchemy.
> 
> Has anyone else noticed that pickle is not the most robust of
> protocols?  There seems to be differences between pypickle and
> cpickle, and various protocol versions.  And the original error was
> only intermittent (even in a single thread, so not concurrency-
> related).


the problem ive had with pickle is this one:

http://bugs.python.org/issue998998

> 
> As an aside, when using pypickle, protocol=2, I get this error with
> ordering_list:
> 
>  pickle:1182 load_append
>    list.append(value)
>  sqlalchemy.orm.collections:918 append
>    fn(self, item)
>  sqlalchemy.ext.orderinglist:234 append
>    self._order_entity(len(self) - 1, entity, self.reorder_on_append)
> AttributeError: 'OrderingList' object has no attribute
> 'reorder_on_append'

that might be a bug in orderinglist, or perhaps again that the order of 
unpickling is not as deterministic as orderinglist expects it to be.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to