Mono hangs while running with qemu ARM user emulation (chroot)

Bug #610719 reported by Ricardo Salveti
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mono (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: mono

While trying to install mono packages inside a qemu-arm-static chroot on a x86_64, with proc filesystem mounted inside the chroot, mono hangs and block the installation.

You can also reproduce it easily by calling mono directly, like:
# mount -t ext3 -o loop qemu-armel-bug.img /tmp/rootfs/
# mount -t proc proc /tmp/rootfs/proc/
# mount -t devpts devpts /tmp/rootfs/dev/pts/
# chroot /tmp/rootfs /usr/bin/mono /usr/lib/mono/2.0/gacutil.exe
qemu: Unsupported syscall: 242
qemu: Unsupported syscall: 242
Usage: gacutil.exe <commands> [ <options> ]
Commands:
-i <assembly_path> [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
 Installs an assembly into the global assembly cache.

-il <assembly_list_file> [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
 Installs one or more assemblies into the global assembly cache.

-u <assembly_display_name> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
 Uninstalls an assembly from the global assembly cache.

-ul <assembly_list_file> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
 Uninstalls one or more assemblies from the global assembly cache.

-us <assembly_path> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
 Uninstalls an assembly using the specifed assemblies full name.

-l [assembly_name] [-root ROOTDIR] [-gacdir GACDIR]
 Lists the contents of the global assembly cache.

-?
 Displays a detailed help screen

<---------HANG

Tested with Maverick and with a Maverick ARM chroot.
Mono: 2.6.3-4ubuntu1
Qemu-kvm: 0.12.4+noroms-0ubuntu5

Tags: armel
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

While looking into the strace, it seems that mono requests a lot of information from /proc and then tries to use this information to run mmap/mprotect. Also note that it's getting lots of SIGSEGV.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Here you can find the qemu image I'm using to reproduce this bug:
http://people.canonical.com/~rsalveti/610719/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.