[Mono-bugs] [Bug 78471][Blo] New - mono bootstrap fails on sparc64 (first usage of runtime fails with SIGBUS)

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sat May 20 14:48:04 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 jan.oravec at 6com.sk.

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

--- shadow/78471	2006-05-20 14:48:04.000000000 -0400
+++ shadow/78471.tmp.15832	2006-05-20 14:48:04.000000000 -0400
@@ -0,0 +1,65 @@
+Bug#: 78471
+Product: Mono: Runtime
+Version: 1.1
+OS: 
+OS Details: sparc64, kernel 2.6.16, gcc 3.4.6, glibc 2.4, nptl
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Blocker
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: jan.oravec at 6com.sk               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: mono bootstrap fails on sparc64 (first usage of runtime fails with SIGBUS)
+
+I am trying to compile mono on sparc64. According to the web site, mono
+>=1.1.15 should work on sparc64 Linux.
+
+During the bootstrap, mini is successfully built. The first attempt to use
+it fails with:
+
+=================================================================
+Got a SIGSEGV while executing native code. This usually indicates
+a fatal error in the mono runtime or one of the native libraries 
+used by your application.
+=================================================================
+
+Stacktrace:
+
+in System.OutOfMemoryException:.ctor (string) <0xffffffffffffffff>
+in System.OutOfMemoryException:.ctor (string) <0x24>
+in (wrapper runtime-invoke) System.Object:runtime_invoke_void_string
+(object,intptr,intptr,intptr) <0x2357e0>
+
+Native stacktrace:
+
+Aborted
+
+
+strace shows that in fact it didn't receive SIGSEGV, but SIGBUS, indicating
+possible misaligned memory access:
+
+...
+brk(0x552000)                           = 0x552000
+brk(0x54c000)                           = 0x54c000
+brk(0x54a000)                           = 0x54a000
+--- SIGBUS (Bus error) @ 0 (0) ---
+write(2, "\n==============================="..., 292
+=================================================================
+Got a SIGSEGV while executing native code. This usually indicates
+a fatal error in the mono runtime or one of the native libraries 
+used by your application.
+=================================================================
+
+
+I tried to track it down:
+
+Mono prepares an 'Out of memory' exception during initialization. This
+searches for .ctor in the exception and tries to compile it into native
+code. SIGBUS is received during execution of that native code
+(runtime_invoke in mono_jit_runtime_invoke). I do not understand details of
+JITing so I could not help more.


More information about the mono-bugs mailing list