Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 45781 - emerge mono-0.31(-r1) hangs when calling mcs to compile I18N.West.dll
Summary: emerge mono-0.31(-r1) hangs when calling mcs to compile I18N.West.dll
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: dotnet project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-26 01:14 UTC by Martin Probst
Modified: 2004-07-16 21:12 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Probst 2004-03-26 01:14:14 UTC
I am trying to emerge mono-0.31. With both the original ebuild and the somewhat changed mono-0.31-r1 the compilation process hangs on this:

make[3]: Leaving directory `/var/tmp/portage/mono-0.31-r1/work/mcs-0.31/class/I18N/Common'
make[3]: Entering directory `/var/tmp/portage/mono-0.31-r1/work/mcs-0.31/class/I18N/West'
Creating ../../../build/deps/I18N.West.dll.makefrag ...
make[3]: Leaving directory `/var/tmp/portage/mono-0.31-r1/work/mcs-0.31/class/I18N/West'
make[3]: Entering directory `/var/tmp/portage/mono-0.31-r1/work/mcs-0.31/class/I18N/West'
touch ../../../build/deps/I18N.West.dll.stamp
MONO_PATH="../../../class/lib:$MONO_PATH" /var/tmp/portage/mono-0.31-r1/work/mono-0.31/mono/mini/mono  ../../../mcs/mcs.exe /r:mscorlib.dll /r:I18N.dll  -d:NET_1_1 -d:ONLY_1_1 -g /noconfig  /target:library /out:../../../class/lib/I18N.West.dll @I18N.West.dll.sources
 
After that, nothings happens anymore and my system is completely idle. With pstree I can see that portage has called "lt-mono" (through several recursive makes) but the process does not seem to do anything.

Reproducible: Always
Steps to Reproduce:
1. emerge mono-0.31 or mono-0.31-r1
2.
3.

Actual Results:  
The compilation process hangs when mcs is used to compile some I18N dll.

Expected Results:  
It should install mono-0.31

Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.
3-gentoo-r1)
=================================================================
System uname: 2.6.3-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz
Gentoo Base System version 1.4.3.13
distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) 
[disabled]
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -funroll-loops -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config 
/usr/kde/3.1/share/config /usr/kde/3.2/share/config 
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref 
/usr/share/config /usr/share/texmf/dvipdfm/config/ 
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ 
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ 
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp:
//sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.
ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.
ruhr-uni-bochum.de/gentoo-mirror/ http://mirrors.sec.informatik.
tu-darmstadt.de/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo 
ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X alsa apache2 apm arts avi berkdb cdr crypt cups doc encode esd 
foomaticdb gdbm gif gnome gnomedb gpm gtk gtk2 gtkhtml guile imlib java 
jpeg libg++ libwww mad mikmod mmx motif mozilla mozilla-firebird mpeg 
ncurses nls nptl oggvorbis opengl oss pam pdf pdflib perl php png 
python qt quicktime readline sdl slang spell ssl svga tcltk tcpd tetex 
tiff truetype vim vim-with-x x86 xml2 xmms xv zlib"
Comment 1 Martin Probst 2004-03-26 09:03:53 UTC
Now here comes the funny part:

I tried it out again with unmerging the existing mono before, but that didn't change anything, it hung at some dll compilation again. But then I cancelled the build with ctrl-c and reran the makefile in /var/tmp/portage/mono-0.31-r1/work/mcs-0.31/ and it completed the DLL where it hung before and went on until some other dll where it stalled again. I had to cancel and resume the build about 5-10 times, but in the end it was compiled and I could install it, it seems to be working too.

This seems to be a problem with mono itself.
Comment 2 Josh Helmer 2004-04-06 22:40:46 UTC
Just wanted to add a quick me too.

Here is my info:

Portage 2.0.50-r3 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.3-gentoo-r1)
=================================================================
System uname: 2.6.3-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.4.3.13p1
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/lib/jboss /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa apache2 apm arts avi berkdb cdr crypt cups directfb dvd dvdr encode esd fam fbcon foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java joystick jpeg kde kerberos libg++ libwww mad mikmod motif mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline ruby sdl slang spell ssl svga tcpd truetype videos x86 xml2 xmms xv zlib"

I also attached an strace to one of the hung processes and here is where the problem is:
gettimeofday({1081315818, 119975}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 120064000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33280, {0, 98936000}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1081315818, 219970}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 220058000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33281, {0, 98942000}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1081315818, 319949}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 320037000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33282, {0, 98963000}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1081315818, 419940}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 420026000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33283, {0, 98974000}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1081315818, 519927}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 520017000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33284, {0, 98983000}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1081315818, 619922}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 620011000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33285, {0, 98989000}) = -1 ETIMEDOUT (Connection timed out)
gettimeofday({1081315818, 721097}, NULL) = 0
futex(0x412134a8, FUTEX_WAKE, 1)        = 0
clock_gettime(0, {1081315818, 721404000}) = 0
futex(0x412134d0, FUTEX_WAIT, 33286, {0, 99596000} <unfinished ...>
Process 12806 detached

Deadlock?  Looks like 2 contention for 2 different locks to me...

(Misc thoughts: Both machines where this has been reported are pretty beefy.  Both are using NTPL, and I bet that both have Hyperthreading enabled).
Comment 3 Rainer Größlinger (RETIRED) gentoo-dev 2004-06-13 08:58:03 UTC
Another bug that has been idle for 3 months ;)

Can you tell us if you still have that problem when you use your curent gcc to compile a current (>=0.91) mono version?
Comment 4 Martin Probst 2004-06-13 09:35:23 UTC
I upgraded from mono-0.30 (which I could compile by manually restarting the compilation over and over again - it always hung one file later ;-)) in steps to 0.95 (currently) and didn't experience the problem again. I just tried to recompile and it works also - seems to have been fixed somehow.

Just to point it out btw, it didn't hang while compiling mono with gcc but when compiling some mono-library (i18n thingie) using the mcs compiler.

Could you close the bug if you feel like that? ;-)
Comment 5 Peter Johanson (RETIRED) gentoo-dev 2004-07-16 21:12:21 UTC
Okay, done.