Repository navigation
INTERNALERROR> IndexError: list index out of range (Python 3.4) #752
Copy link
Copy link
Closed
Labels
type: bugproblem that needs to be addressedproblem that needs to be addressed
Description
Originally reported by: Andrew Gorcester (BitBucket: andrewsg, GitHub: andrewsg)
After changing a line of source inside a dict literal in my project from this:
#!python
0x0b: (self.ANC, "IMM"),
to this:
#!python
0x0b: None, #(self.ANC, "IMM"),
py.test started throwing the following error:
#!
platform linux -- Python 3.4.0 -- py-1.4.27 -- pytest-2.7.1
rootdir: /home/andrewsg/src/python-c64, inifile:
collected 108 items
test_c64.py .......
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/main.py", line 84, in wrap_session
INTERNALERROR> doit(config, session)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/main.py", line 122, in _main
INTERNALERROR> config.hook.pytest_runtestloop(session=session)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 521, in __call__
INTERNALERROR> return self._docall(self.methods, kwargs)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 528, in _docall
INTERNALERROR> firstresult=self.firstresult).execute()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 394, in execute
INTERNALERROR> res = method(*args)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/main.py", line 142, in pytest_runtestloop
INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 521, in __call__
INTERNALERROR> return self._docall(self.methods, kwargs)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 528, in _docall
INTERNALERROR> firstresult=self.firstresult).execute()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 393, in execute
INTERNALERROR> return wrapped_call(method(*args), self.execute)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 113, in wrapped_call
INTERNALERROR> return call_outcome.get_result()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 137, in get_result
INTERNALERROR> raise ex[1].with_traceback(ex[2])
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 123, in __init__
INTERNALERROR> self.result = func()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 394, in execute
INTERNALERROR> res = method(*args)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/runner.py", line 65, in pytest_runtest_protocol
INTERNALERROR> runtestprotocol(item, nextitem=nextitem)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/runner.py", line 75, in runtestprotocol
INTERNALERROR> reports.append(call_and_report(item, "call", log))
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/runner.py", line 121, in call_and_report
INTERNALERROR> report = hook.pytest_runtest_makereport(item=item, call=call)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 521, in __call__
INTERNALERROR> return self._docall(self.methods, kwargs)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 528, in _docall
INTERNALERROR> firstresult=self.firstresult).execute()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 393, in execute
INTERNALERROR> return wrapped_call(method(*args), self.execute)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 109, in wrapped_call
INTERNALERROR> wrap_controller.send(call_outcome)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/skipping.py", line 157, in pytest_runtest_makereport
INTERNALERROR> rep = outcome.get_result()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 137, in get_result
INTERNALERROR> raise ex[1].with_traceback(ex[2])
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 123, in __init__
INTERNALERROR> self.result = func()
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/core.py", line 394, in execute
INTERNALERROR> res = method(*args)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/runner.py", line 224, in pytest_runtest_makereport
INTERNALERROR> longrepr = item.repr_failure(excinfo)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/python.py", line 625, in repr_failure
INTERNALERROR> return self._repr_failure_py(excinfo, style=style)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/python.py", line 618, in _repr_failure_py
INTERNALERROR> style=style)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/_pytest/main.py", line 410, in _repr_failure_py
INTERNALERROR> style=style, tbfilter=tbfilter)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/py/_code/code.py", line 412, in getrepr
INTERNALERROR> return fmt.repr_excinfo(self)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/py/_code/code.py", line 590, in repr_excinfo
INTERNALERROR> reprtraceback = self.repr_traceback(excinfo)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/py/_code/code.py", line 582, in repr_traceback
INTERNALERROR> reprentry = self.repr_traceback_entry(entry, einfo)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/py/_code/code.py", line 543, in repr_traceback_entry
INTERNALERROR> s = self.get_source(source, line_index, excinfo, short=short)
INTERNALERROR> File "/home/andrewsg/src/py34env/lib/python3.4/site-packages/py/_code/code.py", line 484, in get_source
INTERNALERROR> lines.append(self.flow_marker + " " + source.lines[line_index])
INTERNALERROR> IndexError: list index out of range
=========================== 7 passed in 0.06 seconds ===========================
I saw #560 with the same error message, but it looks like this is a different issue; at the least, my version is much newer than the patch date for that issue's resolution.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
type: bugproblem that needs to be addressedproblem that needs to be addressed
Activity
pytestbot commentedon May 23, 2015
Original comment by Andrew Gorcester (BitBucket: andrewsg, GitHub: andrewsg):
The project is available online, pinned to the offending commit: https://github.com/andrewsg/python-c64/tree/ed738342c1e3f30b19db5b1c878c8c4547435c0d
The problematic line is c64.py line 172. Lines prior to that, even though they may follow the exact same pattern, do not cause an error.
pytestbot commentedon May 27, 2015
Original comment by Anthon van der Neut (BitBucket: anthon_van_der_neut, GitHub: anthon_van_der_neut):
I can confirm this error with this minimal
fail.pyfile:Fails on 2.7.10, 2.6, 3.3 and 3.4. Inserting 4 spaces before the closing
"""removes the error in this case ( I found this with a more complex example, where changing the string that way does not help but this example is the result of minimizing the fail case).pytestbot commentedon May 28, 2015
Original comment by Daniel Hahler (BitBucket: blueyed, GitHub: blueyed):
Here is another case:
The code, where the commented "password" line seems to cause the offset error:
pytestbot commentedon May 28, 2015
Original comment by Daniel Hahler (BitBucket: blueyed, GitHub: blueyed):
There are several duplicates / similar issues about this: https://bitbucket.org/pytest-dev/pytest/issues?status=new&status=open&q=list%20index%20out%20of%20range
pytestbot commentedon May 28, 2015
Original comment by Daniel Hahler (BitBucket: blueyed, GitHub: blueyed):
Bisecting pylib shows up this as first bad commit:
https://bitbucket.org/pytest-dev/py/commits/d7d5337ac74a054ad13bc7e28f976d00f051ace3
pytestbot commentedon May 28, 2015
Original comment by Daniel Hahler (BitBucket: blueyed, GitHub: blueyed):
The issue in pylib is the following: https://bitbucket.org/pytest-dev/py/issue/55/broken-comment-parsing
srkunze commentedon Jun 16, 2015
Is there already a solution for this issue?
keleshev commentedon Jun 16, 2015
I'm getting a similar error message. Here's how I can reproduce it:
keleshev commentedon Jun 16, 2015
An even smaller example that reproduces it:
Removing the comment fixes it.
blueyed commentedon Jun 24, 2015
The issue in pylib (https://bitbucket.org/pytest-dev/py/issue/55/broken-comment-parsing) is fixed and has been released in py 1.4.29.
Closing this issue for pytest therefore.
AvdN commentedon Nov 20, 2016
A bit delayed, but I just came across my workaround for this, in
ruamel.yaml.I removed the workarounds and can confirm this is solved.
Thank you!