Edgewall Software
Modify

Opened 17 years ago

Closed 17 years ago

#6015 closed defect (fixed)

IndexError: list index out of range (Too big changeset?)

Reported by: kutzera@… Owned by: Christian Boos
Priority: normal Milestone: 0.11
Component: version control Version: devel
Severity: normal Keywords: diff
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

How to Reproduce

While doing a GET operation on /changeset/495, Trac issued an internal error.

I think the changeset is too big. The unified diff file is about 2000 lines. Other changesets do work.

Request parameters:

{'new': u'495'}

System Information

Trac 0.11dev-r6000
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]
setuptools 0.6c6
SQLite 3.3.4
pysqlite 2.3.2
Genshi 0.4.4
Subversion 1.4.4 (r25188)

Python Traceback

Traceback (most recent call last):
  File "c:\python25\lib\site-packages\Trac-0.11dev_r6000-py2.5.egg\trac\web\main.py", line 381, in dispatch_request
    dispatcher.dispatch(req)
  File "c:\python25\lib\site-packages\Trac-0.11dev_r6000-py2.5.egg\trac\web\main.py", line 213, in dispatch
    data, content_type)
  File "c:\python25\lib\site-packages\Trac-0.11dev_r6000-py2.5.egg\trac\web\chrome.py", line 601, in render_template
    return stream.render(method, doctype=doctype)
  File "build/bdist.macosx-10.3-fat/egg/genshi/core.py", line 154, in render
    return encode(generator, method=method, encoding=encoding)
  File "build/bdist.macosx-10.3-fat/egg/genshi/output.py", line 45, in encode
    output = u''.join(list(iterator))
  File "build/bdist.macosx-10.3-fat/egg/genshi/output.py", line 274, in __call__
    for kind, data, pos in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/output.py", line 519, in __call__
    for kind, data, pos in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/output.py", line 679, in __call__
    for kind, data, pos in chain(stream, [(None, None, None)]):
  File "build/bdist.macosx-10.3-fat/egg/genshi/output.py", line 459, in __call__
    for ev in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/core.py", line 212, in _ensure
    for event in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/core.py", line 212, in _ensure
    for event in stream:
  File "c:\python25\lib\site-packages\Trac-0.11dev_r6000-py2.5.egg\trac\web\chrome.py", line 631, in _strip_accesskeys
    for kind, data, pos in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/core.py", line 212, in _ensure
    for event in stream:
  File "c:\python25\lib\site-packages\Trac-0.11dev_r6000-py2.5.egg\trac\web\chrome.py", line 620, in _generate
    for kind, data, pos in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/markup.py", line 252, in _include
    for event in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/markup.py", line 322, in _match
    content = list(self._include(content, ctxt))
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/markup.py", line 263, in _include
    for event in tmpl.generate(ctxt):
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/markup.py", line 252, in _include
    for event in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/markup.py", line 297, in _match
    for event in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/markup.py", line 242, in _exec
    for event in stream:
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/base.py", line 421, in _eval
    result = data.evaluate(ctxt)
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/eval.py", line 136, in evaluate
    return eval(self.code, _globals, {'data': data})
  File "C:\Python25\lib\site-packages\trac-0.11dev_r6000-py2.5.egg\trac\templates\diff_div.html", line 118, in <Expression u'block.changed.lines[idx]'>
    <th>$to_n</th><td class="r"><span>${block.changed.lines[idx]}</span>&nbsp;</td>
  File "build/bdist.macosx-10.3-fat/egg/genshi/template/eval.py", line 281, in lookup_item
    return obj[key]
IndexError: list index out of range

Attachments (0)

Change History (3)

comment:1 by Christian Boos, 17 years ago

Component: generalversion control
Keywords: needinfo added
Milestone: 0.11.1
Owner: changed from Jonas Borgström to Christian Boos

Would it be possible for you to attach the diff here?

svn diff -c495

(if the code is not public, maybe it would still be possible for you to e-mail it to me?)

Also don't forget to mention the diff options you used in Trac (mode, lines of context, etc.) so that I can reproduce the issue.

comment:2 by anonymous, 17 years ago

I posted to your email. Hope it arrived.

My diff options are:

  • Side by side
  • 4 lines around each change
  • ignore blank lines
  • ignore white spaces

comment:3 by Christian Boos, 17 years ago

Keywords: diff added; needinfo removed
Milestone: 0.11.10.11
Resolution: fixed
Status: newclosed

Sorry, I had the fix pending for some time but didn't commit.

Fixed in [6176].

Example diff that would trigger the bug, when viewed as a side-by-side diff with Blank lines ignored and a context of 4:

Index: thinglight.cpp
===================================================================
--- thinglight.cpp    (.../thinglight.cpp)  (revision 201)
+++ thinglight.cpp    (.../c/thinglight.cpp)        (revision 204)
@@ -99,17 +99,6 @@
 //------------------------------------------------------------------------------
 void thinglightSetIntensity(DWORD level)
 {
-/*
-       static UINT8 stuff = 0x0;
-
-       if(level == 0)
-               stuff = 0x1;
-
-       if((stuff == 0x1) && (level != 0x0))
-               stuff = 0x0;
-*/
-
     // set the current level for max
     doSetStuff((UINT8)level);
-
 }

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Christian Boos.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christian Boos to the specified user.

Add Comment


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