Thanks, Michelle, for spelling out what Niphlod meant about the shell. 
Ignore the db.commit() in the controller code. That was something I threw 
in briefly to see what would happen. I forgot to remove it.

When I do db.commit() from the interactive prompt it doesn't hang or stall. 

I'm using postgresql for my db. 

I'd be tempted to say that it seems like the db connection isn't being 
closed after the insert. But my database-fu is very weak, so that may be a 
red herring. It's just so strange that the execution stops where it does: 
between the end of Table.insert and returning control to SQLFORM.accepts.

So I'm still scratching my head here.

On Friday, January 30, 2015 at 1:21:53 PM UTC-5, Michele Comitini wrote:
>
> Why do you commit?  not needed and even dangerous in that position.
> What db are you using?
> Do as niphlod suggests:
>
> python web2py.py -M -S <here the name of your application>
>
>
>
> At the prompt issue:
>
> [1] db.commit()
>
>
> does it stall?
>
>
>
> Il giorno venerdì 30 gennaio 2015 18:10:23 UTC+1, Ian W. Scott ha scritto:
>>
>> If it helps at all, here's the controller function that creates and 
>> processes the form:
>>  
>>    if form.process(formname=formname).accepted:
>>         db.commit() ### DON'T DO IT!
>>  
>>
>>
>>
>>
>>
>> On Thursday, January 29, 2015 at 4:28:15 PM UTC-5, Niphlod wrote:
>>>
>>> what about if you start a shell and issue the insert statement with a 
>>> db.commit() ? does it hang also there ?
>>>
>>> On Thursday, January 29, 2015 at 10:05:30 PM UTC+1, Ian W. Scott wrote:
>>>>
>>>> Oh, and I'm running version 2.9.11-stable.
>>>>
>>>> On Thursday, January 29, 2015 at 4:00:54 PM UTC-5, Ian W. Scott wrote:
>>>>>
>>>>> I have a create form (SQLFORM) that works (a new record is actually 
>>>>> created) but immediately after inserting the new record the web2py 
>>>>> process 
>>>>> hangs. The form remains greyed out and no other functions will work 
>>>>> (e.g., 
>>>>> can't refresh the page or navigate away). But there's no error raised. 
>>>>> Can 
>>>>> anyone help me figure out what is causing the hang?
>>>>>
>>>>> I've pinpointed the point where the hang occurs: the call to 
>>>>> gluon.DAL.Table.insert in gluon.SQLFORM.accepts (around line 1671 in the 
>>>>> current stable version). What's strange is that the Table.insert method 
>>>>> does finish without any errors. But when it returns to SQLFORM.accepts 
>>>>> the 
>>>>> execution hangs. A print statement immediately following the call to 
>>>>> Table.insert is not executed.
>>>>>
>>>>> If it helps to know, I'm using postgresql running on apache.
>>>>>
>>>>> Here is an example of the data being sent by SQLFORM.accepts to 
>>>>> Table.insert:
>>>>>
>>>>> {'hints': [],
>>>>>  'instructions': [13L, 14L],
>>>>>  'lemmas': [],
>>>>>  'locations': [11L],
>>>>>  'modified_on': datetime.datetime(2014, 12, 19, 18, 15, 32),
>>>>>  'npcs': [32L],
>>>>>  'outcome1': '1.0',
>>>>>  'outcome2': '',
>>>>>  'outcome3': '',
>>>>>  'prompt': 'Repetition can serve to emphasize certain words in the 
>>>>> sentence, especially when the repeated words are close together. Which 
>>>>> words are emphasized in this way in \xce\x9a\xce\xb1\xcf\x84\xce\xb1 
>>>>> \xe1\xbc\xb8\xcf\x89\xce\xb1\xce\xbd\xce\xbd\xce\xb7\xcf\x82 
>>>>> 1:4?\r\n\r\n"\xe1\xbc\x98\xce\xbd 
>>>>> \xce\xb1\xe1\xbd\x90\xcf\x84\xe1\xbf\xb3 
>>>>> \xce\xb6\xcf\x89\xce\xb7 \xe1\xbc\xa0\xce\xbd, \xce\xba\xce\xb1\xce\xb9 
>>>>> \xe1\xbc\xa1 \xce\xb6\xcf\x89\xce\xb7 \xe1\xbc\xa0\xce\xbd 
>>>>> \xcf\x84\xce\xbf 
>>>>> \xcf\x86\xcf\x89\xcf\x82 \xcf\x84\xcf\x89\xce\xbd 
>>>>> \xe1\xbc\x80\xce\xbd\xce\xb8\xcf\x81\xcf\x89\xcf\x80\xcf\x89\xce\xbd."',
>>>>>  'prompt_audio': 1,
>>>>>  'readable_response': '\xce\xb6\xcf\x89\xce\xb7 \xe1\xbc\xa0\xce\xbd',
>>>>>  'response1': '^(\xe1\xbc\xa1 )?\xce\xb6\xcf\x89\xce\xb7( 
>>>>> \xe1\xbc\xa0\xce\xbd)?$',
>>>>>  'response2': '',
>>>>>  'response3': '',
>>>>>  'status': 1,
>>>>>  'step_options': [],
>>>>>  'tags': [202L],
>>>>>  'tags_ahead': [],
>>>>>  'tags_secondary': [],
>>>>>  'uuid': '51a9c0c0-18e5-4a9b-9b89-85eee6668170',
>>>>>  'widget_image': 9,
>>>>>  'widget_type': 1}
>>>>>
>>>>>  Again, the db record is actually created. The operation just stops 
>>>>> any further execution.
>>>>>
>>>>

-- 
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/d/optout.

Reply via email to