Only use PyCode_Addr2Line to get tb_lineno when Py_OptimizeFlag is set.
diff --git a/Python/traceback.c b/Python/traceback.c
index 9633db1..14e4905 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -243,8 +243,9 @@
}
while (tb != NULL && !PyOS_InterruptOccurred()) {
if (depth <= limit) {
- tb->tb_lineno = PyCode_Addr2Line(tb->tb_frame->f_code,
- tb->tb_lasti);
+ if (Py_OptimizeFlag)
+ tb->tb_lineno = PyCode_Addr2Line(
+ tb->tb_frame->f_code, tb->tb_lasti);
tb_displayline(f,
PyString_AsString(
tb->tb_frame->f_code->co_filename),