[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.

http://bugzilla.ximian.com/show_bug.cgi?id=78714

--- 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: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+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:
+
+http://bugzilla.ximian.com/show_bug.cgi?id=47689
+
+the overflow is caused by this call in normalize_encoding () in
+encodings/__init__.py:
+
+    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