Crash on editing Variable settings
- Dominant language
- Python
- Stars
- 3.2k
- Forks
- 245
- Avg merge
- 13m
- Merged PRs (30d)
- 5
Description
Crashes on certain repeatable sequence of actions.
Steps to reproduce:
1. load http://ideone.com/DVs5cv
2. start pudb (pudb3 script.py)
3. Run till the end (repeated n, then examine post-mortem mode)
4. Switch to Variables (V)
5. Press enter on any Variable in the list
Traceback:
```
Traceback (most recent call last):
File "/usr/bin/pudb3", line 11, in
load_entry_point('pudb==2017.1.1', 'console_scripts', 'pudb3')()
File "/usr/lib/python3.6/site-packages/pudb/run.py", line 32, in main
steal_output=options.steal_output)
File "/usr/lib/python3.6/site-packages/pudb/__init__.py", line 127, in runscript
dbg.interaction(None, sys.exc_info(), show_exc_dialog=False)
File "/usr/lib/python3.6/site-packages/pudb/debugger.py", line 339, in interaction
show_exc_dialog=show_exc_dialog)
File "/usr/lib/python3.6/site-packages/pudb/debugger.py", line 2079, in call_with_ui
return f(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/pudb/debugger.py", line 2307, in interaction
self.event_loop()
File "/usr/lib/python3.6/site-packages/pudb/debugger.py", line 2273, in event_loop
toplevel.keypress(self.size, k)
File "/usr/lib/python3.6/site-packages/pudb/ui_tools.py", line 96, in keypress
result = self._w.keypress(size, key)
File "/usr/lib64/python3.6/site-packages/urwid/container.py", line 1128, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "/usr/lib64/python3.6/site-packages/urwid/container.py", line 2269, in keypress
key = w.keypress((mc,) + size[1:], key)
File "/usr/lib/python3.6/site-packages/pudb/ui_tools.py", line 96, in keypress
result = self._w.keypress(size, key)
File "/usr/lib64/python3.6/site-packages/urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "/usr/lib64/python3.6/site-packages/urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "/usr/lib/python3.6/site-packages/pudb/ui_tools.py", line 101, in keypress
return handler(self, size, key)
File "/usr/lib/python3.6/site-packages/pudb/debugger.py", line 789, in edit_inspector_detail
fvi = self.get_frame_var_info(read_only=False)
File "/usr/lib/python3.6/site-packages/pudb/var_view.py", line 536, in get_frame_var_info
ssid = self.debugger.get_stack_situation_id()
File "/usr/lib/python3.6/site-packages/pudb/debugger.py", line 342, in get_stack_situation_id
return str(id(self.stack[self.curindex][0].f_code))
IndexError: list index out of range
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the sequence with pudb3, then start at debugger.py: edit_inspector_detail and get_stack_situation_id, following the call through var_view.py: get_frame_var_info. Use the supplied traceback and Variables view steps to verify the failure. Done means pressing Enter on a Variable in post-mortem mode no longer crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100