Hi all ! Sorry for the delay . I was trying to make some research to determine the cause of this issue
On Wed, Jan 18, 2012 at 7:59 PM, Remy Blank <remy.bl...@pobox.com> wrote: > Gary wrote: >> Traceback (most recent call last): >> File "/home/trac/projects/trac/trac-trunk/trac/web/api.py", line 498, in >> send_error >> data, 'text/html') > > This looks like a secondary error that happens while trying to render > the error page. On that page, we have the list of components, and that > one requires the component to be initialized. Which is kind of difficult > if the initial error happens during initialization... > No, that happens when ThemeEngineSystem instance is to be initialized (i.e. it is installed and enabled) . Nonetheless the issue is not limited to that plugin IMO . Besides I confirmed that r10295 is causing this as everything works as expected in r10294 . I provide further details based on the research I made ;) I updated my working copy to r10294 (immediately before committing for the first time what was discussed in #9418 ;) and Trac website (i.e. home page with no theme applied, and everything else ;) works ok . At that moment : {{{ #!sh $ hg identify 3902453643bf (trunk) svn-10294 }}} When moving forward to r10295 similar failure happens ... and I say **similar** because traceback looks a bit different due to subsequent changes committed in r10298 and r10300 . To be more precise {{{ #!sh $ hg identify 8dda5d3eb23d (trunk) svn-10295 }}} > I assume you got this traceback from your trac.log. Is it preceded by > another traceback? If so, that's the actual error you are trying to fix. > Please post that traceback. > Nope ... tb is rendered rather than page contents ; just like it happens with unhandled Trac errors . :-/ Everything starts with this {{{ Traceback (most recent call last): File "/path/to/trac/hg/mirror/trac-mq/trac/web/api.py", line 496, in send_error data, 'text/html') File "/path/to/trac/hg/mirror/trac-mq/trac/web/chrome.py", line 982, in render_template template = self.load_template(filename, method=method) File "/path/to/trac/hg/mirror/trac-mq/trac/web/chrome.py", line 942, in load_template self.get_all_templates_dirs(), auto_reload=self.auto_reload, File "/path/to/trac/hg/mirror/trac-mq/trac/web/chrome.py", line 653, in get_all_templates_dirs for provider in self.template_providers: File "/path/to/trac/hg/mirror/trac-mq/trac/core.py", line 78, in extensions components = [component.compmgr[cls] for cls in classes] File "/path/to/trac/hg/mirror/trac-mq/trac/core.py", line 199, in __getitem__ component = cls(self) File "/path/to/trac/hg/mirror/trac-mq/trac/core.py", line 138, in __call__ self.__init__() }}} ... but honestly snippet above is not really relevant (if you need me to explain why this is not relevant and what's happening under the hood please let me know , I'll do that asaic ;) . You can start by checking from line below (i.e. you can invoke `theme_eng = ThemeEngineSystem(env)` from the command line python interpreter and you'll get the same result ;) {{{ File "/path/to/trac/0.13/env/plugins/TracThemeEngine-2.0-py2.6.egg/themeengine/admin.py", line 21, in __init__ self.system = ThemeEngineSystem(self.env) }}} ... immediately after doing so the following calls are repeated as part of the infinite loop ... {{{ File "/path/to/trac/hg/mirror/trac-mq/trac/core.py", line 138, in __call__ self.__init__() File "/path/to/trac/0.13/env/plugins/TracThemeEngine-2.0-py2.6.egg/themeengine/api.py", line 63, in __init__ for provider in self.providers: File "/path/to/trac/hg/mirror/trac-mq/trac/core.py", line 78, in extensions components = [component.compmgr[cls] for cls in classes] File "/path/to/trac/hg/mirror/trac-mq/trac/core.py", line 199, in __getitem__ component = cls(self) }}} ... which means that after this you get another similar sequence (... I think I should not repeat the same, I'm just hoping everybody gets the idea ;) I'm writing a patch containing a unit test with a simplified scenario illustrating the barely minimal context for this to happen . The root cause for infinite loop is that after r10295 instances are registered in ComponentManager's «pool» after calling __init__ method (#9418 records the whole discussion ;) PS: Like I mentioned before if you need me to explain what's happening under the hood please let me know , I'll do it asap ;) Thanks for your promptly response -- Regards, Olemis Facebook => http://www.facebook.com/olemis Twitter => http://www.twitter.com/olemislc (@olemislc) Blog ES => http://simelo-es.blogspot.com Blog EN => http://simelo-en.blogspot.com Quora => http://www.quora.com/olemis Youtube => http://youtube.com/user/greatsoftw Featured article : Identificando números primos con expresión regular en Perl http://feedproxy.google.com/~r/simelo-news/~3/BHr859OSndo/identificando-numeros-primos-con.html Tweet: check it out ! ;) RT @arielmcorg Lista la aplicación oficial de Wikipedia para Android http://t.co/pdwfBr3x #fb Follow @olemislc Reply Retweet 07:56 Jan-19 Get this email app! Get a signature like this. CLICK HERE. -- You received this message because you are subscribed to the Google Groups "Trac Development" group. To post to this group, send email to trac-dev@googlegroups.com. To unsubscribe from this group, send email to trac-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/trac-dev?hl=en.