You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by Apache Bloodhound <de...@bloodhound.apache.org> on 2014/03/10 18:06:32 UTC
[Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
#790: Expansion of log TracLinks fails for changeset hash ID
---------------------+--------------------
Reporter: olemis | Owner:
Type: defect | Status: new
Priority: major | Version: 0.8.0dev
Resolution: |
---------------------+--------------------
==== How to Reproduce ====
While doing a POST operation on `/ticket/300`, Trac issued an internal
error.
Changeset IDs belong in a mercurial repository .
This happened while expanding the TracLinks expression in `edited_comment`
below.
Request parameters:
{{{
{'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
'cnum_edit': u'4',
'edited_comment': u'Options for format clause implemented in
log:tracgviz@4d00cd2:233a8bb .',
'id': u'300',
'preview_comment': u'Preview'}
}}}
User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16`
==== System Information ====
|| '''`Trac`''' || `1.0.1` [[br]] `` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Bloodhound Trac`''' || `1.0.1` ||
|| '''`Genshi`''' || `0.7 (with speedups)` ||
|| '''`Mercurial`''' || `2.6.2` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
WSGIApplicationGroup %{GLOBAL})` ||
|| '''`psycopg2`''' || `2.5` ||
|| '''`Pygments`''' || `1.6` ||
|| '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
`[GCC 4.6.3]` ||
|| '''`pytz`''' || `2013b` ||
|| '''`RPC`''' || `1.1.2` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.7.2` ||
==== Enabled Plugins ====
|| '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundLabs`''' || `0.1.0` ||
|| '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
|| '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundRPC`''' || `1.1.2` ||
|| '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundTheme`''' || `0.8.0dev` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracGViz`''' || `1.4.2` ||
|| '''`TracIncludeMacro`''' || `3.0.0dev` ||
|| '''`TracMercurial`''' || `1.0.0.3dev` ||
|| '''`TracPermRedirect`''' || `3.0` ||
|| '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
|| '''`TracTocMacro`''' || `11.0.0.3` ||
==== Python Traceback ====
{{{
Traceback (most recent call last):
File "/path/to/bh//trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
content_type)
File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
render_template
encoding='utf-8')
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 184, in render
return encode(generator, method=method, encoding=encoding, out=out)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 58, in encode
for chunk in iterator:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 350, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 829, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 669, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 774, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 594, in __call__
for ev in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
_strip_accesskeys
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 362, in _match
content = list(content)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 326, in _match
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 578, in _flatten
result = _eval_expr(data, ctxt, vars)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
retval = expr.evaluate(ctxt)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/eval.py", line 177, in evaluate
return eval(self.code, _globals, {'__data__': data})
File
"/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
line 106, in <Expression u'wiki_to_html(context, text,
escape_newlines=preserve_newlines)'>
${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
format_to_html
return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
result = re.sub(self.wikiparser.rules, self.replace, line)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
replacement = self.handle_match(fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
handle_match
return internal_handler(match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
_shref_formatter
return self._make_link(ns, target, match, match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in _make_link
fullmatch)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393, in
_format_link
revranges = self._normalize_ranges(repos, path, revs)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436, in
_normalize_ranges
return Ranges(ranges)
File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
self.appendrange(r)
File "/path/to/bh//trac/trac/util/__init__.py", line 841, in appendrange
a, b = int(x), int(x)
ValueError: invalid literal for int() with base 10:
'4d00cd2713712ca230080dbbda24d0d25540d0fe-
233a8bbebb2c77c607661767c03689512a16637f'
}}}
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+---------------------------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: critical | Milestone:
Component: trac core | Version: 0.8.0dev
Resolution: | Keywords: hg, browser log TracLinks
------------------------+---------------------------------------
Old description:
> ==== How to Reproduce ====
>
> While doing a POST operation on `/ticket/300`, Trac issued an internal
> error.
>
> This happened while expanding the TracLinks expression in
> `edited_comment` below. Changeset correspond to a mercurial repository .
>
> Request parameters:
> {{{
> {'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
> 'cnum_edit': u'4',
> 'edited_comment': u'Options for format clause implemented in
> log:tracgviz@4d00cd2:233a8bb .',
> 'id': u'300',
> 'preview_comment': u'Preview'}
> }}}
>
> User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388
> Version/12.16`
>
> ==== System Information ====
> || '''`Trac`''' || `1.0.1` [[br]] `` ||
> || '''`Babel`''' || `0.9.6` ||
> || '''`Bloodhound Trac`''' || `1.0.1` ||
> || '''`Genshi`''' || `0.7 (with speedups)` ||
> || '''`Mercurial`''' || `2.6.2` ||
> || '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
> WSGIApplicationGroup %{GLOBAL})` ||
> || '''`psycopg2`''' || `2.5` ||
> || '''`Pygments`''' || `1.6` ||
> || '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
> `[GCC 4.6.3]` ||
> || '''`pytz`''' || `2013b` ||
> || '''`RPC`''' || `1.1.2` ||
> || '''`setuptools`''' || `0.6` ||
> || '''`jQuery`''' || `1.7.2` ||
>
> ==== Enabled Plugins ====
> || '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundLabs`''' || `0.1.0` ||
> || '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
> || '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundRPC`''' || `1.1.2` ||
> || '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundTheme`''' || `0.8.0dev` ||
> || '''`TracAccountManager`''' || `0.4.3` ||
> || '''`TracGViz`''' || `1.4.2` ||
> || '''`TracIncludeMacro`''' || `3.0.0dev` ||
> || '''`TracMercurial`''' || `1.0.0.3dev` ||
> || '''`TracPermRedirect`''' || `3.0` ||
> || '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
> || '''`TracTocMacro`''' || `11.0.0.3` ||
>
> ==== Python Traceback ====
> {{{
> Traceback (most recent call last):
> File "/path/to/bh//trac/trac/web/main.py", line 477, in
> _dispatch_request
> dispatcher.dispatch(req)
> File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
> content_type)
> File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
> render_template
> encoding='utf-8')
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 184, in render
> return encode(generator, method=method, encoding=encoding, out=out)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 58, in encode
> for chunk in iterator:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 350, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 829, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 669, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 774, in __call__
> for kind, data, pos in chain(stream, [(None, None, None)]):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 594, in __call__
> for ev in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
> _strip_accesskeys
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 362, in _match
> content = list(content)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 326, in _match
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 578, in _flatten
> result = _eval_expr(data, ctxt, vars)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
> retval = expr.evaluate(ctxt)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/eval.py", line 177, in evaluate
> return eval(self.code, _globals, {'__data__': data})
> File
> "/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
> line 106, in <Expression u'wiki_to_html(context, text,
> escape_newlines=preserve_newlines)'>
> ${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
> format_to_html
> return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
> escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
> result = re.sub(self.wikiparser.rules, self.replace, line)
> File "/usr/lib/python2.7/re.py", line 151, in sub
> return _compile(pattern, flags).sub(repl, string, count)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
> replacement = self.handle_match(fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
> handle_match
> return internal_handler(match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
> _shref_formatter
> return self._make_link(ns, target, match, match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in
> _make_link
> fullmatch)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393,
> in _format_link
> revranges = self._normalize_ranges(repos, path, revs)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436,
> in _normalize_ranges
> return Ranges(ranges)
> File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
> self.appendrange(r)
> File "/path/to/bh//trac/trac/util/__init__.py", line 841, in
> appendrange
> a, b = int(x), int(x)
> ValueError: invalid literal for int() with base 10:
> '4d00cd2713712ca230080dbbda24d0d25540d0fe-
> 233a8bbebb2c77c607661767c03689512a16637f'
> }}}
New description:
==== How to Reproduce ====
While doing a POST operation on `/ticket/300`, Trac issued an internal
error.
This happened while expanding the TracLinks expression in `edited_comment`
below. Changeset correspond to a mercurial repository .
Request parameters:
{{{#!py
{'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
'cnum_edit': u'4',
'edited_comment': u'Options for format clause implemented in
log:tracgviz@4d00cd2:233a8bb .',
'id': u'300',
'preview_comment': u'Preview'}
}}}
User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16`
==== System Information ====
|| '''`Trac`''' || `1.0.1` [[br]] `` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Bloodhound Trac`''' || `1.0.1` ||
|| '''`Genshi`''' || `0.7 (with speedups)` ||
|| '''`Mercurial`''' || `2.6.2` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
WSGIApplicationGroup %{GLOBAL})` ||
|| '''`psycopg2`''' || `2.5` ||
|| '''`Pygments`''' || `1.6` ||
|| '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
`[GCC 4.6.3]` ||
|| '''`pytz`''' || `2013b` ||
|| '''`RPC`''' || `1.1.2` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.7.2` ||
==== Enabled Plugins ====
|| '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundLabs`''' || `0.1.0` ||
|| '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
|| '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundRPC`''' || `1.1.2` ||
|| '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundTheme`''' || `0.8.0dev` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracGViz`''' || `1.4.2` ||
|| '''`TracIncludeMacro`''' || `3.0.0dev` ||
|| '''`TracMercurial`''' || `1.0.0.3dev` ||
|| '''`TracPermRedirect`''' || `3.0` ||
|| '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
|| '''`TracTocMacro`''' || `11.0.0.3` ||
==== Python Traceback ====
{{{#!pycon
Traceback (most recent call last):
File "/path/to/bh//trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
content_type)
File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
render_template
encoding='utf-8')
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 184, in render
return encode(generator, method=method, encoding=encoding, out=out)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 58, in encode
for chunk in iterator:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 350, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 829, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 669, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 774, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 594, in __call__
for ev in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
_strip_accesskeys
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 362, in _match
content = list(content)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 326, in _match
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 578, in _flatten
result = _eval_expr(data, ctxt, vars)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
retval = expr.evaluate(ctxt)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/eval.py", line 177, in evaluate
return eval(self.code, _globals, {'__data__': data})
File
"/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
line 106, in <Expression u'wiki_to_html(context, text,
escape_newlines=preserve_newlines)'>
${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
format_to_html
return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
result = re.sub(self.wikiparser.rules, self.replace, line)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
replacement = self.handle_match(fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
handle_match
return internal_handler(match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
_shref_formatter
return self._make_link(ns, target, match, match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in _make_link
fullmatch)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393, in
_format_link
revranges = self._normalize_ranges(repos, path, revs)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436, in
_normalize_ranges
return Ranges(ranges)
File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
self.appendrange(r)
File "/path/to/bh//trac/trac/util/__init__.py", line 841, in appendrange
a, b = int(x), int(x)
ValueError: invalid literal for int() with base 10:
'4d00cd2713712ca230080dbbda24d0d25540d0fe-
233a8bbebb2c77c607661767c03689512a16637f'
}}}
--
Comment (by olemis):
Highlighting traceback text and request args
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:2>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+---------------------------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: critical | Milestone:
Component: trac core | Version: 0.8.0dev
Resolution: | Keywords: hg, browser log TracLinks
------------------------+---------------------------------------
Changes (by olemis):
* owner: => nobody
* keywords: => hg, browser log TracLinks
* component: => trac core
* priority: major => critical
Old description:
> ==== How to Reproduce ====
>
> While doing a POST operation on `/ticket/300`, Trac issued an internal
> error.
> Changeset IDs belong in a mercurial repository .
>
> This happened while expanding the TracLinks expression in
> `edited_comment` below.
>
> Request parameters:
> {{{
> {'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
> 'cnum_edit': u'4',
> 'edited_comment': u'Options for format clause implemented in
> log:tracgviz@4d00cd2:233a8bb .',
> 'id': u'300',
> 'preview_comment': u'Preview'}
> }}}
>
> User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388
> Version/12.16`
>
> ==== System Information ====
> || '''`Trac`''' || `1.0.1` [[br]] `` ||
> || '''`Babel`''' || `0.9.6` ||
> || '''`Bloodhound Trac`''' || `1.0.1` ||
> || '''`Genshi`''' || `0.7 (with speedups)` ||
> || '''`Mercurial`''' || `2.6.2` ||
> || '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
> WSGIApplicationGroup %{GLOBAL})` ||
> || '''`psycopg2`''' || `2.5` ||
> || '''`Pygments`''' || `1.6` ||
> || '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
> `[GCC 4.6.3]` ||
> || '''`pytz`''' || `2013b` ||
> || '''`RPC`''' || `1.1.2` ||
> || '''`setuptools`''' || `0.6` ||
> || '''`jQuery`''' || `1.7.2` ||
>
> ==== Enabled Plugins ====
> || '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundLabs`''' || `0.1.0` ||
> || '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
> || '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundRPC`''' || `1.1.2` ||
> || '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundTheme`''' || `0.8.0dev` ||
> || '''`TracAccountManager`''' || `0.4.3` ||
> || '''`TracGViz`''' || `1.4.2` ||
> || '''`TracIncludeMacro`''' || `3.0.0dev` ||
> || '''`TracMercurial`''' || `1.0.0.3dev` ||
> || '''`TracPermRedirect`''' || `3.0` ||
> || '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
> || '''`TracTocMacro`''' || `11.0.0.3` ||
>
> ==== Python Traceback ====
> {{{
> Traceback (most recent call last):
> File "/path/to/bh//trac/trac/web/main.py", line 477, in
> _dispatch_request
> dispatcher.dispatch(req)
> File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
> content_type)
> File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
> render_template
> encoding='utf-8')
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 184, in render
> return encode(generator, method=method, encoding=encoding, out=out)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 58, in encode
> for chunk in iterator:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 350, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 829, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 669, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 774, in __call__
> for kind, data, pos in chain(stream, [(None, None, None)]):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 594, in __call__
> for ev in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
> _strip_accesskeys
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 362, in _match
> content = list(content)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 326, in _match
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 578, in _flatten
> result = _eval_expr(data, ctxt, vars)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
> retval = expr.evaluate(ctxt)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/eval.py", line 177, in evaluate
> return eval(self.code, _globals, {'__data__': data})
> File
> "/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
> line 106, in <Expression u'wiki_to_html(context, text,
> escape_newlines=preserve_newlines)'>
> ${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
> format_to_html
> return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
> escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
> result = re.sub(self.wikiparser.rules, self.replace, line)
> File "/usr/lib/python2.7/re.py", line 151, in sub
> return _compile(pattern, flags).sub(repl, string, count)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
> replacement = self.handle_match(fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
> handle_match
> return internal_handler(match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
> _shref_formatter
> return self._make_link(ns, target, match, match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in
> _make_link
> fullmatch)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393,
> in _format_link
> revranges = self._normalize_ranges(repos, path, revs)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436,
> in _normalize_ranges
> return Ranges(ranges)
> File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
> self.appendrange(r)
> File "/path/to/bh//trac/trac/util/__init__.py", line 841, in
> appendrange
> a, b = int(x), int(x)
> ValueError: invalid literal for int() with base 10:
> '4d00cd2713712ca230080dbbda24d0d25540d0fe-
> 233a8bbebb2c77c607661767c03689512a16637f'
> }}}
New description:
==== How to Reproduce ====
While doing a POST operation on `/ticket/300`, Trac issued an internal
error.
This happened while expanding the TracLinks expression in `edited_comment`
below. Changeset correspond to a mercurial repository .
Request parameters:
{{{
{'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
'cnum_edit': u'4',
'edited_comment': u'Options for format clause implemented in
log:tracgviz@4d00cd2:233a8bb .',
'id': u'300',
'preview_comment': u'Preview'}
}}}
User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16`
==== System Information ====
|| '''`Trac`''' || `1.0.1` [[br]] `` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Bloodhound Trac`''' || `1.0.1` ||
|| '''`Genshi`''' || `0.7 (with speedups)` ||
|| '''`Mercurial`''' || `2.6.2` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
WSGIApplicationGroup %{GLOBAL})` ||
|| '''`psycopg2`''' || `2.5` ||
|| '''`Pygments`''' || `1.6` ||
|| '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
`[GCC 4.6.3]` ||
|| '''`pytz`''' || `2013b` ||
|| '''`RPC`''' || `1.1.2` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.7.2` ||
==== Enabled Plugins ====
|| '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundLabs`''' || `0.1.0` ||
|| '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
|| '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundRPC`''' || `1.1.2` ||
|| '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundTheme`''' || `0.8.0dev` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracGViz`''' || `1.4.2` ||
|| '''`TracIncludeMacro`''' || `3.0.0dev` ||
|| '''`TracMercurial`''' || `1.0.0.3dev` ||
|| '''`TracPermRedirect`''' || `3.0` ||
|| '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
|| '''`TracTocMacro`''' || `11.0.0.3` ||
==== Python Traceback ====
{{{
Traceback (most recent call last):
File "/path/to/bh//trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
content_type)
File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
render_template
encoding='utf-8')
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 184, in render
return encode(generator, method=method, encoding=encoding, out=out)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 58, in encode
for chunk in iterator:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 350, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 829, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 669, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 774, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 594, in __call__
for ev in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
_strip_accesskeys
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 362, in _match
content = list(content)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 326, in _match
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 578, in _flatten
result = _eval_expr(data, ctxt, vars)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
retval = expr.evaluate(ctxt)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/eval.py", line 177, in evaluate
return eval(self.code, _globals, {'__data__': data})
File
"/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
line 106, in <Expression u'wiki_to_html(context, text,
escape_newlines=preserve_newlines)'>
${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
format_to_html
return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
result = re.sub(self.wikiparser.rules, self.replace, line)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
replacement = self.handle_match(fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
handle_match
return internal_handler(match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
_shref_formatter
return self._make_link(ns, target, match, match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in _make_link
fullmatch)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393, in
_format_link
revranges = self._normalize_ranges(repos, path, revs)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436, in
_normalize_ranges
return Ranges(ranges)
File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
self.appendrange(r)
File "/path/to/bh//trac/trac/util/__init__.py", line 841, in appendrange
a, b = int(x), int(x)
ValueError: invalid literal for int() with base 10:
'4d00cd2713712ca230080dbbda24d0d25540d0fe-
233a8bbebb2c77c607661767c03689512a16637f'
}}}
--
Comment:
This breaks the ticket page if changes are committed .
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:1>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+--------------------------------------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone: Release 9
Component: trac core | Version: 0.8.0dev
Resolution: | Keywords: hg, browser log TracLinks trac-1.0.2
------------------------+--------------------------------------------------
Comment (by jun66j5):
Replying to [comment:3 rjollos]:
> After trac:#11308 this shouldn't result in a traceback, but it still
won't render a valid !TracLink. We could open an upstream ticket to
discuss whether revision ranges can be supported for the DVCS
repositories.
That has been reported in trac:#11050, see trac:log:jomae.git@t11050.
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:6>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+----------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone:
Component: dashboard | Version: 0.8.0dev
Resolution: | Keywords:
------------------------+----------------------
Changes (by rjollos):
* priority: critical => major
* keywords: hg, browser log TracLinks =>
* component: trac core => dashboard
Old description:
> ==== How to Reproduce ====
>
> While doing a POST operation on `/ticket/300`, Trac issued an internal
> error.
>
> This happened while expanding the TracLinks expression in
> `edited_comment` below. Changeset correspond to a mercurial repository .
>
> Request parameters:
> {{{#!py
> {'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
> 'cnum_edit': u'4',
> 'edited_comment': u'Options for format clause implemented in
> log:tracgviz@4d00cd2:233a8bb .',
> 'id': u'300',
> 'preview_comment': u'Preview'}
> }}}
>
> User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388
> Version/12.16`
>
> ==== System Information ====
> || '''`Trac`''' || `1.0.1` [[br]] `` ||
> || '''`Babel`''' || `0.9.6` ||
> || '''`Bloodhound Trac`''' || `1.0.1` ||
> || '''`Genshi`''' || `0.7 (with speedups)` ||
> || '''`Mercurial`''' || `2.6.2` ||
> || '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
> WSGIApplicationGroup %{GLOBAL})` ||
> || '''`psycopg2`''' || `2.5` ||
> || '''`Pygments`''' || `1.6` ||
> || '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
> `[GCC 4.6.3]` ||
> || '''`pytz`''' || `2013b` ||
> || '''`RPC`''' || `1.1.2` ||
> || '''`setuptools`''' || `0.6` ||
> || '''`jQuery`''' || `1.7.2` ||
>
> ==== Enabled Plugins ====
> || '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundLabs`''' || `0.1.0` ||
> || '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
> || '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundRPC`''' || `1.1.2` ||
> || '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundTheme`''' || `0.8.0dev` ||
> || '''`TracAccountManager`''' || `0.4.3` ||
> || '''`TracGViz`''' || `1.4.2` ||
> || '''`TracIncludeMacro`''' || `3.0.0dev` ||
> || '''`TracMercurial`''' || `1.0.0.3dev` ||
> || '''`TracPermRedirect`''' || `3.0` ||
> || '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
> || '''`TracTocMacro`''' || `11.0.0.3` ||
>
> ==== Python Traceback ====
> {{{#!pycon
> Traceback (most recent call last):
> File "/path/to/bh//trac/trac/web/main.py", line 477, in
> _dispatch_request
> dispatcher.dispatch(req)
> File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
> content_type)
> File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
> render_template
> encoding='utf-8')
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 184, in render
> return encode(generator, method=method, encoding=encoding, out=out)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 58, in encode
> for chunk in iterator:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 350, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 829, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 669, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 774, in __call__
> for kind, data, pos in chain(stream, [(None, None, None)]):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 594, in __call__
> for ev in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
> _strip_accesskeys
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 362, in _match
> content = list(content)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 326, in _match
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 578, in _flatten
> result = _eval_expr(data, ctxt, vars)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
> retval = expr.evaluate(ctxt)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/eval.py", line 177, in evaluate
> return eval(self.code, _globals, {'__data__': data})
> File
> "/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
> line 106, in <Expression u'wiki_to_html(context, text,
> escape_newlines=preserve_newlines)'>
> ${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
> format_to_html
> return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
> escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
> result = re.sub(self.wikiparser.rules, self.replace, line)
> File "/usr/lib/python2.7/re.py", line 151, in sub
> return _compile(pattern, flags).sub(repl, string, count)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
> replacement = self.handle_match(fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
> handle_match
> return internal_handler(match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
> _shref_formatter
> return self._make_link(ns, target, match, match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in
> _make_link
> fullmatch)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393,
> in _format_link
> revranges = self._normalize_ranges(repos, path, revs)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436,
> in _normalize_ranges
> return Ranges(ranges)
> File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
> self.appendrange(r)
> File "/path/to/bh//trac/trac/util/__init__.py", line 841, in
> appendrange
> a, b = int(x), int(x)
> ValueError: invalid literal for int() with base 10:
> '4d00cd2713712ca230080dbbda24d0d25540d0fe-
> 233a8bbebb2c77c607661767c03689512a16637f'
> }}}
New description:
==== How to Reproduce ====
While doing a POST operation on `/ticket/300`, Trac issued an internal
error.
Changeset IDs belong in a mercurial repository .
This happened while expanding the TracLinks expression in `edited_comment`
below.
Request parameters:
{{{
{'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
'cnum_edit': u'4',
'edited_comment': u'Options for format clause implemented in
log:tracgviz@4d00cd2:233a8bb .',
'id': u'300',
'preview_comment': u'Preview'}
}}}
User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16`
==== System Information ====
|| '''`Trac`''' || `1.0.1` [[br]] `` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Bloodhound Trac`''' || `1.0.1` ||
|| '''`Genshi`''' || `0.7 (with speedups)` ||
|| '''`Mercurial`''' || `2.6.2` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
WSGIApplicationGroup %{GLOBAL})` ||
|| '''`psycopg2`''' || `2.5` ||
|| '''`Pygments`''' || `1.6` ||
|| '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
`[GCC 4.6.3]` ||
|| '''`pytz`''' || `2013b` ||
|| '''`RPC`''' || `1.1.2` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.7.2` ||
==== Enabled Plugins ====
|| '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundLabs`''' || `0.1.0` ||
|| '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
|| '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundRPC`''' || `1.1.2` ||
|| '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundTheme`''' || `0.8.0dev` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracGViz`''' || `1.4.2` ||
|| '''`TracIncludeMacro`''' || `3.0.0dev` ||
|| '''`TracMercurial`''' || `1.0.0.3dev` ||
|| '''`TracPermRedirect`''' || `3.0` ||
|| '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
|| '''`TracTocMacro`''' || `11.0.0.3` ||
==== Python Traceback ====
{{{
Traceback (most recent call last):
File "/path/to/bh//trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
content_type)
File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
render_template
encoding='utf-8')
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 184, in render
return encode(generator, method=method, encoding=encoding, out=out)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 58, in encode
for chunk in iterator:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 350, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 829, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 669, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 774, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 594, in __call__
for ev in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
_strip_accesskeys
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 362, in _match
content = list(content)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 326, in _match
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 578, in _flatten
result = _eval_expr(data, ctxt, vars)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
retval = expr.evaluate(ctxt)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/eval.py", line 177, in evaluate
return eval(self.code, _globals, {'__data__': data})
File
"/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
line 106, in <Expression u'wiki_to_html(context, text,
escape_newlines=preserve_newlines)'>
${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
format_to_html
return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
result = re.sub(self.wikiparser.rules, self.replace, line)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
replacement = self.handle_match(fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
handle_match
return internal_handler(match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
_shref_formatter
return self._make_link(ns, target, match, match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in _make_link
fullmatch)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393, in
_format_link
revranges = self._normalize_ranges(repos, path, revs)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436, in
_normalize_ranges
return Ranges(ranges)
File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
self.appendrange(r)
File "/path/to/bh//trac/trac/util/__init__.py", line 841, in appendrange
a, b = int(x), int(x)
ValueError: invalid literal for int() with base 10:
'4d00cd2713712ca230080dbbda24d0d25540d0fe-
233a8bbebb2c77c607661767c03689512a16637f'
}}}
--
Comment:
I'm fairly sure that revision ranges are not supported for hashes, only
linear revision ranges are supported. After trac:#11308 this shouldn't
result in a traceback, but it still won't render a valid !TracLink. We
could open an upstream ticket to discuss whether revision ranges can be
supported for the DVCS repositories.
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:3>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+--------------------------------------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone: Release 9
Component: trac core | Version: 0.8.0dev
Resolution: | Keywords: hg, browser log TracLinks trac-1.0.2
------------------------+--------------------------------------------------
Changes (by rjollos):
* keywords: hg, browser log TracLinks => hg, browser log TracLinks
trac-1.0.2
* milestone: => Release 9
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:5>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+--------------------------------------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone: Release 9
Component: trac core | Version: 0.8.0dev
Resolution: | Keywords: hg, browser log TracLinks trac-1.0.2
------------------------+--------------------------------------------------
Comment (by rjollos):
Thanks, Jun. Assuming you are waiting for testing feedback on trac:#11050,
I will try to find some time to test it out.
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:7>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker
Re: [Apache Bloodhound] #790: Expansion of log TracLinks fails for
changeset hash ID
Posted by Apache Bloodhound <de...@bloodhound.apache.org>.
#790: Expansion of log TracLinks fails for changeset hash ID
------------------------+---------------------------------------
Reporter: olemis | Owner: nobody
Type: defect | Status: new
Priority: major | Milestone:
Component: trac core | Version: 0.8.0dev
Resolution: | Keywords: hg, browser log TracLinks
------------------------+---------------------------------------
Changes (by rjollos):
* keywords: => hg, browser log TracLinks
* component: dashboard => trac core
Old description:
> ==== How to Reproduce ====
>
> While doing a POST operation on `/ticket/300`, Trac issued an internal
> error.
> Changeset IDs belong in a mercurial repository .
>
> This happened while expanding the TracLinks expression in
> `edited_comment` below.
>
> Request parameters:
> {{{
> {'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
> 'cnum_edit': u'4',
> 'edited_comment': u'Options for format clause implemented in
> log:tracgviz@4d00cd2:233a8bb .',
> 'id': u'300',
> 'preview_comment': u'Preview'}
> }}}
>
> User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388
> Version/12.16`
>
> ==== System Information ====
> || '''`Trac`''' || `1.0.1` [[br]] `` ||
> || '''`Babel`''' || `0.9.6` ||
> || '''`Bloodhound Trac`''' || `1.0.1` ||
> || '''`Genshi`''' || `0.7 (with speedups)` ||
> || '''`Mercurial`''' || `2.6.2` ||
> || '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
> WSGIApplicationGroup %{GLOBAL})` ||
> || '''`psycopg2`''' || `2.5` ||
> || '''`Pygments`''' || `1.6` ||
> || '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
> `[GCC 4.6.3]` ||
> || '''`pytz`''' || `2013b` ||
> || '''`RPC`''' || `1.1.2` ||
> || '''`setuptools`''' || `0.6` ||
> || '''`jQuery`''' || `1.7.2` ||
>
> ==== Enabled Plugins ====
> || '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundLabs`''' || `0.1.0` ||
> || '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
> || '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundRPC`''' || `1.1.2` ||
> || '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
> || '''`BloodhoundTheme`''' || `0.8.0dev` ||
> || '''`TracAccountManager`''' || `0.4.3` ||
> || '''`TracGViz`''' || `1.4.2` ||
> || '''`TracIncludeMacro`''' || `3.0.0dev` ||
> || '''`TracMercurial`''' || `1.0.0.3dev` ||
> || '''`TracPermRedirect`''' || `3.0` ||
> || '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
> || '''`TracTocMacro`''' || `11.0.0.3` ||
>
> ==== Python Traceback ====
> {{{
> Traceback (most recent call last):
> File "/path/to/bh//trac/trac/web/main.py", line 477, in
> _dispatch_request
> dispatcher.dispatch(req)
> File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
> content_type)
> File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
> render_template
> encoding='utf-8')
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 184, in render
> return encode(generator, method=method, encoding=encoding, out=out)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 58, in encode
> for chunk in iterator:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 350, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 829, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 669, in __call__
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 774, in __call__
> for kind, data, pos in chain(stream, [(None, None, None)]):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/output.py", line 594, in __call__
> for ev in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
> _strip_accesskeys
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 974, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
> for mark, (kind, data, pos) in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 799, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 734, in __call__
> for mark, event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/filters/transform.py", line 702, in _mark
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 378, in _match
> ctxt, start=idx + 1, **vars):
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 362, in _match
> content = list(content)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 326, in _match
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 558, in _flatten
> for kind, data, pos in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/core.py", line 289, in _ensure
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/path.py", line 588, in _generate
> subevent = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 618, in _include
> for event in stream:
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/markup.py", line 315, in _strip
> event = next()
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 578, in _flatten
> result = _eval_expr(data, ctxt, vars)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
> retval = expr.evaluate(ctxt)
> File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
> x86_64.egg/genshi/template/eval.py", line 177, in evaluate
> return eval(self.code, _globals, {'__data__': data})
> File
> "/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
> line 106, in <Expression u'wiki_to_html(context, text,
> escape_newlines=preserve_newlines)'>
> ${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
> format_to_html
> return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
> escape_newlines)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
> result = re.sub(self.wikiparser.rules, self.replace, line)
> File "/usr/lib/python2.7/re.py", line 151, in sub
> return _compile(pattern, flags).sub(repl, string, count)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
> replacement = self.handle_match(fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
> handle_match
> return internal_handler(match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
> _shref_formatter
> return self._make_link(ns, target, match, match, fullmatch)
> File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in
> _make_link
> fullmatch)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393,
> in _format_link
> revranges = self._normalize_ranges(repos, path, revs)
> File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436,
> in _normalize_ranges
> return Ranges(ranges)
> File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
> self.appendrange(r)
> File "/path/to/bh//trac/trac/util/__init__.py", line 841, in
> appendrange
> a, b = int(x), int(x)
> ValueError: invalid literal for int() with base 10:
> '4d00cd2713712ca230080dbbda24d0d25540d0fe-
> 233a8bbebb2c77c607661767c03689512a16637f'
> }}}
New description:
==== How to Reproduce ====
While doing a POST operation on `/ticket/300`, Trac issued an internal
error.
Changeset IDs belong in a mercurial repository .
Changeset IDs belong in a mercurial repository .
This happened while expanding the TracLinks expression in `edited_comment`
below.
Request parameters:
{{{#!py
{'__FORM_TOKEN': u'aeaea20ec38330adabe8f4d5',
'cnum_edit': u'4',
'edited_comment': u'Options for format clause implemented in
log:tracgviz@4d00cd2:233a8bb .',
'id': u'300',
'preview_comment': u'Preview'}
}}}
User agent: `Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16`
==== System Information ====
|| '''`Trac`''' || `1.0.1` [[br]] `` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Bloodhound Trac`''' || `1.0.1` ||
|| '''`Genshi`''' || `0.7 (with speedups)` ||
|| '''`Mercurial`''' || `2.6.2` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup bloodhound_net
WSGIApplicationGroup %{GLOBAL})` ||
|| '''`psycopg2`''' || `2.5` ||
|| '''`Pygments`''' || `1.6` ||
|| '''`Python`''' || `2.7.3 (default, Aug 1 2012, 05:25:23) ` [[br]]
`[GCC 4.6.3]` ||
|| '''`pytz`''' || `2013b` ||
|| '''`RPC`''' || `1.1.2` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.7.2` ||
==== Enabled Plugins ====
|| '''`BloodhoundDashboardPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundLabs`''' || `0.1.0` ||
|| '''`BloodhoundMultiProduct`''' || `0.8.0dev` ||
|| '''`BloodhoundRelationsPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundRPC`''' || `1.1.2` ||
|| '''`BloodhoundSearchPlugin`''' || `0.8.0dev` ||
|| '''`BloodhoundTheme`''' || `0.8.0dev` ||
|| '''`TracAccountManager`''' || `0.4.3` ||
|| '''`TracGViz`''' || `1.4.2` ||
|| '''`TracIncludeMacro`''' || `3.0.0dev` ||
|| '''`TracMercurial`''' || `1.0.0.3dev` ||
|| '''`TracPermRedirect`''' || `3.0` ||
|| '''`TracThemeEngine`''' || `2.2.2dev-r13718` ||
|| '''`TracTocMacro`''' || `11.0.0.3` ||
==== Python Traceback ====
{{{#!pycon
Traceback (most recent call last):
File "/path/to/bh//trac/trac/web/main.py", line 477, in
_dispatch_request
dispatcher.dispatch(req)
File "/path/to/bh//trac/trac/web/main.py", line 233, in dispatch
content_type)
File "/path/to/bh//trac/trac/web/chrome.py", line 1019, in
render_template
encoding='utf-8')
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 184, in render
return encode(generator, method=method, encoding=encoding, out=out)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 58, in encode
for chunk in iterator:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 350, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 829, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 669, in __call__
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 774, in __call__
for kind, data, pos in chain(stream, [(None, None, None)]):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/output.py", line 594, in __call__
for ev in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1156, in
_strip_accesskeys
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/trac/web/chrome.py", line 1145, in _generate
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 706, in _unmark
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 974, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 1195, in __call__
for mark, (kind, data, pos) in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 799, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 734, in __call__
for mark, event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/filters/transform.py", line 702, in _mark
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 378, in _match
ctxt, start=idx + 1, **vars):
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 362, in _match
content = list(content)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 326, in _match
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 558, in _flatten
for kind, data, pos in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/core.py", line 289, in _ensure
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/path.py", line 588, in _generate
subevent = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 618, in _include
for event in stream:
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/markup.py", line 315, in _strip
event = next()
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 578, in _flatten
result = _eval_expr(data, ctxt, vars)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/base.py", line 289, in _eval_expr
retval = expr.evaluate(ctxt)
File "/path/to/bh//trac/Genshi-0.7-py2.7-linux-
x86_64.egg/genshi/template/eval.py", line 177, in evaluate
return eval(self.code, _globals, {'__data__': data})
File
"/path/to/bh//bloodhound_theme/bhtheme/templates/bh_ticket_change.html",
line 106, in <Expression u'wiki_to_html(context, text,
escape_newlines=preserve_newlines)'>
${wiki_to_html(context, text, escape_newlines=preserve_newlines)}
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1546, in
format_to_html
return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1501, in generate
escape_newlines)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1283, in format
result = re.sub(self.wikiparser.rules, self.replace, line)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1201, in replace
replacement = self.handle_match(fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 1197, in
handle_match
return internal_handler(match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 584, in
_shref_formatter
return self._make_link(ns, target, match, match, fullmatch)
File "/path/to/bh//trac/trac/wiki/formatter.py", line 635, in _make_link
fullmatch)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 393, in
_format_link
revranges = self._normalize_ranges(repos, path, revs)
File "/path/to/bh//trac/trac/versioncontrol/web_ui/log.py", line 436, in
_normalize_ranges
return Ranges(ranges)
File "/path/to/bh//trac/trac/util/__init__.py", line 823, in __init__
self.appendrange(r)
File "/path/to/bh//trac/trac/util/__init__.py", line 841, in appendrange
a, b = int(x), int(x)
ValueError: invalid literal for int() with base 10:
'4d00cd2713712ca230080dbbda24d0d25540d0fe-
233a8bbebb2c77c607661767c03689512a16637f'
}}}
--
Comment:
Collision - sorry about that.
--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/790#comment:4>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker