[Mono-bugs] [Bug 78714][Nor] Changed - Crash running IronPython

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Tue Jun 27 13:08:07 EDT 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by vargaz at gmail.com.


--- shadow/78714	2006-06-26 23:02:21.000000000 -0400
+++ shadow/78714.tmp.13848	2006-06-27 13:08:07.000000000 -0400
@@ -1,14 +1,14 @@
 Bug#: 78714
 Product: Mono: Runtime
 Version: 1.1
+OS: unknown
 OS Details: 
 Status: NEW   
+Severity: Unknown
 Priority: Normal
 Component: GC
 AssignedTo: lupus at ximian.com                            
 ReportedBy: sanxiyn at gmail.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
@@ -32,6 +32,27 @@
 4. Run
 mono IronPythonConsole.exe test.py
 5. Segmentation fault
 6. gdb usually shows backtrace inside GC, but it's not consistent.
+------- Additional Comments From vargaz at gmail.com  2006-06-27 13:08 -------
+So this is actually multiple bugs. The crash is caused by a stack
+overflow, which mono does not handle because of:
+the overflow is caused by this call in normalize_encoding () in
+    if type(encoding) is types.UnicodeType:
+         # Note that .encode('latin-1') does *not* use the codec
+        # registry, so this call doesn't recurse. (See unicodeobject.c
+        # PyUnicode_AsEncodedString() for details)
+        encoding = encoding.encode('latin-1')
+in IronPython, the encode () call does recurse if the 'latin-1' 
+encoding is not found for some reason. It is not found under mono
+because IronPython tries to use the encoding 'iso-8859-1' encoding
+for this in StringOps.MakeCodecsDict (), but mono's GetEncodings ()
+does not return this encoding.

More information about the mono-bugs mailing list