Looks like the problem is that you try pus something in session that is not pickleable.
On Monday, 17 September 2012 02:59:54 UTC-5, mweissen wrote: > > From the /var/log/apache2/error.log: > > [Mon Sep 17 09:39:09 2012] [error] ERROR:web2py:Traceback (most recent > call last): > [Mon Sep 17 09:39:09 2012] [error] File > "/users/www-data/web2py/gluon/main.py", line 547, in wsgibase > [Mon Sep 17 09:39:09 2012] [error] session._try_store_on_disk(request, > response) > [Mon Sep 17 09:39:09 2012] [error] File > "/users/www-data/web2py/gluon/globals.py", line 686, in _try_store_on_disk > [Mon Sep 17 09:39:09 2012] [error] cPickle.dump(dict(self), > response.session_file) > [Mon Sep 17 09:39:09 2012] [error] File > "/usr/lib/python2.7/copy_reg.py", line 70, in _reduce_ex > [Mon Sep 17 09:39:09 2012] [error] raise TypeError, "can't pickle %s > objects" % base.__name__ > [Mon Sep 17 09:39:09 2012] [error] TypeError: can't pickle lock objects > [Mon Sep 17 09:39:09 2012] [error] > > > 2012/9/17 Paolo <[email protected] <javascript:>> > >> Dear all, >> occasionally, I am getting this error too (with and without lazy_table) >> Which OS are you using ? >> Could you post your db model? >> >> Paolo >> >> >> On Monday, September 17, 2012 7:21:42 AM UTC+2, mweissen wrote: >>> >>> I have read some threads about this error message - I got it too: >>> >>> Version web2py™ (2, 0, 9, datetime.datetime(2012, 9, 13, 23, 51, 30), >>> 'stable') Traceback >>> >>> 1. >>> 2. >>> 3. >>> 4. >>> 5. >>> 6. >>> 7. >>> 8. >>> 9. >>> 10. >>> 11. >>> 12. >>> 13. >>> 14. >>> 15. >>> 16. >>> 17. >>> 18. >>> 19. >>> 20. >>> 21. >>> 22. >>> 23. >>> 24. >>> 25. >>> 26. >>> 27. >>> >>> Traceback (most recent call last): >>> File "/users/www-data/web2py/gluon/**main.py", line 547, in wsgibase >>> >>> >>> >>> >>> session._try_store_on_disk(req**uest, response) >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**globals.py", line 686, in >>> _try_store_on_disk >>> >>> >>> >>> >>> cPickle.dump(dict(self), response.session_file) >>> >>> >>> >>> >>> File "/usr/lib/python2.7/copy_reg.**py", line 74, in _reduce_ex >>> >>> >>> >>> >>> getstate = self.__getstate__ >>> File "/users/www-data/web2py/gluon/**dal.py", line 7344, in __getattr__ >>> >>> >>> >>> >>> self.__allocate() >>> File "/users/www-data/web2py/gluon/**dal.py", line 7337, in __allocate >>> >>> >>> >>> >>> self._record = self._table[int(self)] >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**dal.py", line 7624, in __getitem__ >>> >>> >>> >>> >>> return self._db(self._id == key).select(limitby=(0,1)).fir**st() >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**dal.py", line 8766, in select >>> >>> >>> >>> >>> return adapter.select(self.query,fiel**ds,attributes) >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**dal.py", line 2094, in select >>> >>> >>> >>> >>> return super(SQLiteAdapter, self).select(query, fields, attributes) >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**dal.py", line 1594, in select >>> >>> >>> >>> >>> return self._select_aux(sql,fields,at**tributes) >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**dal.py", line 1559, in _select_aux >>> >>> >>> >>> >>> self.execute(sql) >>> File "/users/www-data/web2py/gluon/**dal.py", line 1671, in execute >>> >>> >>> >>> >>> return self.log_execute(*a, **b) >>> >>> >>> >>> >>> File "/users/www-data/web2py/gluon/**dal.py", line 1665, in log_execute >>> >>> >>> >>> >>> ret = self.cursor.execute(*a, **b) >>> >>> >>> >>> ProgrammingError: Cannot operate on a closed database. >>> >>> >>> Any hints? >>> Regards, Martin >>> >>> -- >> >> > --

