Pull Request #30
Sometimes an error report line is reported incorrectly
tb.tb_fame.f_lineno may differ in some way.
Must use tb.tb_lineno
sentry-sdk/event.py
class Event(Mapping):
__slots__ = ("_data", "_exc_value")
def __init__(self, data={}):
self._data = {
"event_id": uuid.uuid4().hex,
"timestamp": datetime.datetime.utcnow(),
"level": "error",
}
self._data.update(data)
self._exc_value = None
def set_exception(self, exc_type, exc_value, tb, with_locals):
print("----------------- trace back --------------------")
print("f_lineno: " + str(tb.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_lineno))
print("f_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_lineno))
print("f_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_lineno))
print("f_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_lineno))
print("f_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_lineno))
print("f_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_lineno))
print("f_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_frame.f_lineno))
print("tb_lineno: " + str(tb.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_next.tb_lineno))
print("----------------- trace back --------------------")
self["exception"] = {
"values": exceptions_from_error_tuple(exc_type, exc_value, tb, with_locals)
}
self._exc_value = exc_value
trace back
File "example.py", line 128, in _get_response
response = self.process_exception_by_middleware(e, request)
File "example.py", line 126, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "example.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "example.py", line 69, in view
return self.dispatch(request, *args, **kwargs)
File "example.py", line 483, in dispatch
response = self.handle_exception(exc)
File "example.py", line 443, in handle_exception
self.raise_uncaught_exception(exc)
File "example.py", line 480, in dispatch
response = handler(request, *args, **kwargs)
File "example.py", line 210, in post
output
----------------- trace back --------------------
f_lineno: 128
tb_lineno: 126
f_lineno: 54
tb_lineno: 54
f_lineno: 69
tb_lineno: 69
f_lineno: 483
tb_lineno: 483
f_lineno: 443
tb_lineno: 443
f_lineno: 483
tb_lineno: 480
f_lineno: 213
tb_lineno: 210
----------------- trace back --------------------
Pull Request #30
Sometimes an error report line is reported incorrectly
tb.tb_fame.f_lineno may differ in some way.
Must use tb.tb_lineno
sentry-sdk/event.py
trace back
output