** Description changed:

+ SRU justification:
+ 
+ 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
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  mmap(NULL, 2151816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0x7f0c1d110000

-- 
linux-image-2.6.24-18-xen breaks mono
https://bugs.launchpad.net/bugs/237724
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to