add a little debugging support when new.code raises SystemError
diff --git a/Lib/compiler/pyassem.py b/Lib/compiler/pyassem.py
index 047836b..2200dec 100644
--- a/Lib/compiler/pyassem.py
+++ b/Lib/compiler/pyassem.py
@@ -140,11 +140,27 @@
         if self.flags & CO_VARKEYWORDS:
             self.argcount = self.argcount - 1
 	stacksize = findDepth(self.insts)
-        co = new.code(self.argcount, nlocals, stacksize,
-                      self.flags, lnotab.getCode(), self._getConsts(),
-                      tuple(self.names), tuple(self.varnames),
-                      self.filename, self.name, self.firstlineno,
-                      lnotab.getTable())
+        try:
+            co = new.code(self.argcount, nlocals, stacksize,
+                          self.flags, lnotab.getCode(), self._getConsts(),
+                          tuple(self.names), tuple(self.varnames),
+                          self.filename, self.name, self.firstlineno,
+                          lnotab.getTable())
+        except SystemError, err:
+            print err
+            print repr(self.argcount)
+            print repr(nlocals)
+            print repr(stacksize)
+            print repr(self.flags)
+            print repr(lnotab.getCode())
+            print repr(self._getConsts())
+            print repr(self.names)
+            print repr(self.varnames)
+            print repr(self.filename)
+            print repr(self.name)
+            print repr(self.firstlineno)
+            print repr(lnotab.getTable())
+            raise
         return co
 
     def _getConsts(self):