Can you show us the action that causes the problem? I suspect you have
something like this:
def youraction()
....
try:
do something with db
except:
do something else
...
For some reason "do something with db" fails and closes the db cursor. It
should be
def youraction()
....
try:
do something with db
except:
db.rollback()
do something else
...
On Monday, 3 September 2012 04:25:31 UTC-5, lucas wrote:
>
> i have been having a problem with users logging in or registering. web2py
> seems to crash on some level and returns an internal error after the user
> hits submit upon registering or logging in. i was initially getting the
> error on my web2py version installed of 1.99.2, so i updated to the latest
> of 2.0.6, but i am still getting the crash. i am running postgresql 9.1 on
> the backend and centos 6 on the os.
>
> i am able to reproduce it. it doesn't seem to make a lot of sense to me,
> but it seems to be in the DAL database side of things. i got the traceback
> of:
>
> 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.
>
> Traceback (most recent call last):
> File "/opt/web-apps/web2py/gluon/main.py", line 562, in wsgibase
> session._try_store_on_disk(request, response)
> File "/opt/web-apps/web2py/gluon/globals.py", line 683, in
> _try_store_on_disk
> cPickle.dump(dict(self), response.session_file)
> File "/usr/lib/python2.6/copy_reg.py", line 74, in _reduce_ex
> getstate = self.__getstate__
> File "/opt/web-apps/web2py/gluon/dal.py", line 7287, in __getattr__
> self.__allocate()
> File "/opt/web-apps/web2py/gluon/dal.py", line 7280, in __allocate
> self._record = self._table[int(self)]
> File "/opt/web-apps/web2py/gluon/dal.py", line 7565, in __getitem__
> return self._db(self._id == key).select(limitby=(0,1)).first()
> File "/opt/web-apps/web2py/gluon/dal.py", line 8697, in select
> return adapter.select(self.query,fields,attributes)
> File "/opt/web-apps/web2py/gluon/dal.py", line 1577, in select
> return self._select_aux(sql,fields,attributes)
> File "/opt/web-apps/web2py/gluon/dal.py", line 1550, in _select_aux
> self.execute(sql)
> File "/opt/web-apps/web2py/gluon/dal.py", line 1653, in execute
> return self.log_execute(*a, **b)
> File "/opt/web-apps/web2py/gluon/dal.py", line 1647, in log_execute
> ret = self.cursor.execute(*a, **b)
> InterfaceError: cursor already closed
>
>
--