Browse Source

More info in stack traces

Yentl Van Tendeloo 7 years ago
parent
commit
31a6e41e2f

+ 2 - 1
hybrid_server/classes/mvkcontroller.xml

@@ -310,6 +310,7 @@
                     <state id="mvs_GC">
                     <state id="mvs_GC">
                         <onentry>
                         <onentry>
                             <script>
                             <script>
+                                print("Modelverse Garbage Collection")
                                 self.execute_modelverse("", "protect_temporary_variables", [])
                                 self.execute_modelverse("", "protect_temporary_variables", [])
                                 self.mvs.purge()
                                 self.mvs.purge()
                                 self.execute_modelverse("", "unprotect_temporary_variables", [])
                                 self.execute_modelverse("", "unprotect_temporary_variables", [])
@@ -320,7 +321,7 @@
                             </script>
                             </script>
                             <raise scope="broad" event="resume_task"/>
                             <raise scope="broad" event="resume_task"/>
                         </onentry>
                         </onentry>
-                        <transition after="self.sccd_yield() + 300" target="."/>
+                        <transition after="self.sccd_yield() + 100" target="."/>
                     </state>
                     </state>
                 </state>
                 </state>
             </parallel>
             </parallel>

+ 3 - 1
hybrid_server/classes/task.xml

@@ -51,9 +51,11 @@
                 for gen in stack:
                 for gen in stack:
                     try:
                     try:
                         line = getattr(getattr(gen, 'gi_frame', {}), 'f_lineno', None)
                         line = getattr(getattr(gen, 'gi_frame', {}), 'f_lineno', None)
+                        variables = getattr(getattr(gen, "gi_frame", {}), 'f_locals', None)
                     except:
                     except:
                         line = "?"
                         line = "?"
-                    printed_stack.append("%s:%s" % (gen.__name__, line))
+                        variables = "?"
+                    printed_stack.append("%s:%s {%s}" % (gen.__name__, line, variables))
                 print("Stack @ MvK:\n" + str("\n".join(printed_stack)))
                 print("Stack @ MvK:\n" + str("\n".join(printed_stack)))
                 print(traceback.format_exc())
                 print(traceback.format_exc())
                 return (float('inf'), False)
                 return (float('inf'), False)

+ 6 - 3
kernel/modelverse_kernel/main.py

@@ -68,9 +68,12 @@ class ModelverseKernel(object):
 
 
         to_protect = set()
         to_protect = set()
         for gen in generators:
         for gen in generators:
-            variables = gen.gi_frame.f_locals
-            for var in variables.values():
-                to_protect |= self.try_to_protect(var)
+            try:
+                variables = gen.gi_frame.f_locals
+                for var in variables.values():
+                    to_protect |= self.try_to_protect(var)
+            except:
+                pass
 
 
         # Create the node to which everything is attached
         # Create the node to which everything is attached
         self.fixed_node, = yield [("CN", [])]
         self.fixed_node, = yield [("CN", [])]

+ 1 - 1
wrappers/modelverse_SCCD.py

@@ -1,7 +1,7 @@
 """
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
 
-Date:   Tue May 22 12:02:05 2018
+Date:   Tue May 22 16:39:01 2018
 
 
 Model author: Yentl Van Tendeloo
 Model author: Yentl Van Tendeloo
 Model name:   MvK Server
 Model name:   MvK Server