Hi I still haven't resolved my rollback assert problem which happens about once per month. But I have gathered some tracebacks. In all cases, it looks like Transaction.__getattr__ gets called at places I don't understand. Maybe tracebacks are corrupted? If someone has a clue where to look at, it would be nice. I don't understand very well what is the function of the Transaction.__getattr__ method.
Thanks for your help. File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 866, in doInTransaction conn = old_conn.transaction() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 398, in transaction return Transaction(self) File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 681, in __init__ self._connection = dbConnection.getConnection() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 281, in getConnection self._poolLock.release() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 764, in __getattr__ self.assertActive() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 688, in assertActive assert not self._obsolete, "This transaction has already gone through ROLLBACK; begin another transaction" AssertionError: This transaction has already gone through ROLLBACK; begin another transaction Here getattr is called in self._poolLock.release() inside a DBAPI method: getConnection self is a DBAPI instance. I don't see why the Transaction.__getattr__ gets called. File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 878, in doInTransaction conn.commit(close=True) File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 729, in commit if self._dbConnection.debug: File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 764, in __getattr__ self.assertActive() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.3-py2.5.egg/sqlobject/dbconnection.py", line 688, in assertActive assert not self._obsolete, "This transaction has already gone through ROLLBACK; begin another transaction" AssertionError: This transaction has already gone through ROLLBACK; begin another transaction here getattr is called in self._dbConnection.debug self is a Transaction. Maybe _dbConnection doesn't exist anymore? File "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/dbconnection.py", line 856, in doInTransaction conn = old_conn.transaction() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/dbconnection.py", line 754, in __getattr__ self.assertActive() File "/usr/lib/python2.5/site-packages/SQLObject-0.10.2-py2.5.egg/sqlobject/dbconnection.py", line 678, in assertActive assert not self._obsolete, "This transaction has already gone through ROLLBACK; begin another transaction" AssertionError: This transaction has already gone through ROLLBACK; begin another transaction ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ sqlobject-discuss mailing list sqlobject-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss