Hello, the sys-kernel/vserver-sources-2.1.1_rc21-r3 package is no more in the portage tree. In fact, i'm not sure if i'm at the right place for asking help. Anyway, here is my problem ;) First, vserver was working well on my computer until i decided to change for gcc 4.1.1 in place of gcc 4.2 ... and remerge the whole world again. I tried different vserver and kernel versions, i generated new vserver client in case there was some incompatibilites between versions, but i get always the same exec-ulimit error complaining about a bad address exec-ulimit: execv(): Bad address The last version of the kernel that has worked perfectly was linux-2.6.16-vserver-2.1.1-rc21-r3. Currently, i'm using kernel 2.6.17.1 vanilla + patch-2.6.17-vs2.1.1-rc24.diff but without much success. Of course i tried gentoo 2.7.17 kernel version + vserver patch as well ! Here is my configuration: Portage 2.1.1_pre1-r5 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17.1-vs2.1.1-rc24 x86_64)================================================================= System uname: 2.6.17.1-vs2.1.1-rc24 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.12.1 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.4.2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17.50.0.2 sys-devel/gcc-config: 1.3.13-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.16 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O3 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib/mozilla-thunderbird/components/myspell /usr/share/X11/xkb /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-march=k8 -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict userpriv" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ..." LANG="fr_FR.utf-8" LC_ALL="fr_FR.utf-8" LDFLAGS="-Wl,-O1" LINGUAS="fr" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/overlay" SYNC="rsync://snowman.cryosphere.shacknet.nu/gentoo-portage" USE="a52 aac acl alsa amd64 avi bash-completion berkdb bitmap-fonts bzip2 cairo cli crypt cups curl dbus dga dlloader dri dts dvdr eds emboss encode esd exif fam firefox flac foomaticdb gdbm gif gmp gnome gnutls gphoto2 gpm gstreamer gtk2 hal howl ieee1394 imlib isdnlog java jpeg lcms lzw lzw-tiff mad maildir mmap mng mp3 mpeg ncurses nls nptl nptlonly ogg opengl pam pcre pdflib perl png posix pppd python qt3 qt4 readline reflection sdl session speex spell spl ssl sysvipc tcpd theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales v4l v4l2 vorbis xml xorg xpm xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_joystick input_devices_evdev kernel_linux linguas_fr userland_GNU video_cards_radeon video_cards_fglrx video_cards_vesa video_cards_v4l" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS and the vserver sys-cluster/util-vserver-0.30.210-r14 package. Currently, i'm testing the last cvs version (i desinstalled util-vserver), sys-cluster/vserver-utils-1.0.4_pre sys-libs/libvserver-2.0_pre dev-libs/dietlibc-0.30 dev-libs/libowfat-0.24 As i can tell, the vserver documentation is not really explicit ;) For the moment, it is not a success story either and i continue to get an error. Not the same but always about bad address ;) vserver start gentoo-template returns, Failed to create new namespace: Bad address An error occured while trying to setup the context for 'gentoo-template'
Here are the settings, # # Linux VServer # # CONFIG_VSERVER_LEGACY is not set # CONFIG_VSERVER_NGNET is not set CONFIG_VSERVER_REMAP_SADDR=y CONFIG_VSERVER_COWBL=y # CONFIG_VSERVER_VTIME is not set CONFIG_VSERVER_PROC_SECURE=y CONFIG_VSERVER_HARDCPU=y CONFIG_VSERVER_IDLETIME=y CONFIG_VSERVER_IDLELIMIT=y # CONFIG_TAGGING_NONE is not set # CONFIG_TAGGING_UID16 is not set # CONFIG_TAGGING_GID16 is not set CONFIG_TAGGING_ID24=y # CONFIG_TAGGING_INTERN is not set # CONFIG_TAGGING_RUNTIME is not set # CONFIG_TAG_NFSD is not set # CONFIG_PROPAGATE is not set CONFIG_VSERVER_DEBUG=y CONFIG_VSERVER_HISTORY=y CONFIG_VSERVER_HISTORY_SIZE=64 CONFIG_VSERVER_MONITOR=y CONFIG_VSERVER_MONITOR_SIZE=1024 CONFIG_VSERVER_MONITOR_SYNC=256 CONFIG_VSERVER=y CONFIG_VSERVER_SECURITY=y CONFIG_VSERVER_LEGACYNET=y
really i don't understand what append. I was using testme.sh from http://vserver.13thfloor.at/Stuff/SCRIPT/testme.sh with the sys-cluster/util-vserver-0.30.210-r14 package and it has passed all the tests ! output: # ./testme.sh Linux-VServer Test [V0.15] Copyright (C) 2003-2006 H.Poetzl chcontext is working. chbind is working. Linux 2.6.17.1-vs2.1.1-rc24 #3 PREEMPT Wed Jun 28 19:04:34 MEST 2006 x86_64 Ea 0.30.210 236/glibc (DSa) <v13,net> VCI: 0002:0101 236 031101f4 (KtTbnPD) --- [000]# succeeded. [001]# succeeded. [011]# succeeded. [031]# succeeded. [101]# succeeded. [102]# succeeded. [201]# succeeded. [202]# succeeded. But the problem stays the same
okay!!!! i have found the culprit lol dev-libs/dietlibc it works great with 0.28 release... Flags i changed, CFLAGS="`echo $CFLAGS | /usr/bin/sed -e s/-O3/-O2/`" CFLAGS="`echo $CFLAGS | /usr/bin/sed -e s/-fno-stack-protector-all//`" without the above one it doesn't compile and CXXFLAGS="`echo $CXXFLAGS | /usr/bin/sed -e s/-O3/-O2/`" for sys-cluster/util-vserver, i changed CFLAGS="`echo ${CFLAGS} | /usr/bin/sed -e s/-O3/-O2/`" CXXFLAGS="`echo $CXXFLAGS | /usr/bin/sed -e s/-O3/-O2/`" i don't think all the modified flags are necessary I will investigate further and let you know :)
summery ------- Sure, i never compiled dietlibc 0.28 with gcc 4.1.1 and above before. Certainly because it didn't compile at all. Certainly i had upgraded dietlibc with the 0.30 version which doesn't work correctly with the util-vserver package. Here begins all my vserver issues. What i have found, it is not necessary to lower CFLAGS optimization flag, sys-cluster/util-vserver works well with -O3 same for dev-libs/dietlibc but -fno-stack-protector-all needs to be discarded.That flag is uncompatible with gcc 4.1.1 release And definitely don't use the last dev-libs/dietlibc-0.30 Hope that helps someone.
*** Bug 138497 has been marked as a duplicate of this bug. ***
Reopen. Don't close bugs that are not fixed in portage, please.
(In reply to comment #6) > Reopen. Don't close bugs that are not fixed in portage, please. > Sorry, i thought the issue was more dietlibc relevant than util-vserver. That's why i closed this one and opened Bug 138497 Jj
(In reply to comment #0) > Hello, > > the sys-kernel/vserver-sources-2.1.1_rc21-r3 package is no more in the portage > tree. In fact, i'm not sure if i'm at the right place for asking help. > the experimental kernels have moved to http://overlays.gentoo.org/proj/vps (In reply to comment #4) > -fno-stack-protector-all needs to be > discarded.That flag is uncompatible with gcc 4.1.1 release > there is no -fno-stack-protector-all in the ebuilds, dietlibc or util-vserver...
> > there is no -fno-stack-protector-all in the ebuilds, dietlibc or > util-vserver... > Hello, you over see it, please read again or run a "grep no-stack-protector-all /var/log/ebuild/dev-libs:dietlibc-0.28*" :) As i said above dietlibc 0.30 doesn't work with vserver-utils or util-vserver (i didn't test 0.29 !). To compile dietlibc-0.28 with gcc 4.1.1 you need to take "no-stack-protector-all" off from the package. Otherwise it doesn't compile as you can see below: >>> Compiling source in /var/tmp/portage/dietlibc-0.28/work/dietlibc-0.28 ... mkdir bin-x86_64 gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c x86_64/start.S -o bin-x86_64/start.o gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c dyn_start.c -o bin-x86_64/dyn_start.o cc1: erreur: option "-fno-stack-protector-all" de la ligne de commande non reconnue gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c dyn_stop.c -o bin-x86_64/dyn_stop.o gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c x86_64/unified.S -o bin-x86_64/unified.o make: *** [bin-x86_64/start.o] Erreur 1 make: *** Attente des t
> > there is no -fno-stack-protector-all in the ebuilds, dietlibc or > util-vserver... > Hello, you over see it, please read again or run a "grep no-stack-protector-all /var/log/ebuild/dev-libs:dietlibc-0.28*" :) As i said above dietlibc 0.30 doesn't work with vserver-utils or util-vserver (i didn't test 0.29 !). To compile dietlibc-0.28 with gcc 4.1.1 you need to take "no-stack-protector-all" off from the package. Otherwise it doesn't compile as you can see below: >>> Compiling source in /var/tmp/portage/dietlibc-0.28/work/dietlibc-0.28 ... mkdir bin-x86_64 gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c x86_64/start.S -o bin-x86_64/start.o gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c dyn_start.c -o bin-x86_64/dyn_start.o cc1: erreur: option "-fno-stack-protector-all" de la ligne de commande non reconnue gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c dyn_stop.c -o bin-x86_64/dyn_stop.o gcc -I. -isystem include -march=k8 -O2 -pipe -D__dietlibc__ -fno-stack-protector-all -fno-stack-protector -c x86_64/unified.S -o bin-x86_64/unified.o make: *** [bin-x86_64/start.o] Erreur 1 make: *** Attente des tâches non terminées.... cc1: erreur: option "-fno-stack-protector-all" de la ligne de commande non reconnue make: *** [bin-x86_64/dyn_stop.o] Erreur 1 cc1: erreur: option "-fno-stack-protector-all" de la ligne de commande non reconnue make: *** [bin-x86_64/dyn_start.o] Erreur 1 make: *** wait: Aucun processus enfant. Arrêt. !!! ERROR: dev-libs/dietlibc-0.28 failed. Call stack: ebuild.sh, line 1545: Called dyn_compile ebuild.sh, line 940: Called src_compile dietlibc-0.28.ebuild, line 42: Called die !!! emake failed
after having investigated this a bit more, we have found out that the environ pointer to execve gets corrupted with gcc 4.1.1 but not with gcc 3.4.6 (no other versions tested) see the attached gdb outputs, you will notice that %rdx is corrupted in the gcc411 register dump... unfortunately we haven't found a fix yet, since all other execve (in util-vserver) work great..
Created attachment 94035 [details] gcc 3.4.6 gdb
Created attachment 94036 [details] gcc 4.1.1 gdb
this should be fixed in 0.30-r1, please test
(In reply to comment #13) > this should be fixed in 0.30-r1, please test > Thx, dev-libs/dietlibc-0.30-r1 works great now with sys-cluster/util-vserver-0.30.210-r18 and linux-2.6.17-gentoo-r7 + patch-2.6.17.11-vs2.1.1-rc31.diff Jj