Modify ↓
#8977 closed defect (fixed)
IndexError: string index out of range
Reported by: | Remy Blank | Owned by: | Christian Boos |
---|---|---|---|
Priority: | high | Milestone: | 0.12 |
Component: | wiki system | Version: | 0.12dev |
Severity: | normal | Keywords: | table colspan |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
How to Reproduce
While doing a POST operation on /wiki/WikiStart
, Trac issued an internal error.
This can be reproduced on t.e.o by inserting the following table into a wiki page, and previewing the page:
||column1||||
Admittedly, this syntax is now ill-defined (with the colspan functionality from #1293), but it was legal before. At any rate, this shouldn't trigger an internal error, as it prevents rendering of the whole page.
Request parameters:
{'__FORM_TOKEN': u'2ab0ddb50d29e8ee64e76d63', 'action': u'edit', 'comment': u'', 'from_editor': u'1', 'page': u'WikiStart', 'preview': u'Preview Page', 'readonly': u'on', 'scroll_bar_pos': u'0', 'sidebyside': u'on', 'text': u'{{{\r\n#!div style="float: right; font-size: 90%; margin: 0 2em; text-align: center"\r\n\r\n\'\'\' try out our demos! \'\'\'\r\n[[br]]\r\n[/demo-0.11 Trac 0.11 demo] \r\n[[br]]or[[br]]\r\n[/demo-0.12 Trac 0.12 demo]\r\n\r\n}}}\r\n= Welcome to the Trac Open Source Project. =\r\n\r\n||column1||||\r\n\r\nTrac is an enhanced wiki and issue tracking system for software development projects.\r\nTrac uses a minimalistic approach to web-based software project management.\r\nOur mission is to help developers write great software while staying out of\r\nthe way. Trac should impose as little as possible on a team\'s established\r\ndevelopment process and policies.\r\n\r\n\r\nIt provides an interface to [http://subversion.tigris.org/ Subversion] (or other [PluginList#VersionControlSystems version control systems]), an integrated Wiki and convenient reporting facilities. \r\n\r\nTrac allows [wiki:WikiFormatting wiki markup] in issue descriptions and commit messages, creating \r\nlinks and seamless references between bugs, tasks, changesets, files and wiki pages. \r\nA [wiki:TracTimeline timeline] shows all current and past project events in order, \r\nmaking the acquisition of an overview of the project and tracking progress very easy.\r\nThe [wiki:TracRoadmap roadmap] shows the road ahead, listing the upcoming milestones.\r\n\r\n== Good Starting Points ==\r\n\r\n * Get started with the software:\r\n [[span(TracGuide,title=Starting point for Trac documentation)]], \r\n [[span(TracDownload,title=Trac is open source software\\, available for download)]],\r\n [[span(TracFaq,title=Frequently asked questions)]], \r\n [[span(PluginList,title=Plugins for extending Trac)]],\r\n [[span(CookBook,title=Recipes for installing and maintaining Trac)]]\r\n * Watch it evolve:\r\n [[span(ChangeLog,title=Recent changes between Trac releases)]],\r\n [[span(RoadMap,title=The proverbial road ahead)]],\r\n [[span(SeaChange,title=The long term ambitions)]]\r\n * Communicate:\r\n \'\'\'[[span(MailingList,title=Join the mailing lists for user and developer discussions)]]\'\'\',\r\n [[span(IrcChannel,title=Chat and discuss Trac or get support)]]\r\n * Get involved:\r\n [[span(TracProject,title=Learn more about the project)]],\r\n \'\'\'[[span(HowToContribute,title=Practical tips for providing useful contributions)]]\'\'\',\r\n [[span(TracTeam,title=It\'s their fault - well not really)]],\r\n [[span(AboutTrac,title=Links to presentation materials\\, references\\, etc.)]],\r\n [[span(TracDev,title=Dive into the internals of Trac)]]\r\n\r\nFor a complete list of available wiki pages, see the TitleIndex.\r\n\r\n== About This Site ==\r\nThis is the TracWiki, editable by its users. This [http://c2.com/cgi/wiki?WikiWikiWeb is a feature]. \r\n\r\nHowever the site you are currently visiting tracks the actual development of the Trac project, so \'\'\'please don\'t make edits here on trac.edgewall.org simply for the sake of testing Trac\'\'\'. [[br]]\r\n\r\nInstead, if you want to test out some of the features in Trac, please use the \'\'\'[/demo-0.11 demo-0.11 site]\'\'\' or \'\'\'[/demo-0.11 demo-0.12 site]\'\'\'.\r\n\r\n== Trac Users ==\r\nAre you curious who is using Trac, or would like to list your own name, visit the TracUsers page.\r\n', 'version': u'123'}
User Agent was: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
System Information
Trac | 0.12dev-r9030
|
Python | 2.5.2 (r252:60911, Oct 5 2008, 19:29:17) [GCC 4.3.2]
|
setuptools | 0.6c9
|
psycopg2 | 2.0.8
|
Genshi | 0.6dev-r1092
|
Babel | 0.9.4
|
Pygments | 1.1.1dev-20091217
|
Subversion | 1.5.1 (r32289)
|
Docutils | 0.6
|
jQuery | 1.3.2
|
Enabled Plugins
Python Traceback
Traceback (most recent call last): File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 495, in _dispatch_request dispatcher.dispatch(req) File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 249, in dispatch content_type) File "build/bdist.linux-x86_64/egg/trac/web/chrome.py", line 854, in render_template stream.render(method, doctype=doctype, out=buffer) File "build/bdist.linux-x86_64/egg/genshi/core.py", line 183, in render return encode(generator, method=method, encoding=encoding, out=out) File "build/bdist.linux-x86_64/egg/genshi/output.py", line 58, in encode for chunk in iterator: File "build/bdist.linux-x86_64/egg/genshi/output.py", line 339, in __call__ for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/output.py", line 826, in __call__ for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/output.py", line 670, in __call__ for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/output.py", line 771, in __call__ for kind, data, pos in chain(stream, [(None, None, None)]): File "build/bdist.linux-x86_64/egg/genshi/output.py", line 586, in __call__ for ev in stream: File "build/bdist.linux-x86_64/egg/genshi/core.py", line 288, in _ensure for event in stream: File "build/bdist.linux-x86_64/egg/genshi/core.py", line 288, in _ensure for event in stream: File "build/bdist.linux-x86_64/egg/trac/web/chrome.py", line 939, in _strip_accesskeys for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/core.py", line 288, in _ensure for event in stream: File "build/bdist.linux-x86_64/egg/trac/web/chrome.py", line 928, in _generate for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 592, in _include for event in stream: File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 380, in _match ctxt, start=idx + 1, **vars): File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 380, in _match ctxt, start=idx + 1, **vars): File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 380, in _match ctxt, start=idx + 1, **vars): File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 330, in _match for event in stream: File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 532, in _flatten for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/core.py", line 288, in _ensure for event in stream: File "build/bdist.linux-x86_64/egg/genshi/path.py", line 588, in _generate subevent = next() File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 592, in _include for event in stream: File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 330, in _match for event in stream: File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 319, in _strip event = next() File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 532, in _flatten for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/core.py", line 288, in _ensure for event in stream: File "build/bdist.linux-x86_64/egg/genshi/path.py", line 588, in _generate subevent = next() File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 592, in _include for event in stream: File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 319, in _strip event = next() File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 532, in _flatten for kind, data, pos in stream: File "build/bdist.linux-x86_64/egg/genshi/core.py", line 288, in _ensure for event in stream: File "build/bdist.linux-x86_64/egg/genshi/path.py", line 588, in _generate subevent = next() File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 592, in _include for event in stream: File "build/bdist.linux-x86_64/egg/genshi/template/markup.py", line 319, in _strip event = next() File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 552, in _flatten result = _eval_expr(data, ctxt, vars) File "build/bdist.linux-x86_64/egg/genshi/template/base.py", line 277, in _eval_expr retval = expr.evaluate(ctxt) File "build/bdist.linux-x86_64/egg/genshi/template/eval.py", line 178, in evaluate return eval(self.code, _globals, {'__data__': data}) File "/tmp/.lighttpd-egg-cache-0.12-pre-multirepos/Trac-0.12dev_r9030-py2.5.egg-tmp/trac/wiki/templates/wiki_edit.html", line 136, in <Expression u'wiki_to_html(context(page.resource), page.text)'> ${wiki_to_html(context(page.resource), page.text)} File "build/bdist.linux-x86_64/egg/trac/wiki/formatter.py", line 1216, in format_to_html return HtmlFormatter(env, context, wikidom).generate(escape_newlines) File "build/bdist.linux-x86_64/egg/trac/wiki/formatter.py", line 1171, in generate escape_newlines) File "build/bdist.linux-x86_64/egg/trac/wiki/formatter.py", line 960, in format result = re.sub(self.wikiparser.rules, self.replace, line) File "/usr/lib/python2.5/re.py", line 150, in sub return _compile(pattern, 0).sub(repl, string, count) File "build/bdist.linux-x86_64/egg/trac/wiki/formatter.py", line 904, in replace replacement = self.handle_match(fullmatch) File "build/bdist.linux-x86_64/egg/trac/wiki/formatter.py", line 900, in handle_match return internal_handler(match, fullmatch) File "build/bdist.linux-x86_64/egg/trac/wiki/formatter.py", line 784, in _table_cell_formatter alignleft = self.line[end] != ' ' IndexError: string index out of range
Attachments (0)
Change History (2)
follow-up: 2 comment:1 by , 15 years ago
Component: | general → wiki system |
---|---|
Keywords: | table colspan added |
Resolution: | → fixed |
Status: | new → closed |
comment:2 by , 15 years ago
Note:
See TracTickets
for help on using tickets.
A bit more tricky than I thought, but should be fixed in r9050.