I found the problem. I think someone broke backward compatibility. A new field was added to auth_user after I started the project. I think the field was added to improve the security of the reset password process so that's a good thing. Why this broken compatibility wasn't disclosed and explained is a mystery. I discovered it by creating a new project with the latest code and comparing the auth_user table to what I had.
Anyway, for anyone experiencing this issue you need to add a field to auth_user: Field('reset_password_key', length=512, default='', writable=False, readable=False) On Dec 14, 9:02 am, DenesL <denes1...@yahoo.ca> wrote: > As you suspect, the error is caused by the missing arguments **b, but > it is hard to tell why without seeing your code. > > On Dec 13, 5:58 pm, kevski <corbett.ke...@gmail.com> wrote: > > > > > I snipped a lot of the intermediate stuff out but basically I try to > > use the lost_password link on the login page and get the following > > traceback. Looking at the sql statement it appears that the parameters > > for SET are missing. > > > from below: Function argument list: (*a=('UPDATE auth_user SET WHERE > > auth_user.id=806;',), **b={}) > > > I have a custom auth_user table in that I added some fields. > > > Other data: I can set a new password by using change_password after > > logging in. > > > Let me know what kind of additional information might help. > > > Pieces of the traceback information. > > > *************************************************************** > > > web2py Version 1.89.5 (2010-11-21 22:12:54) > > > Error traceback: > > > Traceback (most recent call last): > > File "gluon/restricted.py", line 188, in restricted > > File "E:/web2py/applications/psc/controllers/default.py", line 55, > > in <module> > > File "gluon/globals.py", line 96, in <lambda> > > File "E:/web2py/applications/psc/controllers/default.py", line 34, > > in user > > File "gluon/tools.py", line 1038, in __call__ > > File "gluon/tools.py", line 1998, in request_reset_password > > File "gluon/sql.py", line 3416, in <lambda> > > File "gluon/sql.py", line 3551, in update_record > > File "gluon/sql.py", line 3506, in update > > File "gluon/sql.py", line 965, in <lambda> > > OperationalError: near "WHERE": syntax error > > > Error snapshot > > Detailed traceback description > > > * Exception: <class 'sqlite3.OperationalError'>(near "WHERE": > > syntax error) > > * Python 2.5.4: E:\web2py\web2py.exe > > > File E:\web2py\gluon\sql.py in <lambda> at line 965 > > [ code | arguments | variables ] > > Function argument list: (*a=('UPDATE auth_user SET WHERE > > auth_user.id=806;',), **b={})- Hide quoted text - > > - Show quoted text -