Skip to content

Cannot convert to json error in tracer #39

@sdeepugd

Description

@sdeepugd

While getting local variable list in qdb-client error is thrown in the tracer program as

Traceback (most recent call last):
  File "qdb_test.py", line 24, in <module>
    main()
  File "qdb_test.py", line 21, in main
    execfile("/home/local/ZOHOCORP/deepak-3386/Repos/Repos/OpenSource/httpie/httpie/__main__.py")
  File "/home/local/ZOHOCORP/deepak-3386/Repos/Repos/OpenSource/httpie/httpie/__main__.py", line 7, in <module>
    from core import main
  File "/home/local/ZOHOCORP/deepak-3386/Repos/Repos/OpenSource/httpie/httpie/__main__.py", line 7, in <module>
    from core import main
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/tracer.py", line 449, in trace_dispatch
    return self.super_.trace_dispatch(stackframe, event, arg)
  File "/usr/lib/python2.7/bdb.py", line 49, in trace_dispatch
    return self.dispatch_line(frame)
  File "/usr/lib/python2.7/bdb.py", line 67, in dispatch_line
    self.user_line(frame)
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/tracer.py", line 462, in user_line
    bound_cmd_manager.next_command()
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/utils.py", line 348, in __call__
    ret = f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/comm.py", line 248, in next_command
    return self.user_next_command(tracer)
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/comm.py", line 498, in user_next_command
    return next(self.get_commands(tracer))()
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/comm.py", line 485, in <lambda>
    yield lambda: command(tracer, event.get('p'))
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/comm.py", line 679, in command_locals
    self.send_event('locals', tracer.curframe_locals)
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/comm.py", line 237, in send_event
    self.send(fmt_msg(event, payload, serial=json.dumps))
  File "/usr/local/lib/python2.7/dist-packages/qdb-0.1.0-py2.7.egg/qdb/comm.py", line 72, in fmt_msg
    js=serial(frame)
  File "/usr/lib/python2.7/json/__init__.py", line 243, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python2.7/json/encoder.py", line 184, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <module 'sys' (built-in)> is not JSON serializable

Note:
the value of frame in comm.py is {'p': {'sys': <module 'sys' (built-in)>, 'os': <module 'os' from '/usr/lib/python2.7/os.pyc'>}, 'e': 'locals'}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions