inducer / inducer/pudb

(SEPARATOR) AttributeError: 'AttrMap' object has no attribute 'id_path'

Open
#167 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
3.2k
Forks
245
Avg merge
13m
Merged PRs (30d)
5

Description

I'm using watches, and stepping using continue (`c`)...

``` py
File "/usr/lib64/python2.7/bdb.py", line 49, in trace_dispatch
return self.dispatch_line(frame)
File "pudb/debugger.py", line 173, in dispatch_line
self.user_line(frame)
File "pudb/debugger.py", line 371, in user_line
self.interaction(frame)
File "pudb/debugger.py", line 339, in interaction
show_exc_dialog=show_exc_dialog)
File "pudb/debugger.py", line 2059, in call_with_ui
return f(*args, **kwargs)
File "pudb/debugger.py", line 2269, in interaction
self.event_loop()
File "pudb/debugger.py", line 2235, in event_loop
toplevel.keypress(self.size, k)
File "pudb/ui_tools.py", line 83, in keypress
result = self._w.keypress(size, key)
File "urwid/container.py", line 1128, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "urwid/container.py", line 2269, in keypress
key = w.keypress((mc,) + size[1:], key)
File "pudb/ui_tools.py", line 83, in keypress
result = self._w.keypress(size, key)
File "urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "pudb/ui_tools.py", line 88, in keypress
return handler(self, size, key)
File "pudb/debugger.py", line 754, in change_var_state
.get_inspect_info(var.id_path, read_only=False)
AttributeError: 'AttrMap' object has no attribute 'id_path'
```

``` py
>>> var.get_attr_map()
{None: 'variable separator'}
>>> key
'c'
```

```
SEPARATOR = urwid.AttrMap(urwid.Text(""), "variable separator")
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in pudb/debugger.py at change_var_state, where the traceback shows var.id_path being passed to get_inspect_info, and compare that with the SEPARATOR definition shown in the issue. Reproduce the failure while using a watch and pressing c; done means continuing no longer raises this AttributeError and variable separators still display correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.