Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 256153

Summary: dev-util/bless-0.6.0 fails with missing method under dev-lang/mono-2.2-r2
Product: Gentoo Linux Reporter: Mike Auty (RETIRED) <ikelos>
Component: Current packagesAssignee: dotnet project <dotnet>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://bugzilla.novell.com/show_bug.cgi?id=469213
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 256261    

Description Mike Auty (RETIRED) gentoo-dev 2009-01-24 03:36:47 UTC
Hiya guys,

Sorry to be assigning you the bug, but I am the bless maintainer and I've got no idea what's going wrong.  When I start up bless, and type any character, it dies leaving the following message:

** (bless:3128): WARNING **: Missing method Bless.Util.IRange.get_End in assembly /usr/lib/bless/Bless.Util.dll token 6000047
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.TypeLoadException: A type load exception has occurred.
  at Bless.Util.IntervalTree`1+ITNodeFactory[System.Object].CreateNode (Int64 key, System.Object val, Color color) [0x00000] 
  at Bless.Util.RedBlackTree`2[System.Int64,Bless.Gui.Areas.AtomicHighlight].Insert (INode h, Int64 key, Bless.Gui.Areas.AtomicHighlight val) [0x00000] 
  at Bless.Util.RedBlackTree`2[System.Int64,Bless.Gui.Areas.AtomicHighlight].Insert (Int64 key, Bless.Gui.Areas.AtomicHighlight val) [0x00000] 
  at Bless.Util.IntervalTree`1[Bless.Gui.Areas.AtomicHighlight].Insert (Bless.Gui.Areas.AtomicHighlight r) [0x00000] 
  at Bless.Gui.Areas.AreaGroup.BreakDownHighlights (Bless.Gui.Areas.Highlight s, IList`1 lst) [0x00000] 
  at Bless.Gui.Areas.AreaGroup.GetAtomicHighlights () [0x00000] 
  at Bless.Gui.Areas.AreaGroup.Render (Boolean force) [0x00000] 
  at Bless.Gui.Areas.AreaGroup.<SetChanged>m__0 (System.Object , System.EventArgs ) [0x00000] 
  at Gtk.Application+InvokeCB.Invoke () [0x00000] 
  at GLib.Timeout+TimeoutProxy.Handler () [0x00000] 
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GLib.Timeout+TimeoutProxy.Handler()
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at BlessMain..ctor(System.String[] args)
   at BlessMain.Main(System.String[] args)

Exactly the same assemblies (no recompile) run fine under mono-2.0.1-r1, so ti looks like it's a problem with the CIL interpreter rather than any problems in code generation.  I haven't managed to find any other information about this kind of problem on the net (either bless specific or mono-2.2 in general).  I've checked in Reflector and the IRange definition looks much like the code it was compiled from, so I'm now beyond my abilities.  Can anyone give me a hand debugging this/figuring out what on earth's going wrong?  Thanks!


Portage 2.2_rc23 (default/linux/x86/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r1, 2.6.28.1-dirty i686)
=================================================================
System uname: Linux-2.6.28.1-dirty-i686-Intel-R-_Core-TM-2_Duo_CPU_T7700_@_2.40GHz-with-gentoo-2.0.0
Timestamp of tree: Fri, 23 Jan 2009 22:10:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p48
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.5.2-r8, 2.6.1
dev-python/pycrypto: 2.0.1.99999
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.2
sys-apps/sandbox:    1.3.2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=core2 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -mtune=core2 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect cvs distlocks fixpackages parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="C"
LC_ALL="en_GB"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/embedded /usr/local/overlays/gnome /usr/local/overlays/bluez /usr/local/overlays/desktop-effects /usr/local/overlays/vmware /usr/local/overlays/uncon /usr/local/overlays/ikelos /usr/local/overlays/personal"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi additions alsa apache2 applet avahi bash-completion berkdb bluetooth boundschecking branding bzip2 cairo ccache cdda cdr cli cracklib crypt cups curl dbus dell deskbar divx dri dv dvb dvd dvdr dvi encode exif fam ffmpeg fftw ftp fuse gd gedit gif git glade glitz gmedia gnome gnome-keyring gnuplot gps graphviz gsm gstreamer gtk gtkhtml hal havekernel hdaps hpn httpd hybrid-auth iconv ilbc imap injection ipod iproute2 ipv6 isdnlog java java5 java6 javascript jingle john jpeg kpathsea kqemu kvm ladspa lame laptop ldap libffi libnotify libsexy mad madwifi maildir mdnsresponder-compat midi mikmod mmx mmxext mng mono moonlight mozdevelop mozdom moznopango mp3 mpeg mscash mssql mudflap multitarget music mysql nautilus ncurses netboot networkmanager nls nntp nptl nptlonly ntlm obex ogg old-daemons opengl openmp pam patch pcmcia pcre pcsc-lite pdf perl pic png postgres ppds pppd python quicktime rdesktop readline realmedia reflection resolvconf rtsp samba sasl sdl server session skins slp smp sms smux snmp sox spell spl sqlite sqlite3 sse sse2 ssl stream subversion svg svn-mirror sysfs syslog tcpd theora tokenizer tracker truetype unicode usb usrp v4l2 vlm vnc vorbis webdav wifi win32codecs winbind wmf wmp wpe x264 x86 x86emu xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="usb-dib0700" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" USERLAND="GNU" VIDEO_CARDS="intel vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Mike Auty (RETIRED) gentoo-dev 2009-01-24 03:53:12 UTC
Oh, in case there was any confusion, bless compiled under mono-2.2 still fails to run under mono-2.2 with this problem (whilst the 2.2-compiled version runs fine under 2.0).

Also, recompiling things like gtk-sharp and glib-sharp don't help...
Comment 2 Peter Alfredsen (RETIRED) gentoo-dev 2009-01-24 08:12:48 UTC
First look reaction: Works for Me.
Compiled bless from sources, no problems loading.
Portage 2.2_rc23 (default/linux/amd64/2008.0, gcc-4.3.2-asneeded, glibc-2.8_p20080602-r1, 2.6.28.1 x86_64)
=================================================================
System uname: Linux-2.6.28.1-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-glibc2.2.5
Timestamp of tree: Fri, 23 Jan 2009 20:35:01 +0000
app-shells/bash:     3.2_p48
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.5.4-r1
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.2
sys-apps/sandbox:    1.3.2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2 -pipe -Wall -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2 -pipe -Wall -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distlocks fixpackages installsources multilib-strict parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS=" http://gentoo.osuosl.org/ http://gentoo.oregonstate.edu"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en da"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="lzma"
PORTAGE_COMPRESS_FLAGS="--best"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/dirtyepic /home/pa/loki_overlay /home/pa/dotnet-overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acpi aiglx aim alsa amarok amd64 archive authdaemond avahi bash-completion berkdb bidi bzip2 cairo cdda cddb cdparanoia cdr cgi cjk cli cpudetection cracklib crypt css cups curl dbus dirac directfb djbfft djvu dri dts dvd dvdr dvdread encode evdev exif fam fastcgi fbcon ffmpeg firefox flac fontconfig fortran ftp g15 gadu gif glib gnome gnutls gphoto2 gpm graphviz gstreamer gtk hal hbci iconv icq icu idea ieee1394 imagemagick imap imlib isdnlog jabber java javascript jbig jpeg jpeg2k kde kdeenablefinal lcd libnotify logitech-mouse logrotate lzma lzo mad matroska mbox metric midi mikmod mime mmx mmxext mng mono moznopango mp3 mp4 mpeg mplayer msn mudflap multilib musepack ncurses network-cron nls nocd nptl nptlonly objc objc++ objc-gc offensive ogg openal openexr opengl openmp oscar pam pcre pdf perl php png pop ppds pppd python qt3 qt3support qt4 quicktime readline reflection rle sasl schroedinger sdl sensord session shorten slang smime sms speex spell spl sse sse2 ssl ssse3 svg sysfs t1lib tcpd texteffect theora threads tiff translator truetype unicode usb vcd vorbis wavpack wmf wxwindows x264 xanim xcb xface xfce xine xml xmlrpc xorg xscreensaver xulrunner xv xvid xvmc yahoo zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="g15" LINGUAS="en da" USERLAND="GNU" VIDEO_CARDS="vesa i810 intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Mike Auty (RETIRED) gentoo-dev 2009-01-24 12:16:46 UTC
Thanks for looking into this Peter.  Just to double check (since you said loaded up, rather than ran without problems), you started up bless with a blank document and then started typing values into the hex section and the program stayed up and working and responded fine?

Otherwise the main difference is either the arch (I don't have a ~amd64 to test this on) and glibc (2.9 vs 2.8), but I can't see how glibc would cause such a, well, graceful failure...
Comment 4 Peter Alfredsen (RETIRED) gentoo-dev 2009-01-24 13:06:55 UTC
Hrm...
Actually, I didn't try to type any character, I only navigated the program. Sorry, guys. I also get the traceback when I press any key.
** (bless:18679): WARNING **: Missing method Bless.Util.IRange.get_End in assembly /usr/lib64/bless/Bless.Util.dll token 6000047
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.TypeLoadException: A type load exception has occurred.
  at Bless.Util.IntervalTree`1+ITNodeFactory[System.Object].CreateNode (Int64 key, System.Object val, Color color) [0x00000] 
  at Bless.Util.RedBlackTree`2[System.Int64,Bless.Gui.Areas.AtomicHighlight].Insert (INode h, Int64 key, Bless.Gui.Areas.AtomicHighlight val) [0x00000] 
  at Bless.Util.RedBlackTree`2[System.Int64,Bless.Gui.Areas.AtomicHighlight].Insert (Int64 key, Bless.Gui.Areas.AtomicHighlight val) [0x00000] 
  at Bless.Util.IntervalTree`1[Bless.Gui.Areas.AtomicHighlight].Insert (Bless.Gui.Areas.AtomicHighlight r) [0x00000] 
  at Bless.Gui.Areas.AreaGroup.BreakDownHighlights (Bless.Gui.Areas.Highlight s, IList`1 lst) [0x00000] 
  at Bless.Gui.Areas.AreaGroup.GetAtomicHighlights () [0x00000] 
  at Bless.Gui.Areas.AreaGroup.Render (Boolean force) [0x00000] 
  at Bless.Gui.Areas.AreaGroup.<SetChanged>m__0 (System.Object , System.EventArgs ) [0x00000] 
  at Gtk.Application+InvokeCB.Invoke () [0x00000] 
  at GLib.Timeout+TimeoutProxy.Handler () [0x00000] 
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
   at GLib.Timeout+TimeoutProxy.Handler()
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at BlessMain..ctor(System.String[] args)
   at BlessMain.Main(System.String[] args)
Comment 5 Mike Auty (RETIRED) gentoo-dev 2009-01-25 00:55:55 UTC
Thanks for filing the upstream bug.  I believe they're already aware of the problem:

http://svn.gna.org/viewcvs/bless/website/downloads.html?rev=37&r1=36&r2=37

Does that mean that there's a documented change in behaviour between mono-2.0 and mono-2.2?  Given that the assemblies worked fine under 2.0, it struck me as more of a mono regression than a bless bug, since I couldn't see any documentation suggesting required code changes or anything like that.  Is there a guide for the changes anywhere?
Comment 6 Peter Alfredsen (RETIRED) gentoo-dev 2009-01-25 01:31:27 UTC
(In reply to comment #5)

No, 2.2 should be compatible with 2.0, as always. I'm just filing the bug to make sure they know it also affects linux. I haven't really looked at the code that produces this yet, I must admit
Comment 7 Peter Alfredsen (RETIRED) gentoo-dev 2009-01-25 01:34:45 UTC
https://gna.org/bugs/index.php?12900
^^Application bug. Novell bug in URL

I don't know where the problem is, it may be either place. Now we have the means to track progress at least.
Comment 8 Peter Alfredsen (RETIRED) gentoo-dev 2009-01-25 08:55:22 UTC
From bug in URL:

This is fixed by r123987 on HEAD, but the fix is not (yet) backported to the
2.2 branch. It looks like that change is needed for non-AOT code as well.

In the meantime, setting the env var MONO_GENERIC_SHARING=corlib will work
around
this bug.
Comment 9 Peter Alfredsen (RETIRED) gentoo-dev 2009-01-25 13:24:26 UTC
+*mono-2.2-r3 (25 Jan 2009)
+
+  25 Jan 2009; Peter Alfredsen <loki_val@gentoo.org>
+  +files/mono-2.2-r123987-bless-crash.patch, -mono-2.2-r2.ebuild,
+  +mono-2.2-r3.ebuild:
+  Add fix for bug 256153, bless crash upstream bug 469213
+

Backported the fix from upstream. Thanks for reporting.