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.dipie...@gmail.com> > 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 >>>> >>>> -- >>> >> --