mono assembly installation under qemu-arm-static hangs

Bug #530000 reported by Oliver Grawert
36
This bug affects 5 people
Affects Status Importance Assigned to Milestone
qemu-kvm (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

Binary package hint: qemu-kvm

running something like "apt-get install tomboy" in an armel chroot under qemu-arm-static results in the install process hanging at
...
Setting up mono-gac (2.4.4~svn151842-1ubuntu2) ...
* Installing 6 assemblies from libart2.0-cil into Mono
...

this seems to be caused due to boehm gc calls in the mono package that are not properly covered by qemu-arm-static

Revision history for this message
Loïc Minier (lool) wrote :

Riku told me it's related to the boehm gc not working properly under qemu. This thread on the upstream boehm-gc group seems relevant:
http://thread.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/1556

this was posted to qemu-devel:
http://<email address hidden>/msg08229.html
http://<email address hidden>/msg08233.html
apparently, the dynamic translator isn't thread safe and NPTL support is hackish

Mathias Gug (mathiaz)
Changed in qemu-kvm (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Dave Walker (davewalker) wrote :

This seems to be an issue that is unlikely to fixed in the distribution development, and unsure if it's going to be fixed anytime soon upstream as the linked mailing list threads go back to 2006. I'm going to mark it "Won't Fix", but if someone does want to assign themselves to try and resolve this; please do re-open it.

Thanks.

Changed in qemu-kvm (Ubuntu):
status: Confirmed → Won't Fix
Revision history for this message
sam tygier (samtygier) wrote :

i saw this trying to build a maverick arm image with rootstock in maverick. my log said:

Setting up mono-gac (2.6.7-3ubuntu1) ...
* Installing 2 assemblies from libappindicator0.1-cil into Mono
qemu: Unsupported syscall: 242
qemu: Unsupported syscall: 242
qemu: Unsupported syscall: 242
qemu: Unsupported syscall: 242

Revision history for this message
Dr. The Fugitive (drbrando007) wrote :
Download full text (6.2 KiB)

running this on a real arm board, snapdragon htc phone
this is a chroot apt-get install ubuntu-netbook. here is the results of my 'kill -SIGINT' for hanging mono processess, this does not appear to be an issue related to kvm, since this has been done outside the virtual machine:

Setting up mono-2.0-gac (2.4.4~svn151842-1ubuntu4) ...
Setting up mono-gac (2.4.4~svn151842-1ubuntu4) ...
* Installing 6 assemblies from libart2.0-cil into Mono
E: Installation of libart2.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from libflickrnet2.2-cil into Mono
E: Installation of libflickrnet2.2-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 6 assemblies from libgconf2.0-cil into Mono
Use of uninitialized value $_ in scalar chomp at /usr/share/cli-common/runtimes.d/mono line 144.
Use of uninitialized value $fullname in concatenation (.) or string at /usr/share/cli-common/runtimes.d/mono line 113.
E: installing Assembly /usr/lib/cli/gconf-sharp-2.0/gconf-sharp.dll failed
E: Installation of libgconf2.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from libglade2.0-cil into Mono
E: Installation of libglade2.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from libglib2.0-cil into Mono
Use of uninitialized value $_ in scalar chomp at /usr/share/cli-common/runtimes.d/mono line 144.
Use of uninitialized value $fullname in concatenation (.) or string at /usr/share/cli-common/runtimes.d/mono line 113.
E: installing Assembly /usr/lib/cli/glib-sharp-2.0/glib-sharp.dll failed
E: Installation of libglib2.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from libgmime2.4-cil into Mono
E: Installation of libgmime2.4-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from libgnome-keyring1.0-cil into Mono
E: Installation of libgnome-keyring1.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 6 assemblies from libgnome-vfs2.0-cil into Mono
Use of uninitialized value $_ in scalar chomp at /usr/share/cli-common/runtimes.d/mono line 144.
Use of uninitialized value $fullname in concatenation (.) or string at /usr/share/cli-common/runtimes.d/mono line 113.
E: installing Assembly /usr/lib/cli/gnome-vfs-sharp-2.0/gnome-vfs-sharp.dll failed
E: Installation of libgnome-vfs2.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 2 assemblies from libgnome2.24-cil into Mono
E: Installation of libgnome2.24-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from libgnomepanel2.24-cil into Mono
E: Installation of libgnomepanel2.24-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 5 assemblies from libgtk2.0-cil into Mono
E: Installation of libgtk2.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from liblaunchpad-integration1.0-cil into Mono
E: Installation of liblaunchpad-integration1.0-cil with /usr/share/cli-common/runtimes.d/mono failed
* Installing 3 assemblies from libmono-addins-gui0.2-cil into Mono
Use of uninitialized value $_ in scalar chomp at /usr/share/cli-common/runtimes.d/mono line 144.
Use of unini...

Read more...

Revision history for this message
Chetan Hooli (chetanhooli) wrote :

Any work arounds for this ?

Revision history for this message
Dr. The Fugitive (drbrando007) wrote :

Well, I am considering working around by never using and mono packages in any ARM build of anything. I will collect the packages at least for the dependencies of ubuntu-netbook, and filter out anything that depends on mono. It seems that mono breaks ubuntu on ALL ARM PLATFORMS. Also, this issue will arise on a physical board as well as in a VM. It seems that mono will force arm-boards to install a Windows OS instead, well done Miguel.

Revision history for this message
Oliver Grawert (ogra) wrote :

this seems to be an issue with your board, on the supported ubuntu architectures native installation of mono packages works fine (there are surely plenty issues with applications, but the breakage you describe above observed in VMs yet) all our images build fine and install the mono dependencies without problems on omap (lucid-natty), imx51(jaunty-lucid), dove (jaunty-maverick) and omap4 (maverick-natty) platforms.

there is no way to work around the issue in qemu-user sessions unless mono switches to a different garbage collector. boehm GC (which is currently used in mono) uses /proc to collect data. under the qemu-user emulation as qemu-arm-static is one (which is a wrapper around every single binary) the arm binaires only see the host machines /proc filesystem and can not collect data from this.

Revision history for this message
Dr. The Fugitive (drbrando007) wrote :

I was working with a qualcomm snapdragon when not in qemu. So what you are saying is that this is just one of those crazy coincidences, that this install routine breaks at the same places in the qemu vm as well as on the actual snapdragon?

Revision history for this message
Dr. The Fugitive (drbrando007) wrote :

As well, just finished a successful running 'apt-get install' as '--no-install-recommends' in order to avoid mono packaging. Will work on a kernel before claiming success to all us unlucky ARM'ers who are not on omap. Start with ubuntu-minimal, work your way up from there...

Revision history for this message
Oliver Grawert (ogra) wrote :

yes, you seem to be on something here, if the snapdragon (to my knowledge being the only real HW this issue was seen on yet) behaves the same as qemu there might be a similarity. upstream clearly pointed to the boehm gc issues with the x86 /proc filesystem for our bug, would be intresting to know why the snapdragon exposes similar issues here. over all it would be good though if you opened a new bug to not taint the qemu bugtracking so much.

Revision history for this message
AdamOutler (adamoutler) wrote :

Just thought I'd add that I'm Having this issue with rootstock.

Revision history for this message
AdamOutler (adamoutler) wrote :

command run was

sudo rootstock --dist maverick --seed ubuntu-netbook -f localhost --login ubuntu --password ubuntu --imagesize 4G --notarball --fullname "Ubuntu for Android" --kbmodel kbd

Revision history for this message
letrec (letrec) wrote :

+1

This bug appears on the Tegra 2 as well.

Revision history for this message
Yoo Yoon Shoo (yuyoonshoo) wrote :

+1
sudo project-rootstock/rootstock --fqdn ubuntu -d lucid --login ubuntu --password 123456 --notarball --imagesize 3G --seed ubuntu-desktop,openssh-server,build-essential

Host computer is intel core i5 4GB RAM, mainboard Gigabyte. Virtual machine is virtualbox one with 1GB RAM. Guest OS is ubuntu 12.10

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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