#314 closed defect (fixed)
Crash with tBlog 0.2 running under 0.9.4
| Reported by: | anonymous | Owned by: | John Hampton |
|---|---|---|---|
| Priority: | high | Component: | TracBlogPlugin |
| Severity: | major | Keywords: | |
| Cc: | Radoslaw Stachowiak | Trac Release: | 0.9 |
Description
I have TracTags 0.3.1 working under Trac 0.9.4. Just installing tBlog-0.2-py2.3.egg in /plugins, crashes when displaying trac home as:
Server error!
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.
If you think this is a server error, please contact the webmaster.
Error 500
localhost Fri Apr 14 19:28:33 2006 Apache/2.2.0 (Unix) PHP/5.1.2 SVN/1.3.1 mod_python/3.2.8 Python/2.3.5 mod_ssl/2.2.0 OpenSSL/0.9.8a DAV/2
No output in log/trac.log,
Attachments (0)
Change History (7)
comment:1 Changed 20 years ago by
| Component: | TracHacks → TracBlogPlugin |
|---|---|
| Owner: | changed from Alec Thomas to John Hampton |
comment:2 Changed 20 years ago by
tBlog-0.2-py2.3.egg ran fine, once trac was upgraded to 0.10dev from trac SVN trunk.
comment:3 Changed 20 years ago by
| Cc: | Radoslaw Stachowiak added; anonymous removed |
|---|
the same here, does not work with 0.9.4
comment:4 Changed 20 years ago by
| Status: | new → assigned |
|---|
Could some throw me a bone here? I'll try testing it against 0.9.4 tomorrow, but last time I tried, it worked. So, would you please provide me with:
[components]section of trac.ini[trac]section of trac.ini- Contents of apache log when error occurs
- Contents of trac.log. Specifically proof that that plugin is being loaded and any tracebacks that may exist
- Try using tracd and post any errors
Thanks :)
comment:5 Changed 20 years ago by
trac.ini
[components] tractags.* = enabled trac.wiki.web_ui.wikimodule = disabled webadmin.* = enabled tracblog.* = enabled [trac] default_charset = iso-8859-15 ignore_auth_case = false permission_store = DefaultPermissionStore check_auth_ip = true database = sqlite:db/trac.db templates_dir = /usr/share/trac/templates default_handler = TagsWikiModule metanav = login,logout,settings,help,about htdocs_location = /mlot/trac/ mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search repository_dir = /svn
ERROR on the web:
Oops...
Trac detected an internal error:
TracWebAdmin
Traceback (most recent call last):
File "/home/radek/www/moja.poziomka.pl/cgi-bin/trac.cgi", line 20, in ?
cgi_frontend.run()
File "/usr/lib/python2.4/site-packages/trac/web/cgi_frontend.py", line 123, in run
env = get_environment(req, os.environ, threaded=False)
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 335, in get_environment
return _open_environment(env_path, threaded)
File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 44, in _open_environment
return open_environment(env_path)
File "/usr/lib/python2.4/site-packages/trac/env.py", line 374, in open_environment
env = Environment(env_path)
File "/usr/lib/python2.4/site-packages/trac/env.py", line 86, in __init__
load_components(self)
File "/usr/lib/python2.4/site-packages/trac/loader.py", line 77, in load_components
entry_point.load()
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1829, in load
if require: self.require(env, installer)
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1842, in require
working_set.resolve(self.dist.requires(self.extras),env,installer))
File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 483, in resolve
raise DistributionNotFound(req) # XXX put more info here
DistributionNotFound: TracWebAdmin
Apache log containt nothing interesting: a.b.c.d - - [17/Apr/2006:16:01:16 +0200] "GET /mlot/admin/general/plugin HTTP/1.1" 200 1384
trac.log it does not grow on error - that strange, means that error is quite early i think.
comment:6 Changed 20 years ago by
Thank you very much for the info. It really helps.
The reason that you are getting this error is because 0.9.x has no method for handling plugin dependencies. TracBlogPlugin uses methoeds and interfaces from both the TagsPlugin and the WebAdmin plugins. Therefore, those plugins need to load before the TracBlogPlugin loads. To enable this in 0.10, a setuptools check has been added which allows 0.10 to load the dependencies prior to loading the TracBlogPlugin. The result in 0.9.x is what you see, because it doesn't support that.
The solution is to simply install both the TagsPlugin and the WebAdmin plugin globally via:
# python setup.py install
Instead of putitng an egg in the plugins dir. If you really like eggs, then simply placing the .egg files of those plugins in your python site-packages dir should work, though I haven't tested that method.
I also updated the installation instructions on the TracBlogPlugin page to reflect this problem so that others won't have as hard a time. Thanks for the bug report.
Finally, somewhere along the line, the TracBlogPlugin module name changed from tracblog to tBlog, so you should probably update your trac.ini to tBlog.* = enabled, though if you're placing the TracBlogPlugin egg int he plugins dir, then this is not necessary.
Please try out the solution and then close this bug if it works.
comment:7 Changed 20 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Thank You very much for help. It solved my problem.
Based on information from You I choosed addind new directory to my PYTHONPATH (in face put using setenv in apache) and put there tblog egg.
However what happend is that this PYTHONPATH is imported at first (earlier than trac plugins/ directory) so i had to put webadmin and tags eggs in my new PYTHONPATH dir, and leave other eggs (with tblog) in standard plugins directory which is loaded later. Such setup works fine.
One thing, under trac admin in manage plugins screen tBlog does not contain meta informaiton (author,licence, web, descr) all are marked as UNKNOWN. Not known to me what is the reason.
Anyway, for me case is solved, thank You kindly for Your help.



Please don't log tickets against the TracHacks component. Use the component corresponding to the hack you have an issue with (in this case TracBlogPlugin), otherwise the plugin author will not be aware of the ticket.