You error seems to indicate there is a lock object in session. Can you try check by printing the session.keys() before saving the session?
On Monday, 17 September 2012 12:54:54 UTC-5, mweissen wrote: > > Yes, I have stored a lot of information in session, but only strings and > dicts. The application works fine on my development pc (a windows 7 pc). > The problem arises after I have put the application on the target machine > (ubuntu with apache2). > > 2012/9/17 Massimo Di Pierro <massimo....@gmail.com <javascript:>> > >> 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 <paolo....@gmail.com> >>> >>> 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.**p**y", 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 >>>>> >>>>> -- >>>> >>> --