lmacken / pyrasite

Inject code into running Python processes

Home Page:http://pyrasite.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyrasiteMemoryViewer TagMarkupException

Stolas opened this issue · comments

root@MyServer:/root# pidof python
11361
root@MyServer:/root# pyrasite-memory-viewer 11361
loaded line 50968, 50969 objs, 6.1 / 6.1 MiB read in 0.9s
checked 50968 / 50969 collapsed 852
set parents 50116 / 50117
collapsed in 0.3s
set parents 50116 / 50117
No symbol table is loaded. Use the "file" command.
Traceback (most recent call last):
File "/usr/local/bin/pyrasite-memory-viewer", line 9, in
load_entry_point('pyrasite==2.0', 'console_scripts', 'pyrasite-memory-viewer')()
File "/usr/local/lib/python2.7/dist-packages/pyrasite-2.0-py2.7.egg/pyrasite/tools/memory_viewer.py", line 153, in main
PyrasiteMemoryViewer(pid=pid, objects=objects).main()
File "/usr/local/lib/python2.7/dist-packages/pyrasite-2.0-py2.7.egg/pyrasite/tools/memory_viewer.py", line 130, in main
self.view, self.exit_view = self.setup_view()
File "/usr/local/lib/python2.7/dist-packages/pyrasite-2.0-py2.7.egg/pyrasite/tools/memory_viewer.py", line 99, in setup_view
self.object_buttons[2].set_state(True)
File "/usr/lib/python2.7/dist-packages/urwid/wimp.py", line 384, in set_state
self.__super.set_state(state, do_callback)
File "/usr/lib/python2.7/dist-packages/urwid/wimp.py", line 224, in set_state
self._emit('change', state)
File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 214, in _emit
signals.emit_signal(self, name, self, _args)
File "/usr/lib/python2.7/dist-packages/urwid/signals.py", line 126, in emit
result |= bool(callback(_args_copy))
File "/usr/local/lib/python2.7/dist-packages/pyrasite-2.0-py2.7.egg/pyrasite/tools/memory_viewer.py", line 71, in display_object
self.object_output.set_text(value)
File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 511, in set_text
self._text, self._attrib = decompose_tagmarkup(markup)
File "/usr/lib/python2.7/dist-packages/urwid/util.py", line 374, in decompose_tagmarkup
tl, al = _tagmarkup_recurse(tm, None)
File "/usr/lib/python2.7/dist-packages/urwid/util.py", line 415, in _tagmarkup_recurse
raise TagMarkupException, "Invalid markup element: %r" % tm
urwid.util.TagMarkupException: Invalid markup element: None

Has anyone looked into it? I have the same issue when I try to profile the memory of a possibly leaking python process.

I think this might be due to a lack of python debugging info. What distro are you on? Can you make sure you have the python-debuginfo (or whatever it's called on your distro) is installed.

I was on a Linux version 3.2.0-60-generic (Ubuntu/Linaro 4.6.3-1ubuntu5). I cannot find any packet like in the standard packet list only something equivalent like pdb. I see the error raises from an incomplete markup in the urwid lib.

I was on a Linux version 3.2.0-60-generic (Ubuntu/Linaro 4.6.3-1ubuntu5). I
cannot find any packet like in the standard packet list only something
equivalent like pdb. I see the error raises from an incomplete markup in the
urwid lib.

Do you have the python-dbg package installed?