diff -r a17033cfc892 -r 8dc44329f5c8 server/session.py --- a/server/session.py Mon Feb 08 21:22:10 2010 +0100 +++ b/server/session.py Mon Feb 08 21:27:30 2010 +0100 @@ -485,7 +485,10 @@ for operation in processed: operation.handle_event('revert%s_event' % trstate) # res - self.pending_operations[:] = processed + self.pending_operations + + # XXX self.pending_operations is supposed to be + # read-only, and we are clearly modifying it here. + self.pending_operations[:] = processed + self.pending_operations self.rollback(reset_pool) raise self.pool.commit()