From 7d07ee0b39ce1068a8c3c06f6672ef9c94fb184e Mon Sep 17 00:00:00 2001 From: Philip Jenvey Date: Fri, 21 Aug 2009 02:19:07 +0000 Subject: [PATCH] instance_dict may be modified before the GC triggers _cleanup on Jython, so eat state mismatch AssertionErrors --- lib/sqlalchemy/orm/state.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/sqlalchemy/orm/state.py b/lib/sqlalchemy/orm/state.py index f09c597639..25e557edae 100644 --- a/lib/sqlalchemy/orm/state.py +++ b/lib/sqlalchemy/orm/state.py @@ -47,7 +47,10 @@ class InstanceState(object): def _cleanup(self, ref): instance_dict = self._instance_dict() if instance_dict: - instance_dict.remove(self) + try: + instance_dict.remove(self) + except AssertionError: + pass self.dispose() def obj(self): @@ -418,7 +421,10 @@ class MutableAttrInstanceState(InstanceState): else: instance_dict = self._instance_dict() if instance_dict: - instance_dict.remove(self) + try: + instance_dict.remove(self) + except AssertionError: + pass self.dispose() def __resurrect(self): -- 2.47.3