I'm having a problem that I can't get to the bottom of. The crash happens 
when a user submits an automatically generated SQLFORM. Here is the 
traceback from the ticket:

  File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/html.py", line 
2189, in process
    self.validate(**kwargs)
  File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/html.py", line 
2128, in validate
    if self.accepts(**kwargs):
  File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/sqlhtml.py", 
line 1571, in accepts
    self.vars.id = self.table.insert(**fields)
  File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/dal.py", line 
8598, in insert
    ret =  self._db._adapter.insert(self, self._listify(fields))
  File "/home/aicbt/webapps/alternate_config/web2py2.5.1/gluon/dal.py", line 
1210, in insert
    raise e
DataError: integer out of range


Here is the table:

db.define_table('user_demographics',
                Field('sex', type='string', length=8),
                Field('year_of_birth', type='integer'),
                Field('country', type='string', length=25),
                Field('therapist_1', type='string', length=5),
                Field('therapist_2', type='string', length=5),
                Field('medication', type='string', length=5),
                Field('find_out', type='string'),
                Field('find_out_2', type='text', length=1000),)

and here is the code:

@auth.requires_login()
def user_main():
    user_form = SQLFORM(db.user_demographics)
    if user_form.process().accepted:
        redirect(URL(r=request, c='social_anxiety', f='page', vars=dict(
page_id=next_page_id)))
    elif user_form.errors:
        response.flash = 'Please take a look at your answers'

Some notes that might be relevant:

   - There is only one user who has this problem (thousands of other users 
   have used the system successfully). However, they have it *consistently*. 
   Furthermore, this is just one example - they have problems with any form 
   with text/string input. 
   - *I can't reproduce the error*. e.g. If I try to put in a really 
   small/large integer for the year, it is always handled gracefully. If I 
   disable JavaScript, the validator still comes back with useful error 
   messages. 
   - The user is in a non-English country
   
Based on this, I do not think the problem is the input, but something 
specific to this particular user's system (OS + browser). Any ideas on how 
I might reproduce this? I'm stumped. 

To make matters worse, I have very limited opportunity to debug with the 
user's assistance.

Thanks
Neil

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to