@Niphlod: I've simplified my error handler as far as this :
No models, controller has 2 lines : def index(): return dict() The result is still the same : web2py stalling forever, no page displayed. @Derek: I'm developping on a MacOSX computer but my server is hosted on Heroku (probably some kind of Linux distribution) : the problem is the same on both environments. I can't make my server run locally on any other server than rocket right now (and never had to so far). I'll have to look into that if the problem persists. @Massimo: I'm using this version: 2.9.11-stable+timestamp.2014.09.15.23.35.11 (Running on Rocket 1.2.6, Python 2.7.9) The controller in question is just some error handler I made that automatically (and synchroneously) sends tickets as e-mails to administrators. This is due to Heroku having an ephemeral filesystem : you can't rely on tickets being stored on the filesystem for any length of time. @cem: The controller I built was based on this slice <http://www.web2pyslices.com/slice/show/1529/custom-error-routing>, so it has the 2 lines that should prevent an infinite error loop : * 1. if code is not None and request_url != request.url: # Make sure error url is not current url to avoid infinite loop.2. response.status = int(code) # Assign the error status code to the current response. (Must be integer to work.)* On Sunday, January 4, 2015 at 6:38:18 PM UTC+1, Niphlod wrote: > > the point of routes_onerror is EXACTLY to "intercept" the error and > somewhat process it to display a nicer page to the end-user. I'd guess at > this point that your controller handling the error has some bugs in it: > would you care to trim it to the bare minimum to see if the error is in > handling the "original" error ? > > On Sunday, January 4, 2015 12:56:54 AM UTC+1, Louis Amon wrote: >> >> I've tested the native error handler (working fine) versus my custom >> error handler (generating HTTP 400 error + web2py stuck) : >> >> The main difference between the two is that the native error handler >> doesn't generate an additional request while routes_onerror seems to >> generate an additional request that points to my error handler. >> >> This second request goes through *copystream_progress* just fine, then >> calls *copystream* (at line 125 in globals.py). >> >> In *copystream*, it gets stuck at line 465 in fileutils.py : >> >> data = src.read(size) >> >> This call to 'read' eventually times out. >> >> I've tried catching the error like this : >> >> try: >> data = src.read(size) >> except Exception as e: >> print type(e), e >> >> All it ever prints (after 10 seconds) is : >> >> <class 'socket.timeout'> timed out >> >> >> How can I further investigate this matter ? >> >> -- 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.