Upgraded to evms-2.3.2, now evms_activate segfaults (including at the two places where it's executed by init scripts). For *me* this is not critical, as I use an evms initrd (because my root partition is in evms - note that I am using the developer-supplied "evms-2.3.2-initrd.gz" to match the ebuild's version) that activates correctly with no segfault. It's also possible that evms_activate actually does complete it's job before segfaulting (I have no way to know since my initrd gets there first). If it doesn't, and a user is not using an evms initrd, then their system may be rendered inoperable (unable to mount all evms-supplied partitions). For this reason, I'm marking it as critical even though I'm not positive. Please note that evms user interfaces seem to work ok. ================================================================= # emerge info Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-gentoo-r4) ================================================================= System uname: 2.6.7-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" 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 -march=pentium4 -pipe -fomit-frame-pointer -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ http://128.213.5.34/gentoo/ http://gentoo.netnitco.net http://mirror.cpsc.ucalgary.ca/mirror/gentoo.org http://cudlug.cudenver.edu/gentoo/ http://gentoo.ccccom.com http://gentoo.binarycompass.org" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="alsa apache2 arts avi crypt cups encode flash foomaticdb gd gif gtk2 imagemagick imap imlib jpeg lcms libg++ libwww mad mcal memlimit mikmod mmx mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png ppds python quicktime readline samba sasl sdl slang slp spell sse ssl svga tcpd tiff truetype usb x86 xml xml2 xmms zlib" ================================================================= ================================================================= # evms_activate Segmentation fault ================================================================= ================================================================= # evms_activate -v Loading module: /lib/evms/2.3.2/xfs-1.0.6.so Validating plug-in: XFS File System Interface Module Loading module: /lib/evms/2.3.2/multipath-1.0.0.so Validating plug-in: Multipath Segment Manager Loading module: /lib/evms/2.3.2/csm-1.0.6.so Validating plug-in: Cluster Segment Manager Loading module: /lib/evms/2.3.2/gpt-1.1.8.so Validating plug-in: GPT Segment Manager Loading module: /lib/evms/2.3.2/reiser-1.1.9.so Validating plug-in: ReiserFS File System Interface Module Loading module: /lib/evms/2.3.2/drivelink-3.0.3.so Validating plug-in: Drive Linking Feature Loading module: /lib/evms/2.3.2/ext2-1.1.9.so Validating plug-in: Ext2/3 File System Interface Module Loading module: /lib/evms/2.3.2/lvm-1.1.9.so Validating plug-in: LVM Region Manager Loading module: /lib/evms/2.3.2/bbr_seg-1.1.8.so Validating plug-in: Bad Block Relocation Segment Manager Loading module: /lib/evms/2.3.2/dos-1.1.10.so Validating plug-in: DOS Segment Manager Loading module: /lib/evms/2.3.2/swap-1.1.8.so Validating plug-in: Swap File System Interface Module Loading module: /lib/evms/2.3.2/replace-1.0.5.so Validating plug-in: EVMS Replace Loading module: /lib/evms/2.3.2/disk-1.2.6.so Validating plug-in: Local Disk Manager Loading module: /lib/evms/2.3.2/mac-1.0.5.so Validating plug-in: MAC Segment Manager Loading module: /lib/evms/2.3.2/bbr-1.1.11.so Validating plug-in: Bad Block Relocation Feature Loading module: /lib/evms/2.3.2/ogfs-1.0.1.so Validating plug-in: OpenGFS File System Interface Module Loading module: /lib/evms/2.3.2/bsd-1.0.5.so Validating plug-in: BSD Segment Manager Loading module: /lib/evms/2.3.2/jfs-1.1.10.so Validating plug-in: JFS File System Interface Module Loading module: /lib/evms/2.3.2/md-1.1.12.so Validating plug-in: MD Linear Raid Region Manager Validating plug-in: MD Raid 1 Region Manager Validating plug-in: MD Raid 0 Region Manager Validating plug-in: MD RAID 4/5 Region Manager Validating plug-in: MD Multipath Region Manager Loading module: /lib/evms/2.3.2/snapshot-3.1.6.so Validating plug-in: Snapshot Feature Setup plug-in: EVMS Replace Setup plug-in: Local Disk Manager Setup plug-in: Multipath Segment Manager Setup plug-in: Cluster Segment Manager Setup plug-in: GPT Segment Manager Setup plug-in: Bad Block Relocation Segment Manager Setup plug-in: DOS Segment Manager Setup plug-in: MAC Segment Manager Setup plug-in: BSD Segment Manager Setup plug-in: LVM Region Manager Setup plug-in: MD Linear Raid Region Manager Setup plug-in: MD Raid 1 Region Manager Setup plug-in: MD Raid 0 Region Manager Setup plug-in: MD RAID 4/5 Region Manager Setup plug-in: MD Multipath Region Manager Setup plug-in: Drive Linking Feature Setup plug-in: Bad Block Relocation Feature Setup plug-in: Snapshot Feature Setup plug-in: XFS File System Interface Module Setup plug-in: ReiserFS File System Interface Module Setup plug-in: Ext2/3 File System Interface Module Setup plug-in: Swap File System Interface Module Setup plug-in: OpenGFS File System Interface Module Setup plug-in: JFS File System Interface Module Discovering disks... Discovering disks Discovering segments... Discovering segments Discovering segments. Discovering segments.. Discovering segments... Discovering segments Discovering segments. Discovering segments.. Discovering segments... Discovering segments Discovering segments. Discovering segments.. Discovering segments... Discovering segments Discovering segments. Discovering segments.. Discovering segments... Discovering segments Discovering segments. Discovering segments.. Discovering segments... Discovering regions... Discovering regions Discovering regions. Discovering regions.. Discovering regions... Discovering regions Discovering regions. Discovering regions.. Discovering regions... Discovering regions Discovering regions. Discovering regions.. Discovering regions... Discovering regions Discovering regions. Discovering regions.. Discovering regions... Discovering regions Cleaning up the /dev/evms tree... Cleaning up the /dev/evms tree Cleaning up the /dev/evms tree. Cleaning up the /dev/evms tree.. Cleaning up the /dev/evms tree... Cleaning up the /dev/evms tree Cleaning up the /dev/evms tree. Finished cleaning up the /dev/evms tree. Discovery finished. Processing the Kill Sectors List... Activating volumes... Segmentation fault =================================================================
-O3 -march=pentium4 -pipe -fomit-frame-pointer -fstack-protector Can youu please try toning down your CFLAGS a bit, and can you please try 2.3.4... I just used 2.3.4 on a fresh install with absolutely no problems... and judging from the initrd's working and yours not... I bet it is a compiler problem... so please try 2.3.4 then toning down your CFLAGS one at a time until you get it to work... then let me know what CFLAG breaks it... I got it working with: -O2 -fomit-frame-pointer -pipe Thanks.
You were right. 2.3.4 still had the same problem, but removing "-fstack-protector" from CFLAGS fixes both 2.3.2 and 2.3.4. For completeness, my *working* CFLAGS were "-O3 -march=pentium4 -pipe -fomit-frame-pointer". I suppose either a CFLAGS exclusion in the ebuild or figuring out what the compiler's breaking is in order. Incidentally, is there a mechanism for user-specified per-package CFLAGS?
ok, tahnsk for taking the time to figure out which flag broke it for you. I've committed a revision bumpped 2.3.2 and 2.3.4 which filters out that flag for safety. If you're interested in per-package CFLAGS settings, file a feature request with the portage developers. As for figuring out what -fstack-protector broke... you'll have to talk to the gcc developers for that... I'm not a compiler expert by any means.
Just noticed...the ebuild should also filter "-fstack-protector-all".
Jeremy, I'm reopening this bug because there's new info. There was some investigation going on for another bug (Bug #50309), in which python had a problem with -fstack-protector, as well. It was determined that the bug is only triggered if -O3 is in CFLAGS. I was reminded of *this* bug, and tested it out: sure enough, evms exhibits the same behavior: if only -O2 is used, then -fstack-protector is fine. Since any optimization higher than -O2 is not recommended with ProPolice because it can optimize away some of the protection, anyway (I didn't know this before, so I was using -O3), you will probably want to remove the filter. Do you think this should be reassigned to toolchain?
I loosened the filter to just change -O3 to -O2