[pypy-issue] [issue1266] Popping and appending to range causes Fatal RPython error

Brian tracker at bugs.pypy.org
Wed Sep 19 17:50:04 CEST 2012


New submission from Brian <thefollowingcanbefound at gmail.com>:

The following code causes Fatal RPython error: IndexError.
d = range(1)
d.pop()
d.append(1)

>From what I can tell the exception is always thrown if a range is popped until empty and then append 
is called with any argument.  I have observed this behavior on both 1.8 and 1.9.  No exception is 
thrown by cPython 2.7.3.  Replacing the first line with "d = list(range(1))" does not prevent the 
exception, but "d = [x for x in range(1)]" does.

Here is the raw output running the attached file (same as code above).

RPython traceback:
  File "translator_goal_targetpypystandalone.c", line 2395, in entry_point
  File "interpreter_pyframe.c", line 984, in PyFrame_execute_frame
  File "jit_metainterp_warmspot.c", line 865, in ll_portal_runner__Unsigned_Bool_pypy_interpreter
  File "module_pypyjit_interp_jit.c", line 145, in portal_2
  File "interpreter_pyopcode.c", line 2594, in handle_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 7365, in dispatch_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 14837, in call_function__AccessDirect_None
  File "interpreter_pyframe.c", line 984, in PyFrame_execute_frame
  File "jit_metainterp_warmspot.c", line 865, in ll_portal_runner__Unsigned_Bool_pypy_interpreter
  File "module_pypyjit_interp_jit.c", line 145, in portal_2
  File "interpreter_pyopcode.c", line 2594, in handle_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 6978, in dispatch_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 14837, in call_function__AccessDirect_None
  File "interpreter_pyframe.c", line 984, in PyFrame_execute_frame
  File "jit_metainterp_warmspot.c", line 865, in ll_portal_runner__Unsigned_Bool_pypy_interpreter
  File "module_pypyjit_interp_jit.c", line 145, in portal_2
  File "interpreter_pyopcode.c", line 2594, in handle_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 8125, in dispatch_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 14837, in call_function__AccessDirect_None
  File "interpreter_pyframe.c", line 984, in PyFrame_execute_frame
  File "jit_metainterp_warmspot.c", line 865, in ll_portal_runner__Unsigned_Bool_pypy_interpreter
  File "module_pypyjit_interp_jit.c", line 145, in portal_2
  File "interpreter_pyopcode.c", line 2594, in handle_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 8018, in dispatch_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 20396, in EXEC_STMT__AccessDirect_None
  File "interpreter_pyframe.c", line 984, in PyFrame_execute_frame
  File "jit_metainterp_warmspot.c", line 865, in ll_portal_runner__Unsigned_Bool_pypy_interpreter
  File "module_pypyjit_interp_jit.c", line 145, in portal_2
  File "interpreter_pyopcode.c", line 2594, in handle_bytecode__AccessDirect_None
  File "interpreter_pyopcode.c", line 9978, in dispatch_bytecode__AccessDirect_None
  File "objspace_std_callmethod.c", line 3506, in CALL_METHOD__AccessDirect_star_1
  File "interpreter_gateway.c", line 1111, in BuiltinCode2_fastcall_2
  File "interpreter_gateway.c", line 3166, in BuiltinCode_handle_exception
Fatal RPython error: IndexError
Abort

----------
files: broken.py
messages: 4767
nosy: brianwgoldman, pypy-issue
priority: bug
release: 1.9
status: unread
title: Popping and appending to range causes Fatal RPython error

________________________________________
PyPy bug tracker <tracker at bugs.pypy.org>
<https://bugs.pypy.org/issue1266>
________________________________________


More information about the pypy-issue mailing list