Edgewall Software
Modify

Opened 14 years ago

Closed 14 years ago

#9294 closed defect (cantfix)

Trac 0.11.7 incompatibility with Genshi 0.6

Reported by: Sascha Kratky <kratky@…> Owned by:
Priority: normal Milestone:
Component: general Version: 0.11.7
Severity: normal Keywords: Genshi
Cc: felix.schwarz@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

Since upgrading to Genshi 0.6, Trac 0.11.7 always raises the following error upon sending notification emails (Traceback enabled):

2010-05-04 14:55:04,961 Trac[web_ui] ERROR: Failure sending notification on change to ticket #2607: 
Traceback (most recent call last):
  File "/Library/Python/2.6/site-packages/Trac-0.11.7-py2.6.egg/trac/ticket/web_ui.py", line 1037, in _do_save
    tn.notify(ticket, newticket=False, modtime=now)
  File "/Library/Python/2.6/site-packages/Trac-0.11.7-py2.6.egg/trac/ticket/notification.py", line 142, in notify
    subject = self.format_subj(summary)
  File "/Library/Python/2.6/site-packages/Trac-0.11.7-py2.6.egg/trac/ticket/notification.py", line 219, in format_subj
    template = TextTemplate(template.encode('utf8'))
  File "build/bdist.macosx-10.6-universal/egg/genshi/template/base.py", line 398, in __init__
    self._init_loader()
  File "build/bdist.macosx-10.6-universal/egg/genshi/template/base.py", line 437, in _init_loader
    self.loader = TemplateLoader([os.path.abspath(basedir)])
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.py", line 337, in abspath
    path = join(os.getcwd(), path)
OSError: (13, 'Permission denied')

In my trac.ini file I am using the following setting for ticket_subject_template.

ticket_subject_template = $prefix #$ticket.id: $summary

After reverting to Genshi 0.5.1 the problem goes away.

Using Trac 0.11.7, Python 2.6.1, Apache/2.2.14, mod_wsgi 3.2, Mac OS X Server 10.6.3.

Attachments (0)

Change History (2)

comment:1 by Felix Schwarz, 14 years ago

Cc: felix.schwarz@… added

comment:2 by Christian Boos, 14 years ago

Milestone: 0.11.7.1
Resolution: cantfix
Status: newclosed

The fact that os.getcwd() triggers a "Permission denied" sounds like an InstallationIssue to me… Try changing the working directory from where Trac is started (httpd -d ..., ServerRoot directive, …).

I'm not sure we can do much about this, at best it's a Genshi issue, if there's a difference between 0.5.1 and 0.6.

Besides, there's no reason to switch to Genshi 0.6 if you're using only Trac 0.11.x, but for most users (including here on edgewall.org), this combination work (e.g. Bitten, [Babel:] and Genshi instances). So if Genshi 0.5.1 works for you, don't upgrade, it's fine like that.

If the problem happens when running Trac 0.12, it's unfortunately much more problematic as in this case Genshi 0.6 is required, but it's not less an InstallationIssue

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.