Summary: | dev-util/mono-debugger-2.2 doesn't seem be able to debug using dev-lang/mono-2.2 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mike Auty (RETIRED) <ikelos> |
Component: | Current packages | Assignee: | dotnet project <dotnet> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 404errorqc, jan.oravec, ostroffjh, tolot |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 256261 |
Description
Mike Auty (RETIRED)
2009-01-25 01:01:16 UTC
Just adding this on this bug to remind me. [23:06] <loki_val> mono-debugger-2.2 is faily for us, I need to get that tracked down. [23:06] <meebey> thus its usually a good idea to stick with mainstream [23:06] <meebey> even though its buggier, you can backport easier from trunk then [23:06] <meebey> so I think we should try to get ready with 2.2 [23:06] <meebey> and really abort 2.0 [23:07] <directhex> in the end it's your decision, meebey. but with NEW delays, i'm strongly suspecting 0ubuntu1-land [23:07] <meebey> true [23:07] <meebey> loki_val: its that time again? :( [23:07] <directhex> look at it this way - jaunty requires no mad pinning to build & test [23:07] <meebey> loki_val: the debugger only works once per year in one releases [23:08] <meebey> loki_val: it was like for that last 5 years :( [23:08] <directhex> loki_val, which kernel, OOI? mono-debugger doesn't work on jaunty as the kernel is too recent [23:08] <directhex> (¬) [23:08] <directhex> (!) [23:08] <loki_val> !? [23:08] <directhex> 2.0 that is [23:08] <loki_val> That's just ... [23:08] <directhex> there's some kinda hooks thing that prevents the debugger from hooking the mono process on 2.6.27+ [23:08] <meebey> holy crap :) [23:08] <directhex> sowwy :( [23:09] <directhex> maybe it's all better in 2.2, but 2.2 accidentally runs rm -fr / every few weeks [23:09] <directhex> IMHO upstream need to SLOW THE FUCK DOWN [23:09] <meebey> what? [23:09] <loki_val> directhex: srsly rm -rf /? [23:10] <meebey> they kinda changed from maturity release cycle to fragile release cycle [23:10] <directhex> http://lists.ximian.com/pipermail/mono-packagers-list/2008-December/000072.html [23:10] <directhex> loki_val, i'm kidding. i hope [23:10] <loki_val> directhex: I was ready to believe you. [23:10] <directhex> meebey, which would be okay if they were helping downstream to do the hardening, but they're not! [23:10] <directhex> loki_val, so was i [23:11] <directhex> loki_val, anyway, read that ML post I get the exact same error with mono-2.2 and mono-debugger-2.2 as well as with the 2.4_rc2 version from the dotnet overlay. I haven't tested it with mono-debugger-2.0 because this requires "nunit-console2" which doesn't seem to be in portage. It fails with the same error regardless of the program: echo "class Test{static void Main(){System.Console.WriteLine(\"Hello World\");}}" > test.cs mcs test.cs && mdb -run test.exe This also locks up Monodevelop whenever the debugger is ran from within the IDE. Portage 2.2_rc24 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.27-gentoo-r7 x86_64) ================================================================= System uname: Linux-2.6.27-gentoo-r7-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-glibc2.2.5 Timestamp of tree: Tue, 10 Mar 2009 12:45:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7-r1, 2.1.7 dev-lang/python: 2.4.4-r13, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/cmake: 2.6.3 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r1 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.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ABI="amd64" ACCEPT_KEYWORDS="amd64" ALSA_CARDS="hda-intel usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ANT_HOME="/usr/share/ant" 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" ARCH="amd64" ASFLAGS_x86="--32" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CDEFINE_amd64="__x86_64__" CDEFINE_x86="__i386__" CFLAGS="-march=nocona -O2 -pipe" CFLAGS_x86="-m32" CG_COMPILER_EXE="/usr/bin/cgc" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x86="i686-pc-linux-gnu" CLASSPATH="." CLEAN_DELAY="5" COLLISION_IGNORE="/usr/share/apps/katepart/syntax/bibtex.xml /usr/share/apps/katepart/syntax/latex.xml" COLORTERM="gnome-terminal" CONFIG_PROTECT="/etc /usr/share/config" 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/web2c /etc/udev/rules.d" CVS_RSH="ssh" CXXFLAGS="-march=nocona -O2 -pipe" DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-FLH9Y6K4GA,guid=2db0fa3d27a30ac2cf4cfec149b61151" DEFAULT_ABI="amd64" DESKTOP_SESSION="gnome" DISPLAY=":0.0" DISTDIR="/usr/portage/distfiles" EDITOR="/bin/vim" ELIBC="glibc" EMERGE_WARNING_DELAY="10" FEATURES="distlocks fixpackages parallel-fetch prelink preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" FLTK_DOCDIR="/usr/share/doc/fltk-1.1.7-r2/html" GAMES_PREFIX_OPT="/opt/games" GCC_SPECS="" GDK_USE_XFT="1" GDMSESSION="gnome" GDM_LANG="C" GDM_XSERVER_LOCATION="local" GENTOO_MIRRORS="ftp://ftp.student.utwente.nl/pub/os/linux/gentoo ftp://gentoo.inode.at/source/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/" GNOME_DESKTOP_SESSION_ID="Default" GNOME_KEYRING_SOCKET="/tmp/keyring-guS4Hr/socket" GPG_AGENT_INFO="/tmp/seahorse-Tzb1KM/S.gpg-agent:6881:1" GTK_MODULES="gnomebreakpad" GTK_RC_FILES="/etc/gtk/gtkrc:/home/seraphim/.gtkrc-1.2-gnome2" GUILE_LOAD_PATH="/usr/share/guile/1.8" HG="/usr/bin/hg" HOME="/root" INFOPATH="/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/info" INPUT_DEVICES="keyboard mouse evdev wacom" JAVAC="/home/seraphim/.gentoo/java-config-2/current-user-vm/bin/javac" JAVA_HOME="/home/seraphim/.gentoo/java-config-2/current-user-vm" JDK_HOME="/home/seraphim/.gentoo/java-config-2/current-user-vm" KERNEL="linux" LADSPA_PATH="/usr/lib64/ladspa" LANG="C" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LC_COLLATE="C" LDFLAGS="-Wl,-O1" LDFLAGS_x86="-m elf_i386" LESS="-R -M --shift 5" LESSOPEN="|lesspipe.sh %s" LIBDIR_amd64="lib64" LIBDIR_ppc="lib32" LIBDIR_ppc64="lib64" LIBDIR_sparc32="lib32" LIBDIR_sparc64="lib64" LIBDIR_x86="lib32" LINGUAS="en en_GB nl" LOGNAME="root" LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:" MAKEOPTS="-j5" MANPATH="/home/seraphim/.gentoo/java-config-2/current-user-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.18/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.2/man:/etc/java-config/system-vm/man/:/usr/lib64/php5/man/:/usr/qt/3/doc/man:/opt/cuda/man" MATLAB_JAVA="/usr/lib/jvm/sun-jdk-1.6/jre/" MULTILIB_ABIS="amd64 x86" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)" NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OPENGL_PROFILE="nvidia" ORBIT_SOCKETDIR="/tmp/orbit-seraphim" PAGER="/usr/bin/less" PATH="/sbin:/bin:/usr/sbin:/usr/bin" PKGDIR="/usr/portage/packages" PKG_CONFIG_PATH="/usr/qt/3/lib64/pkgconfig" PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib64/portage/bin" PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ECLASS_WARNING_ENABLE="0" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_FETCH_RESUME_MIN_SIZE="350K" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_NICENESS="15" PORTAGE_PYM_PATH="/usr/lib64/portage/pym" PORTAGE_QUIET="1" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_RSYNC_RETRIES="3" PORTAGE_TMPDIR="/var/tmp" PORTAGE_VERBOSE="1" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/desktop-effects /usr/portage/local/layman/roslin /usr/portage/local/layman/science /usr/portage/local/layman/sunrise /usr/portage/local/layman/devnull /usr/portage/local/layman/kde-testing /usr/portage/local/layman/dotnet /usr/portage/local/bugs /usr/portage" PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND" PWD="/home/seraphim" PYTHONDOCS="/usr/share/doc/python-docs-2.5.1/html/lib" QMAKESPEC="linux-g++" QTDIR="/usr/qt/3" RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"" ROOT="/" ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/usr/qt/3/bin:/opt/cuda/bin" RPMDIR="/usr/portage/rpm" RSYNC_TIMEOUT="20" R_HOME="/usr/lib64/R" SANE_CONFIG_DIR="/etc/sane.d" SDL_AUDIODRIVER="alsa" SESSION_MANAGER="local/serafim:/tmp/.ICE-unix/6782" SHELL="/bin/bash" SHLVL="2" SSH_AGENT_PID="6871" SSH_AUTH_SOCK="/tmp/keyring-guS4Hr/ssh" STAGE1_USE="multilib nptl nptlonly unicode" SYMLINK_LIB="yes" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" TERM="xterm" USB_DEVFS_PATH="/dev/bus/usb" USE="7zip R X a52 aac aalib acl acpi alsa amd64 artworkextra async asyncns avi bash-completion beagle berkdb bluetooth boo browserplugin bzip2 cairo cdaudio cdda cddb cdparanoia cdr cegui cg chardet chm cjk cleartype cli cracklib crypt curl cxx dbus devhelp device-mapper devil dia divx divx4linux doc double-precision dri dts dvd dvdr dvdread dvi emboss encode esd evo exif expat fam ffmpeg fftw firefox flac fluidsynth font-server fontconfig fortran fuse galago gamin gdbm gecko ggi gif git glade glew glib glitz gmedia gnome gnutls gpm graphviz gs gstreamer gtk gtk2 hal hdri iconv icu id3tag imagemagick imlib inherit-graph inkjar inotify int64 ipv6 isdnlog ithreads java joystick jpeg jpeg2k jpg kdeenablefinal kerberos latex ldap libcaca libnotify libsamplerate libsexy lua lzo mad matroska midi mikmod mmx mmx2 mng mono moonlight mp3 mp4 mpeg mplayer mudflap multilib musepack musicbrainz nautilus ncurses nls nptl nptlonly nsplugin offensive ogg ogg123 oggvorbis ogm openal openexr opengl openmp oss pango pch pcre pdf perl physfs pic pidgin plotutils png postscript ppds pppd pulseaudio python qt3support qt4 quicktime rar readline realmedia reflection regex rtsp samba schroedinger sdl sdl-image session sftp sndfile sourceview speex spell spl srt sse sse2 sse3 ssl ssse3 startup-notification stream subversion svg sysfs taglib tagwriting tcl tcpd tetex tga theora threads thunderbird tiff timidity tk truetype tta unicode usb utils v4l2 valgrind vim-syntax vorbis wavpack webkit wma wmf wmp wxwindows x264 xattr xcb xcomposite xerces-c xml xorg xpm xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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 wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB nl" USERLAND="GNU" VIDEO_CARDS="nv nvidia" The problem is that dev-lang/mono is build with --disable-static, which is discouraged by upstream. There is even a big fat warning in Mono's configure.in (at least in Mono's SVN trunk). (In reply to comment #3) > The problem is that dev-lang/mono is build with --disable-static, which is > discouraged by upstream. There is even a big fat warning in Mono's configure.in > (at least in Mono's SVN trunk). I tried building it without --disable-static when this bug was first reported and don't recall that making mdb work. Can you confirm that doing: EXTRA_ECONF="--enable-static" emerge -1 mono && emerge -1 mono-debugger makes mono-debugger work for you? The --enable-static fixed it for me on mono-2.5 (SVN). I just tried downgrading to mono-2.2-r3 (with --enable-static) + mono-debugger-2.2 and it seems to work as well: $ cat a.cs class C { public static void Main () { System.Console.WriteLine ("hello world"); } } $ gmcs -debug+ a.cs $ mdb ./a.exe Mono Debugger (mdb) run Starting program: ./a.exe Thread @1 stopped at #0: 0x41843384 in C.Main()+0x4 at /home/jan/qw/a.cs:5. 5 System.Console.WriteLine ("hello world"); (mdb) cont hello world Thread @1 exited. Process #1 exited. (mdb) Target exited. The debugger opens /usr/bin/mono and tries to find some symbols, which are present only when it is statically linked with libmono. I haven't looked at the debugger code too much to say, if it can be easily fixed to work on dynamically linked libmono. Thank you! Fixed in -r4. +*mono-2.2-r4 (22 Mar 2009) + + 22 Mar 2009; Peter Alfredsen <loki_val@gentoo.org> -mono-2.2-r3.ebuild, + +mono-2.2-r4.ebuild: + Fix bug 256264, mono-debugger-2.2 doesn't work. It seems mono-debugger + uses some symbols that are only available if mono is compiled statically. + Do --enable-static so we can debug our progams finally. Thanks to Jan + Oravec <jan.oravec@6com.sk> for the fix and ikelos for the report. + Also present in 2.4_rc1, emerging mono and mono-debugger as oneshots with EXTRA_ECONF="--enable-static" also solves the issue. Btw. currently, there is --disable-static in go-mono.eclass and --enable-static in the ebuild. Wouldn't it make sense to remove both (or at least --disable-static from eclass)? (In reply to comment #8) > Btw. currently, there is --disable-static in go-mono.eclass and --enable-static > in the ebuild. Wouldn't it make sense to remove both (or at least > --disable-static from eclass)? go-mono eclass is also used for all the other mono-package ebuilds such as mono-tools, mono-debugger, xsp, mod_mono, etc. It's only in mono we want to enable the static libs, all the other packages are fine. (In reply to comment #7) > Also present in 2.4_rc1, emerging mono and mono-debugger as oneshots with > EXTRA_ECONF="--enable-static" also solves the issue. Rc3 in the overlay has the fix. Does anyone actually know if this is still a problem, over ten years on? This does not exits anymore for years (!) so the bug is totally irrelevant in 2020. and can, definitely, be closed :) Apologies - I didn't read carefully enough - this was actually closed (RESOLVED FIXED) in 2009. My real question is whether -enable-static is still necessary, but I'll open that as a separate bug. I've built mono-9999 that way, and have not seen any problems, but I don't use it heavily, and I'll actually have to try mono-debugger first. |