Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 80264 - mono-1.0.5-r3 failes under emerge -u mono
Summary: mono-1.0.5-r3 failes under emerge -u mono
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: dotnet project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-31 15:06 UTC by Troels Richter
Modified: 2005-02-25 08:33 UTC (History)
0 users

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


Attachments
mono-1.0.5-r3-debug-mcs-crash.diff (mono-1.0.5-r3-debug-mcs-crash.diff,507 bytes, patch)
2005-02-01 20:11 UTC, Peter Johanson (RETIRED)
Details | Diff
emerge mono pipe (mono_emerge_log.txt,361.79 KB, text/plain)
2005-02-09 08:55 UTC, Troels Richter
Details
StdOut and StdErr (emerge_mono_stderr.txt,379.72 KB, text/plain)
2005-02-09 16:33 UTC, Troels Richter
Details
mono emerge trace log (emerge_mono_stderr.txt,17.73 KB, text/plain)
2005-02-12 12:51 UTC, Troels Richter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Troels Richter 2005-01-31 15:06:20 UTC
I'm currently running MONO 1.02, and after executing emerge -u mono this failure occurs:

(cd .libs && rm -f libMonoPosixHelper.so && ln -s 
> libMonoPosixHelper.so.0.0.0 libMonoPosixHelper.so)
> 
> i686-pc-linux-gnu-ar cru .libs/libMonoPosixHelper.a map.o macros.o
> 
> i686-pc-linux-gnu-ranlib .libs/libMonoPosixHelper.a
> 
> creating libMonoPosixHelper.la
> 
> (cd .libs && rm -f libMonoPosixHelper.la && ln -s 
> ../libMonoPosixHelper.la libMonoPosixHelper.la)
> 
> make[2]: Leaving directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/support'
> 
> Making all in web
> 
> make[2]: Entering directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/web'
> 
> make[2]: Nothing to be done for `all'.
> 
> make[2]: Leaving directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/web'
> 
> make[2]: Entering directory `/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5'
> 
> make[2]: Leaving directory `/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5'
> 
> make[1]: Leaving directory `/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5'
> 
> make[1]: Entering directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/build'
> 
> make[1]: Leaving directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/build'
> 
> make[1]: Entering directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/jay'
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o closure.o closure.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o error.o error.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o lalr.o lalr.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o lr0.o lr0.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o main.o main.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o mkpar.o mkpar.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o output.o output.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o reader.o reader.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o symtab.o symtab.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o verbose.o verbose.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -c -o warshall.o warshall.c
> 
> cc 
> -DSKEL_DIRECTORY=\""/var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/share/jay"\" 
> -g -O2 -o jay closure.o error.o lalr.o lr0.o main.o mkpar.o output.o 
> reader.o symtab.o verbose.o warshall.o
> 
> make[1]: Leaving directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/jay'
> 
> make[1]: Entering directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/mcs'
> 
> Creating ../build/deps/mcs.exe.makefrag ...
> 
> make[1]: Leaving directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/mcs'
> 
> make[1]: Entering directory 
> `/var/tmp/portage/mono-1.0.5-r3/work/mcs-1.0.5/mcs'
> 
> ../jay/jay -ctv < ../jay/skeleton.cs cs-parser.jay > jay-tmp.out && mv 
> jay-tmp.out cs-parser.cs
> 
> ../jay/jay: 3 rules never reduced
> 
> ../jay/jay: 30 shift/reduce conflicts, 1 reduce/reduce conflict.
> 
> /var/tmp/portage/mono-1.0.5-r3/work/mono-1.0.5/runtime/mcs -d:NET_1_1 
> -d:ONLY_1_1 -g /target:exe /out:mcs.exe cs-parser.cs @mcs.exe.sources
> 
> cs-parser.jay(2521) warning CS0162: Unreachable code detected
> 
> Compilation succeeded - 1 warning(s)
> 
> 
> Unhandled Exception: System.NullReferenceException: A null value was 
> found where an object instance was required.


Portage 2.0.51-r15 (default-x86-2004.0, gcc-3.3.4, glibc-2.3.4.20041102-r0, 2.6.
7-mm3 i686)
=================================================================
System uname: 2.6.7-mm3 i686 AMD Athlon(tm) XP 2500+
Gentoo Base System version 1.6.9
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Jun 28 2004, 21:21:46)]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.3
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r2
virtual/os-headers:  2.4.22
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -pipe -march=athlon-xp -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/
config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -pipe -march=athlon-xp -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://
ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.tu-clausthal.de/pub/linu
x/gentoo/ ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 apm arts avi bitmap-fonts crypt cups encode f77 font-server foomati
cdb fortran gd gif gnome gtk gtk2 imlib innodb kde libg++ libwww mad mikmod moti
f mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl python quicktime r
eadline sdl session slang spell ssl tcpd truetype truetype-fonts type1-fonts x86
 xml2 xmms xv zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY


Reproducible: Always
Steps to Reproduce:
1. running version of mono 1.02
2. emerge -u mono or emerge -uD mono
3.

Actual Results:  
The falure descritped in details occurs

Expected Results:  
completed the ebuild update
Comment 1 Peter Johanson (RETIRED) gentoo-dev 2005-01-31 16:12:45 UTC
Does removing mono and emerging mono-1.0.5 solve this? (I suggest using "quickpkg" to make a binary tarball of your mono-1.0.2 before doing this, so you can easily and quickly get back to your previous 1.0.2 install)

I've had some sneaking suspicions that the new mono-1.0.5-r{3,4} are using stuff from /etc/mono/ in exising installs, so you may also need to move the /etc/mono directory to /etc/mono.bak as well (CONFIG_PROTECT will keep it from being removed when you unmerge mono).

Please give that a try and let me know if this helps anything. Thanks.
Comment 2 Troels Richter 2005-02-01 13:23:47 UTC
I've tried the things you suggested, but without any luck.

First I unemerged mono with emerge -C mono.
Then I renamed the etc/mono directory
At last emerged the newest mono version, but the exact same fail occured.

Then i tried to emerging some of the other versions. 
1.05, 1.05-r2, 1.05-r1 failed in the same way.
1.04 worked for me. 
Comment 3 Peter Johanson (RETIRED) gentoo-dev 2005-02-01 20:11:12 UTC
Created attachment 50189 [details, diff]
mono-1.0.5-r3-debug-mcs-crash.diff

Can you please try applying this patch to the 1.0.5-r3 ebuild, and emerging it
again? This should hopefully give us some more verbose debugging info.

It may make *way* too much output for the screen, in which case i'll have to
cook you up a new patch that outputs all the info to a file you can then attach
here.

Try this and we'll see if the output is small enough to grab and get posted
here. Thanks.
Comment 4 Troels Richter 2005-02-08 16:06:22 UTC
Here is the error message after enabling tracing:
. . . ENTER: System.Text.StringBuilder:InternalEnsureCapacity (int)(this:0x1b80ab88[System.Text.StringBuilder mcs.exe], 31, )
. . . . ENTER: (wrapper managed-to-native) System.String:InternalAllocateStr (int)(58, )
. . . . LEAVE: (wrapper managed-to-native) System.String:InternalAllocateStr (int)[STRING:0x1b97ca18:]
. . . . ENTER: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string,int,int)([STRING:0x1b97ca18:], 0, [STRING:0x1b4627d0:System.NullReferenceException], 0, 29, )
. . . . LEAVE: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string,int,int)
. . . LEAVE: System.Text.StringBuilder:InternalEnsureCapacity (int)
. . . ENTER: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string)([STRING:0x1b97ca18:System.NullReferenceException], 29, [STRING:0xc6b6930:: ], )
. . . LEAVE: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string)
. . LEAVE: System.Text.StringBuilder:Append (string)[System.Text.StringBuilder:0x1b80ab88]
. . ENTER: System.Exception:get_Message ()(this:0x1b804c00[System.NullReferenceException mcs.exe], )
. . LEAVE: System.Exception:get_Message ()[STRING:0x1b97cab0:A null value was found where an object instance was required.]
. . ENTER: System.Text.StringBuilder:Append (string)(this:0x1b80ab88[System.Text.StringBuilder mcs.exe], [STRING:0x1b97cab0:A null value was found where an object instance was required.], )
. . . ENTER: System.Text.StringBuilder:InternalEnsureCapacity (int)(this:0x1b80ab88[System.Text.StringBuilder mcs.exe], 92, )
. . . . ENTER: (wrapper managed-to-native) System.String:InternalAllocateStr (int)(116, )
. . . . LEAVE: (wrapper managed-to-native) System.String:InternalAllocateStr (int)[STRING:0x1b986cc0:]
. . . . ENTER: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string,int,int)([STRING:0x1b986cc0:], 0, [STRING:0x1b97ca18:System.NullReferenceException: ], 0, 31, )
. . . . LEAVE: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string,int,int)
. . . LEAVE: System.Text.StringBuilder:InternalEnsureCapacity (int)
. . . ENTER: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string)([STRING:0x1b986cc0:System.NullReferenceException: ], 31, [STRING:0x1b97cab0:A null value was found where an object instance was required.], )
. . . LEAVE: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string)
. . LEAVE: System.Text.StringBuilder:Append (string)[System.Text.StringBuilder:0x1b80ab88]
. . ENTER: System.Text.StringBuilder:Append (string)(this:0x1b80ab88[System.Text.StringBuilder mcs.exe], [STRING:0x80dcf30:], )
. . . ENTER: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string)([STRING:0x1b986cc0:System.NullReferenceException: A null value was found where an object instance was required.], 92, [STRING:0x80dcf30:], )
. . . LEAVE: (wrapper managed-to-native) System.String:InternalStrcpy (string,int,string)
. . LEAVE: System.Text.StringBuilder:Append (string)[System.Text.StringBuilder:0x1b80ab88]
. . ENTER: System.Text.StringBuilder:ToString ()(this:0x1b80ab88[System.Text.StringBuilder mcs.exe], )
. . . ENTER: System.String:InternalSetLength (int)(this:[STRING:0x1b986cc0:System.NullReferenceException: A null value was found where an object instance was required.], 92, )
. . . LEAVE: System.String:InternalSetLength (int)
. . LEAVE: System.Text.StringBuilder:ToString ()[STRING:0x1b986cc0:System.NullReferenceException: A null value was found where an object instance was required.]
. LEAVE: System.Exception:ToString ()[STRING:0x1b986cc0:System.NullReferenceException: A null value was found where an object instance was required.]
LEAVE: (wrapper runtime-invoke) System.Object:runtime_invoke_string (object,intptr,intptr,intptr)[System.String:0x1b986cc0]

Unhandled Exception: System.NullReferenceException: A null value was found where an object instance was required.

Comment 5 Peter Johanson (RETIRED) gentoo-dev 2005-02-08 16:11:53 UTC
That all looks like the method traces that are handling generating the string for the exception. The actual point where the exception happens is prolly further above that.

Any chance you have more of that output?
Comment 6 Troels Richter 2005-02-09 08:55:16 UTC
Created attachment 50838 [details]
emerge mono pipe

This log is made by "emerge mono > mono_emerge_log.txt"
Comment 7 Peter Johanson (RETIRED) gentoo-dev 2005-02-09 14:18:45 UTC
All the exceptions are going to stderr, not stdin, so you'll have to grab that as well. The current stuff you patched doesn't have any of the necessary info. Thanks.
Comment 8 Troels Richter 2005-02-09 16:33:14 UTC
Created attachment 50878 [details]
StdOut and StdErr

This file should include both standard out and standard error.
Hope this is useful
Comment 9 Peter Johanson (RETIRED) gentoo-dev 2005-02-10 11:48:29 UTC
Did you run "emerge sync" since applying that patch? If so, you need to re-apply it, as all the changes will have been lost. Your attachment with stdout and stderr still doesn't have the trace info, which makes me think the change to add the trace info isn't still applied in your version of the ebuild.

Thanks.
Comment 10 Troels Richter 2005-02-12 12:51:21 UTC
Created attachment 51076 [details]
mono emerge trace log

Sorry, here is a new version.
Comment 11 Peter Johanson (RETIRED) gentoo-dev 2005-02-20 11:17:18 UTC
That *still* doesn't have the necessary trace info. I need the output like from your comment #4, but i need the stuff way before what you pasted there.

Are there any newer versions of mono besides 1.0.2 that work for you? 1.0.4*? Thanks.
Comment 12 Troels Richter 2005-02-21 08:42:01 UTC
Sorry, this is going nowhere :)

Like I mentioned in comment 2 1.04 works fine.
Maybe I should wait until you hopefully makes an ebuild of the new 1.1 version?
Comment 13 Peter Johanson (RETIRED) gentoo-dev 2005-02-21 11:48:55 UTC
Yeah, sorry it's being such a pain just to get some useful debugging info. I've just commited mono-1.1.4 to the tree, if you want to test that instead. It's package.masked until further notice, as it has some compat issues with mono consuming apps.
Comment 14 Peter Johanson (RETIRED) gentoo-dev 2005-02-25 08:33:09 UTC
Marking NEEDINFO.

I'm unable to reproduce here, and don't have enough info to know what's going on here. Please feel free to re-open if you can get me a trace with more details, a backtrace of the mono process that is running mcs when it bombs, anything if you can to try to find out why this is happening. Thanks.