Opened 17 years ago
Closed 17 years ago
#8105 closed defect (fixed)
TypeError on displaying changeset (possible whitespace diff problem)
| Reported by: | Owned by: | Christian Boos | |
|---|---|---|---|
| Priority: | high | Milestone: | 0.12 |
| Component: | version control/changeset view | Version: | 0.12dev |
| Severity: | normal | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
Trac fails to show some changesets, giving the following error message:
TypeError: argument of type 'NoneType' is not iterable
But it successfully shows this same changeset for individual files. I guess that has something to do with whitespace ignoring options, because turning the option "Ignore white space changes" off sometimes helps, but sometimes no changes to that options help.
How to Reproduce
While doing a GET operation on /changeset/79/, Trac issued an internal error.
(please provide additional details here)
Request parameters:
{'new': u'79', 'new_path': u'/'}
System Information
| Trac | 0.12dev-r7924
|
| Python | 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)]
|
| setuptools | 0.6c9
|
| SQLite | 3.3.4
|
| pysqlite | 2.3.2
|
| Genshi | 0.6dev-r999
|
| Pygments | 1.0
|
| Subversion | 1.5.5 (r34862)
|
Python Traceback
Traceback (most recent call last):
File "c:\python25\lib\site-packages\Trac-0.12dev_r7924-py2.5.egg\trac\web\main.py", line 459, in _dispatch_request
dispatcher.dispatch(req)
File "c:\python25\lib\site-packages\Trac-0.12dev_r7924-py2.5.egg\trac\web\main.py", line 237, in dispatch
content_type)
File "c:\python25\lib\site-packages\Trac-0.12dev_r7924-py2.5.egg\trac\web\chrome.py", line 774, in render_template
stream.render(method, doctype=doctype, out=buffer)
File "build\bdist.win32\egg\genshi\core.py", line 183, in render
return encode(generator, method=method, encoding=encoding, out=out)
File "build\bdist.win32\egg\genshi\output.py", line 57, in encode
for chunk in iterator:
File "build\bdist.win32\egg\genshi\output.py", line 307, in __call__
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\output.py", line 749, in __call__
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\output.py", line 588, in __call__
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\output.py", line 694, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "build\bdist.win32\egg\genshi\output.py", line 528, in __call__
for ev in stream:
File "build\bdist.win32\egg\genshi\core.py", line 287, in _ensure
for event in stream:
File "build\bdist.win32\egg\genshi\core.py", line 287, in _ensure
for event in stream:
File "c:\python25\lib\site-packages\Trac-0.12dev_r7924-py2.5.egg\trac\web\chrome.py", line 839, in _strip_accesskeys
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\core.py", line 287, in _ensure
for event in stream:
File "c:\python25\lib\site-packages\Trac-0.12dev_r7924-py2.5.egg\trac\web\chrome.py", line 828, in _generate
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 603, in _include
for event in stream:
File "build\bdist.win32\egg\genshi\template\markup.py", line 382, in _match
ctxt, start=idx + 1, **vars):
File "build\bdist.win32\egg\genshi\template\markup.py", line 382, in _match
ctxt, start=idx + 1, **vars):
File "build\bdist.win32\egg\genshi\template\markup.py", line 330, in _match
for event in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 577, in _exec
for event in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 567, in _eval
for event in substream:
File "build\bdist.win32\egg\genshi\template\base.py", line 530, in _eval
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 585, in _flatten
for event in stream:
File "build\bdist.win32\egg\genshi\core.py", line 287, in _ensure
for event in stream:
File "build\bdist.win32\egg\genshi\path.py", line 145, in _generate
subevent = stream.next()
File "build\bdist.win32\egg\genshi\template\base.py", line 603, in _include
for event in stream:
File "build\bdist.win32\egg\genshi\template\markup.py", line 319, in _strip
event = stream.next()
File "build\bdist.win32\egg\genshi\template\base.py", line 577, in _exec
for event in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 567, in _eval
for event in substream:
File "build\bdist.win32\egg\genshi\template\base.py", line 530, in _eval
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 585, in _flatten
for event in stream:
File "build\bdist.win32\egg\genshi\core.py", line 287, in _ensure
for event in stream:
File "build\bdist.win32\egg\genshi\path.py", line 145, in _generate
subevent = stream.next()
File "build\bdist.win32\egg\genshi\template\base.py", line 616, in _include
for event in tmpl.generate(ctxt, **vars):
File "build\bdist.win32\egg\genshi\template\base.py", line 603, in _include
for event in stream:
File "build\bdist.win32\egg\genshi\template\markup.py", line 330, in _match
for event in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 577, in _exec
for event in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 530, in _eval
for kind, data, pos in stream:
File "build\bdist.win32\egg\genshi\template\base.py", line 592, in _flatten
for event in self._flatten(substream, ctxt, **vars):
File "build\bdist.win32\egg\genshi\template\base.py", line 592, in _flatten
for event in self._flatten(substream, ctxt, **vars):
File "build\bdist.win32\egg\genshi\template\base.py", line 591, in _flatten
**vars)
File "build\bdist.win32\egg\genshi\template\base.py", line 267, in _apply_directives
stream = directives[0](iter(stream), directives[1:], ctxt, **vars)
File "build\bdist.win32\egg\genshi\template\directives.py", line 401, in __call__
value = _eval_expr(self.expr, ctxt, **vars)
File "build\bdist.win32\egg\genshi\template\base.py", line 281, in _eval_expr
retval = expr.evaluate(ctxt)
File "build\bdist.win32\egg\genshi\template\eval.py", line 178, in evaluate
return eval(self.code, _globals, {'__data__': data})
File "C:\Python25\lib\site-packages\trac-0.12dev_r7924-py2.5.egg\trac\templates\diff_div.html", line 45, in <Expression u"item.diffs or item.props or 'comments' in item">
<li py:if="item.diffs or item.props or 'comments' in item" class="entry" py:with="comments = item.get('comments')">
TypeError: argument of type 'NoneType' is not iterable
Attachments (0)
Change History (3)
follow-up: 2 comment:1 by , 17 years ago
| Milestone: | → 0.12 |
|---|---|
| Owner: | set to |
| Priority: | normal → high |
| Version: | devel → 0.12dev |
comment:2 by , 17 years ago
Please try to replace the above test with:
Wow, that was fast! Thanks for your help, that worked.
comment:3 by , 17 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Fixed in r7933, thanks for the report!



Thanks for the report, that's a regression introduced in r7880.
File "C:\Python25\lib\site-packages\trac-0.12dev_r7924-py2.5.egg\trac\templates\diff_div.html", line 45, in <Expression u"item.diffs or item.props or 'comments' in item"> <li py:if="item.diffs or item.props or 'comments' in item" class="entry" py:with="comments = item.get('comments')">Please try to replace the above test with: