Hi there, sorry for the delay, I was waiting for the error to occur. Today the error triggered again, and I had disabled tickets2email, so I have the ticket, but it doesn't show any code, its odd.
Here is a screen capture of the error ticket detail. Not sure if a screen capture is the best way, but I wanted to include everything: <https://lh3.googleusercontent.com/-j_NuejUHdEc/WFv-fAI7xTI/AAAAAAAACK8/FFBBo3rOmCMqa3MsMNIFbuR4q1XB2mm2gCLcB/s1600/error-ticket-details.png> *Notice that the code part for the compiled view is empty* :/ Also, it's not the 971 line, because this error is triggered from a different view that the one I was talking about before. But it's the exact same error, triggering "randomly" every 3-4 days. It's not a big deal, but I'm wondering how is the error triggered. I'll keep collecting more of these tickets in the following days. Any observation will be appreciated. Thanks as always! El miércoles, 21 de diciembre de 2016, 2:37:57 (UTC-3), Anthony escribió: > > Note, it is line 971, not 917. In the admin app, you can view the Python > code of the compiled view in the error ticket. > > Anthony > > On Tuesday, December 20, 2016 at 6:31:37 PM UTC-5, Lisandro wrote: >> >> Thank you all for the help. >> >> @Anthony, sorry my ignorance, I was looking in the wrong place (looking >> in the module, asuming the error was triggered there). >> Considering your answer and the traceback error, I say "ok, the error is >> triggered from the view, in the line 917". >> But how do I know which is that line if the view is compiled? >> I've opened the compiled view with an editor, and went to the 917 line. I >> don't know if that make sense, but in that line I've found a closing </div> >> tag... :/ >> >> Does it make any sense? >> >> >> @Dave, I can't use the logger here. >> The thing is that the app is actually installed several times (within the >> same web2py installation), and each app instance is serving a website. >> All the websites are running in production, and among all, they serve >> around 150k visits per day. >> So in order to try anything, I have to make the change, push it to the >> repository, and update all the websites. >> >> >> The error is not a big deal. As you see, there is **a lot** of requests >> per day, and the error appears every 3-4 days. >> >> >> >> El martes, 20 de diciembre de 2016, 16:40:47 (UTC-3), Anthony escribió: >>> >>> The traceback refers to line 971 in the compiled view (not in a module), >>> indicating a call to the URL() function on that line. >>> >>> On Tuesday, December 20, 2016 at 1:33:18 PM UTC-5, Lisandro wrote: >>>> >>>> Thanks for the quick answer. >>>> Yes, I have automated my app with a function; it sets the app in >>>> mantainance mode (message for the public), updates the code from >>>> repository, compiles the app, restarts uwsgi, and turns off mantainance >>>> mode. >>>> Just in case, I've just checked and it is running compiled. >>>> >>>> >>>> Line 917 is the call to get_url() function. >>>> That line is not in the compiled view, but within a module. >>>> The view just renders my pagination object, so it just does >>>> {{=pagination.html()}} >>>> The pagination object is defined within a module, and the line 917 is >>>> the one calling to get_url(). >>>> >>>> This is a resume of my Pagination object: >>>> >>>> class Pagination(object): >>>> def __init__(self, cpp, total, pagina, arg_index=0): >>>> # ... initializations >>>> >>>> def get_url(self, page): >>>> request = current.request >>>> args = request.args or [] >>>> while len(args) < (self.arg_index + 1): >>>> args.append(None) >>>> args[self.arg_index] = page >>>> try: >>>> return URL(args=args, vars=request.vars) >>>> except: >>>> return URL(args=args) >>>> >>>> def html(self): >>>> result = '' >>>> for e in range(1, self.paginas + 1): >>>> result += '<a href="%s">%s</a>' % (self.get_url(e), e) >>>> return XML(result) >>>> >>>> >>>> >>>> The thing is t hat I've hit the URL with any probable combination of >>>> args and vars, but I cannot reproduce the error. >>>> >>>> Does the ticket store info about the content of vars and args when the >>>> error triggered? >>>> I'm sending tickets2email, so I don't conserve the original ticket, but >>>> If I could find that info in the ticket, I guess I could disable >>>> tickets2email in scheduler and wait for the error to appear again. >>>> >>>> >>>> >>>> >>>> El martes, 20 de diciembre de 2016, 11:37:44 (UTC-3), Anthony escribió: >>>>> >>>>> Which line is 971? Are you sure you re-compiled the app after making >>>>> the code change? >>>>> >>>>> On Tuesday, December 20, 2016 at 6:38:07 AM UTC-5, Lisandro wrote: >>>>>> >>>>>> Hi there! >>>>>> I have a web2py application running, it's been running for a long >>>>>> time, it is a website that serves hundreds of thousands of visits per >>>>>> day, >>>>>> and everything works really good. >>>>>> However, everyonce in a while (let's say, every 3-4 days) an error >>>>>> ticket is generated with this traceback: >>>>>> >>>>>> Traceback (most recent call last): >>>>>> File "/var/www/medios/gluon/restricted.py", line 227, in restricted >>>>>> exec ccode in environment >>>>>> File "applications/website/compiled/views.lista.html.py", line 971, >>>>>> in File "/var/www/medios/gluon/html.py", line 387, in URL other += >>>>>> '?%s' % urllib.urlencode(list_vars) >>>>>> File "/usr/lib/python2.7/urllib.py", line 1332, in urlencode v = >>>>>> quote_plus(str(v)) >>>>>> UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in >>>>>> position 5: ordinal not in range(128) >>>>>> >>>>>> >>>>>> The code portion of my "compiled/views.lista.html.py" involved in >>>>>> the error is the call to this function get_url(page), used to create a >>>>>> paginator in the view: >>>>>> >>>>>> def get_url(page, arg_index): >>>>>> args = request.args or [] >>>>>> if len(args) < (arg_index + 1): >>>>>> args.append(None) >>>>>> args[arg_index] = pagina >>>>>> try: >>>>>> return URL(args=args, vars=request.vars) >>>>>> except: >>>>>> return URL(args=args) >>>>>> >>>>>> >>>>>> As you see, I put a try: except block there, because I thought maybe >>>>>> the request.vars had something to do with it. >>>>>> But the error keeps triggering every 3-4 days, and I don't know how >>>>>> to debug it, or where to start. >>>>>> Of course, I've hit the application with every possible combination >>>>>> of request.vars and request.args, but I can't trigger the error. >>>>>> >>>>>> Can I do anything else to avoid the error? >>>>>> Thanks in advance! >>>>>> >>>>> -- 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.