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
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.
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.
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.
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.
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?
Created attachment 50838 [details] emerge mono pipe This log is made by "emerge mono > mono_emerge_log.txt"
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.
Created attachment 50878 [details] StdOut and StdErr This file should include both standard out and standard error. Hope this is useful
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.
Created attachment 51076 [details] mono emerge trace log Sorry, here is a new version.
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.
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?
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.
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.