[Mono-bugs] [Bug 522894] New: Mono based applications crash on XEN guests with kernel 2.6.24-19-xen thru 2.6.24-23-xen
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Jul 17 00:40:36 EDT 2009
http://bugzilla.novell.com/show_bug.cgi?id=522894
Summary: Mono based applications crash on XEN guests with
kernel 2.6.24-19-xen thru 2.6.24-23-xen
Classification: Mono
Product: Mono: Runtime
Version: 2.4.x
Platform: x86-64
OS/Version: Ubuntu
Status: NEW
Severity: Critical
Priority: P5 - None
Component: JIT
AssignedTo: lupus at novell.com
ReportedBy: banderso at novell.com
QAContact: mono-bugs at lists.ximian.com
Found By: Community User
Description of Problem:
Two of the more prominent Cloud server providers Rackspace Cloud and Amazon use
64 bit XEN guests based on a 2.6.24-23 kernel. All mono apps crash with the
attached stacktrace. Rackspace only supports 64 bit XEN guests so it's
impossible to run Mono apps in the Rackspace Cloud.
The Cockpit project is using Mono ASP.NET MVC at the web tier and is deploying
in Rackspace so we're blocked on this issue. I have spoken with Rackspace and
they are never planning to offer 32 bit servers.
Steps to reproduce the problem:
1. Provision a 64 bit Host in Rackspace Cloud
2. Build and install Mono version 2.4x
3. Attempt to run a Mono app ex. wsdl2
Actual Results:
Same deal here with 2.6.24-19-xen on AMD64 - No mono applications work, f-spot
example below.
# f-spot
TYPE: 1
**
** ERROR:(mini-amd64.c:192):amd64_patch: assertion failed: (amd64_is_imm32
(disp))
Stacktrace:
Native stacktrace:
f-spot [0x51bb67]
/lib/libpthread.so.0 [0x7f39dde0e7d0]
/lib/libc.so.6(gsignal+0x35) [0x7f39dd84f095]
/lib/libc.so.6(abort+0x110) [0x7f39dd850af0]
/usr/lib/libglib-2.0.so.0(g_assertion_message+0x117) [0x7f39de279bc7]
/usr/lib/libglib-2.0.so.0 [0x7f39de27a062]
f-spot [0x42dbb8]
f-spot [0x4e6229]
f-spot [0x50849b]
f-spot [0x508cd9]
f-spot [0x5091d3]
f-spot(mono_exception_from_name_two_strings+0xdd) [0x48c38d]
f-spot(mono_runtime_init+0x13e) [0x48e64e]
f-spot [0x4e31e5]
f-spot(mono_main+0x341) [0x4169b1]
/lib/libc.so.6(__libc_start_main+0xf4) [0x7f39dd83b1c4]
f-spot(realloc+0x381) [0x416109]
Expected Results:
Mono based applications should execute on 64 bit XEN guests based on
2.6.24-23-xen kernel.
How often does this happen?
every time
Additional Information:
There is a mono patch floating around on the Ubuntu forum. I applied the patch
and rebuilt Mono but the problem still existed.
Other stack dumps on the Ubuntu forums
Impact: The 64bit XEN kernel does not honour the MAP_32BIT flag. This reason
for this is a change that removed the arch_get_unmapped_area_topdown() function
from the code (probably to resolve a defined twice error)
Fix: attached patch to restore the architecture specific function and to define
ARCH_HAVE_UNMAPPED_AREA_TOPDOWN
Testcase: running mono applications on 64bit XEN kernels.
Binary package hint: linux-image-2.6.24-18-xen
Description: Ubuntu 8.04
Release: 8.04
linux-image-2.6.24-18-xen:
Installed: 2.6.24-18.32
Mono applications exit with the following error:
TYPE: 1
**
** ERROR:(mini-amd64.c:192):amd64_patch: assertion failed: (amd64_is_imm32
(disp))
Further investigation indicates that linux-image-2.6.24-18-xen does not obey to
the MAP_32BIT flag. Here a relevant portion of the strace of a failing mono app
(f-spot):
mmap(NULL, 2113464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1f62f000
mmap(NULL, 2132968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1f426000
mmap(NULL, 2881032, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1f166000
mmap(NULL, 2109728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1ef62000
mmap(NULL, 2208624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1ed46000
mmap(NULL, 2621672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1eac5000
mmap(NULL, 3543672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1e763000
mmap(NULL, 2209176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1e547000
mmap(NULL, 2249472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1e321000
mmap(NULL, 65536, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS|0x40, -1, 0) = 0x7f0c1f903000
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mmap(NULL, 16384, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x7f0c1f8cf000
mmap(NULL, 2131184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1df1e000
mmap(NULL, 2198224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1dd05000
mmap(NULL, 2139352, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1dafa000
mmap(NULL, 2143528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0x7f0c1d8ee000
mmap(NULL, 65536, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS|0x40, -1, 0) = 0x7f0c1f8af000
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list