Massimo, I tried opening a base url from IE when it had crashed in a session in Chrome and got no response, so assume it is indeed web2py that crashed. This was with a field which says ondelete='NO ACTION'. Can we not infer from the fact pyodbc raised an Exception that was caught by web2py that control did indeed return to web2py, or is that not correct?
Some info: web2py™ Version 2.5.1-stable+timestamp.2013.06.06.15.39.19 Traceback (most recent call last): File "/home/mdipierro/make_web2py/web2py/gluon/restricted.py", line 212, in restricted File "N:/IT/Dev/Code/HubForms/web2py/applications/HubForms/models/7_models_boots_database.py", line 104, in <module> File "/home/mdipierro/make_web2py/web2py/gluon/dal.py", line 7788, in define_table File "/home/mdipierro/make_web2py/web2py/gluon/dal.py", line 7825, in lazy_define_table File "/home/mdipierro/make_web2py/web2py/gluon/dal.py", line 991, in create_table File "/home/mdipierro/make_web2py/web2py/gluon/dal.py", line 1094, in migrate_table File "/home/mdipierro/make_web2py/web2py/gluon/dal.py", line 1784, in execute File "/home/mdipierro/make_web2py/web2py/gluon/dal.py", line 1778, in log_execute ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]The object 'boots_project_rfi_testing__constraint' is dependent on column 'testing'. (5074) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER TABLE DROP COLUMN testing failed because one or more objects access this column. (4922)") On Wed, Aug 7, 2013 at 9:29 AM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > Could this be a pyodbc issue? Are you sure web2py hangs or only this one > session hangs? You can try from two separate browsers. It is possible > pyodbc does not return (because for example a circular reference is on > delete cascade) and web2py keeps the session blocked. All requests from > this user/session are queued. > > > On Tuesday, 6 August 2013 20:02:51 UTC-5, Andrew Buchan wrote: >> >> We have the same (similar) issue using mssql on Windows: when we get a >> pyodbc.ProgrammingError typically relating to a foreign key, we have to >> restart web2py. >> >> This is particularly frustrating problem as these errors happen every >> time you rename/delete a column with a foreign key. >> >> E.g. create a field that references another table: >> ..... >> Field('a_field', db.another_table, ondelete='CASCADE'), >> .... >> Then remove/rename ;a_field', and you get "ALTER TABLE DROP COLUMN >> a_field failed because one or more objects access this column." >> >> This causes web2py to hang, so we have to go into management studio, >> delete the constraint, and restart web2py because it has become >> unresponsive. >> >> I think that, aside from resolving why web2py hangs, we could also >> improve migration so that it deletes any constraints automatically when we >> drop a column. >> >> While we're at it, web2py could check a column actually exists before >> calling a DROP statement. It frequently happens that things do get out of >> synch with fake migrates and manually modifying the table etc, and for a >> DROP statement to be called on a column that has been removed. There is >> really no benefit in web2py failing if the column to delete isn't found. >> >> I thought I'd reply to this thread (ps: right thing to do?) and see if >> anyone had any suggestions/info before I go raising as bugs/features, or >> attempting to produce a patch... >> >> >> >> -- > > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/yaW04rGM-gY/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- --- 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.