someone ran into a variant of it earlier, and we've had other variants  
in the past.

On Nov 10, 2008, at 10:36 PM, arashf wrote:

>
> gotcha, cool. was I first to run into this? :-)
>
> On Nov 10, 5:57 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
>> yeah this is an "enhancement" we made, whereby InstanceState removes
>> circular references from itself when its host object is garbage
>> collected, thereby taking the load off of gc (and it does).   So in
>> this case, asynchronous gc is occurring right as InstanceState is
>> doing expire_attributes on itself, and the dict is getting swiped.
>> We had this issue and did a None check, but that's obviously not
>> enough since...well its asynchronous.  So r5283 turns "state.dict"
>> into an attribute that will always spit out a dictionary if the  
>> "real"
>> one was removed, and its looking like rc4 will be sooner rather than
>> later as we are hitting a few glitches like this.
>>
>> On Nov 10, 2008, at 8:28 PM, arashf wrote:
>>
>>
>>
>>> Traceback (most recent call last):
>>> File "/srv/server/metaserver/metaserver/lib/base.py", line 56, in
>>> __call__
>>> ret = WSGIController.__call__(self, environ, start_response)
>>> File "/usr/lib/python2.5/site-packages/Pylons-0.9.6.2-py2.5.egg/
>>> pylons/
>>> controllers/core.py", line 195, in __call__
>>> after = self._inspect_call(self.__after__)
>>> wasn't getting this on the betas of sqlalchemy, but am getting it on
>>> rc3. any ideas?
>>
>>> File "/usr/lib/python2.5/site-packages/Pylons-0.9.6.2-py2.5.egg/
>>> pylons/
>>> controllers/core.py", line 79, in _inspect_call
>>> result = func(**args)
>>> File "/srv/server/metaserver/metaserver/lib/base.py", line 96, in
>>> __after__
>>> metaserver.model.Session.commit()
>>> File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0rc3- 
>>> py2.5.egg/
>>> sqlalchemy/orm/scoping.py", line 121, in do
>>> return getattr(self.registry(), name)(*args, **kwargs)
>>> File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0rc3- 
>>> py2.5.egg/
>>> sqlalchemy/orm/session.py", line 670, in commit
>>> self.transaction.commit()
>>> File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0rc3- 
>>> py2.5.egg/
>>> sqlalchemy/orm/session.py", line 385, in commit
>>> self._remove_snapshot()
>>> File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0rc3- 
>>> py2.5.egg/
>>> sqlalchemy/orm/session.py", line 306, in _remove_snapshot
>>> _expire_state(s, None)
>>> File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0rc3- 
>>> py2.5.egg/
>>> sqlalchemy/orm/attributes.py", line 985, in expire_attributes
>>> self.dict.pop(key, None)
>>> AttributeError: 'NoneType' object has no attribute 'pop'
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
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