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
>
>

-- 



Reply via email to