Explorar el Código

Fixed problem with traceback printing the error in finding the stackframe

Yentl Van Tendeloo hace 7 años
padre
commit
8d797659f3
Se han modificado 1 ficheros con 2 adiciones y 8 borrados
  1. 2 8
      hybrid_server/classes/task.xml

+ 2 - 8
hybrid_server/classes/task.xml

@@ -49,14 +49,8 @@
                 stack = [gen for gen in mvk.request_handlers[taskname][operation].generator_stack if gen is not None and gen.__name__ not in ['execute_rule', 'execute_jit']]
                 printed_stack = []
                 for gen in stack:
-                    try:
-                        line = gen.gi_frame.f_lineno
-                    except:
-                        line = "?"
-                    try:
-                        variables = gen.gi_frame.f_locals
-                    except:
-                        variables = "?"
+                    line = getattr(getattr(gen, "gi_frame", {}), "f_lineno", "?")
+                    variables = getattr(getattr(gen, "gi_frame", {}), "f_locals", "?")
                     printed_stack.append("%s:%s {%s}" % (gen.__name__, line, variables))
                 print("Stack @ MvK:\n" + str("\n".join(printed_stack)))
                 print(traceback.format_exc())