Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 47067 - mono-debugger-0.6 does not finish to compile
Summary: mono-debugger-0.6 does not finish to compile
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: dotnet project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-07 04:39 UTC by Andreas Proschofsky (RETIRED)
Modified: 2004-10-26 15:35 UTC (History)
1 user (show)

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


Attachments
Test case (conftest.c,1.07 KB, text/plain)
2004-04-30 17:36 UTC, Ed Catmur
Details
0.6-configure-nptl-logging-freeze.patch (0.6-configure-nptl-logging-freeze.patch,506 bytes, patch)
2004-04-30 17:42 UTC, Ed Catmur
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Proschofsky (RETIRED) gentoo-dev 2004-04-07 04:39:41 UTC
Compiles fine until:

    Processing input file TargetLocation.xml
Have 105 elements in the Mono.Debugger
Have 24 elements in the Mono.Debugger.Languages
    Processing input file ITargetStructObject.xml
    Processing input file ITargetStructType.xml
    Processing input file ITargetType.xml
    Processing input file IVariable.xml
    Processing input file LocationEventHandler.xml
    Processing input file RelativeTargetLocation.xml
    Processing input file TargetLocation.xml
Have 105 elements in the Mono.Debugger
Have 24 elements in the Mono.Debugger.Languages
make[2]: Leaving directory `/var/tmp/portage/mono-debugger-0.6/work/mono-debugger-0.6/doc'
make[2]: Entering directory `/var/tmp/portage/mono-debugger-0.6/work/mono-debugger-0.6'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/var/tmp/portage/mono-debugger-0.6/work/mono-debugger-0.6'
make[1]: Leaving directory `/var/tmp/portage/mono-debugger-0.6/work/mono-debugger-0.6'

After that it just hangs in there, doing nothing, forever.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.50-r3 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0,
2.6.4-gentoo)
=================================================================
System uname: 2.6.4-gentoo i686 AMD Athlon(TM) XP 2000+
Gentoo Base System version 1.4.3.13p1
distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
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="-march=athlon-xp -O3 -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 /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache cvs distcc sandbox"
GENTOO_MIRRORS="http://gentoo.inode.at http://gentoo.oregonstate.edu"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://gentoo.inode.at/gentoo-portage"
USE="X aalib alsa apm arts avi berkdb bonobo cdr composite crypt cups dvd dvdr
encode esd foomaticdb gdbm gif gnome gphoto2 gpm gtk gtk2 guile imlib java jpeg
kde ldap libg++ libwww mad mikmod motif mozilla moznocompose moznoirc moznomail
mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib perl png python qt
quicktime readline samba sdl slang spell ssl svga tcltk tcpd tiff truetype x86
xfs xml2 xmms xv zlib"
Comment 1 Jonathan Hernández Velasco 2004-04-07 08:01:40 UTC
Same problem, no errors. Simply stop and does nothing. (the terminal is busy of course, but can continue using it doing a Crtl+c two times).


No CPU use... (0%) and a "ps aux" show one strange process:

root     21194  0.0  0.1 10052  668 pts/0    T    16:40   0:00 ./conftest

man ps says me that:
T traced or stopped

Could be the problem... I don't know :?

my emerge info:

~ $ emerge info
Portage 2.0.50-r3 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.5)
=================================================================
System uname: 2.6.5 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
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.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
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 /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://cs.ubishops.ca/pub/gentoo http://128.213.5.34/gentoo/ ftp://sunsite.ualberta.ca/pub/unix/Linux/gentoo/ ftp://ibiblio.org/pub/Linux/distributions/gentoo/ ftp://mirror.iawnet.sandia.gov/pub/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.seren.com/gentoo http://gentoo.chem.wisc.edu/gentoo/ http://mirror.tucdemonic.org/gentoo/ http://mirror.clarkson.edu/pub/distributions/gentoo/ ftp://gentoo.agsn.ca/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/mnt/data/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X alsa apache2 apm avi bonobo cdr crypt cups dga dvd encode esd evo fbcon foomaticdb gb gdbm gif gimpprint gnome gpm gtk gtk2 gtkhtml guile imap imlib innodb java jpeg libg++ libwww mad mikmod motif mozilla moznoirc moznomail mpeg mule mysql ncurses nls nptl odbc oggvorbis opengl oss pam pdflib perl png ppds python quicktime radeon readline samba sdl slang slp spell sse ssl svga tcltk tcpd tiff truetype unicode usb video_cards_radeon x86 xml xml2 xmms xv zlib"
Comment 2 Hinrik Örn Sigurðsson 2004-04-11 01:03:10 UTC
mono-debugger-0.6 needs monodoc(see bug 46586), have you tried emerging mono-debugger with monodoc installed?
Comment 3 Andreas Proschofsky (RETIRED) gentoo-dev 2004-04-11 01:10:24 UTC
monodoc is installed, so that's not the problem
Comment 4 Barrett Jacobsen 2004-04-29 20:59:39 UTC
Same problem here, emerge info:

bjlinux barryj # emerge info
Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm)
Gentoo Base System version 1.4.10
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -ffast-math -fPIC"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -ffast-math -fPIC"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://mirrors.tds.net/gentoo http://mirror.tucdemonic.org/gentoo/ http://www.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.ccccom.com http://212.219.247.11/sites/www.ibiblio.org/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="3dnow PIC X alsa apache2 apm avi berkdb cdr crypt cups directfb dvd dvdr encode esd fbcon flac foomaticdb gd gdbm gif gnome gnomedb gpm gtk gtk2 gtkhtml imlib java joystick jpeg libg++ libgda libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls nptl oggvorbis opengl oss pam pdflib perl pic png python qt quicktime readline samba sdl slang spell sse ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Comment 5 Ed Catmur 2004-04-30 10:31:29 UTC
A workaround for now is to wait for it to stall then kill the conftest process (with kill -9) - the make then continues and merges seemingly OK (not tested yet).

Also note the following:

# ll /proc/7080
total 0
dr-xr-xr-x    3 root root 0 Apr 30 17:53 ./
dr-xr-xr-x  208 root root 0 Apr 29 13:38 ../
-r--------    1 root root 0 Apr 30 18:01 auxv
-r--r--r--    1 root root 0 Apr 30 17:53 cmdline
lrwxrwxrwx    1 root root 0 Apr 30 18:01 cwd -> /var/tmp/portage/mono-debugger-0.6/work/mono-debugger-0.6/
-r--------    1 root root 0 Apr 30 18:01 environ
lrwxrwxrwx    1 root root 0 Apr 30 18:01 exe -> /var/tmp/portage/mono-debugger-0.6/work/mono-debugger-0.6/conftest (deleted)
dr-x------    2 root root 0 Apr 30 17:58 fd/
-r--r--r--    1 root root 0 Apr 30 18:01 maps
-rw-------    1 root root 0 Apr 30 18:01 mem
-r--r--r--    1 root root 0 Apr 30 18:01 mounts
lrwxrwxrwx    1 root root 0 Apr 30 18:01 root -> //
-r--r--r--    1 root root 0 Apr 30 17:58 stat
-r--r--r--    1 root root 0 Apr 30 18:01 statm
-r--r--r--    1 root root 0 Apr 30 17:53 status
dr-xr-xr-x    3 root root 0 Apr 30 18:01 task/
-r--r--r--    1 root root 0 Apr 30 18:01 wchan

The actual conftest executable has been deleted, which is possibly the cause of the problem.
Comment 6 Ed Catmur 2004-04-30 15:30:52 UTC
More info: this is NPTL only.
Comment 7 Ed Catmur 2004-04-30 17:26:30 UTC
I believe I understand the problem.

The configure script contains an AC_RUN_IFELSE to check for NPTL support.

I attach this conftest (C source) as a testcase.

If run with stdout as a pipe:

$ gcc -lpthread -o conftest conftest.c
conftest.c: In function `main':
conftest.c:44: warning: passing arg 3 of `pthread_create' from incompatible pointer type
$ ./conftest | cat
OK

although conftest returns (test with: ( ./conftest; echo "Done" ) | cat) the child process is still in existence so the shell does not resume.

In the case of the mono-debugger ebuild, stdout is a pipe to tee if portage logging is enabled. This means that econf runs, emake runs, but then ebuild.sh does not exit and return control to ebuild for the src_install stage.

Note that if conftest is run with stdout as a terminal or a > redirection then the child process terminates correctly. I do not begin to understand why this is.

This provides a number of possible solutions:

1. Disable portage logging for this ebuild
2. Redirect output of configure to /dev/null

These are not particularly attractive. 

3. Patch the NPTL AC_RUN_IFELSE conftest to kill the child process, with signal 9

This is easy to do and a patch can be applied to configure as well as configure.in, so running autoconf will not be necessary.

I will attach the requisite patch.
Comment 8 Ed Catmur 2004-04-30 17:36:40 UTC
Created attachment 30418 [details]
Test case

Compile with -lpthread.
Comment 9 Ed Catmur 2004-04-30 17:42:19 UTC
Created attachment 30419 [details, diff]
0.6-configure-nptl-logging-freeze.patch
Comment 10 Ed Catmur 2004-04-30 17:48:23 UTC
Upstream: http://bugzilla.ximian.com/show_bug.cgi?id=57931
Comment 11 Peter Johanson (RETIRED) gentoo-dev 2004-10-26 15:35:29 UTC
Marking WONTFIX. The debugger is package.masked until a new release which will hopefully not be as buggy/broken.