Bug 54856 - evms_activate segfaults
|
Bug#:
54856
|
Product: Gentoo Linux
|
Version: 2004.0
|
Platform: x86
|
|
OS/Version: All
|
Status: RESOLVED
|
Severity: major
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: eradicator@gentoo.org
|
Reported By: mike@nerone.org
|
|
Component: Core system
|
|
|
URL:
|
|
Summary: evms_activate segfaults
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2004-06-22 22:06 0000
|
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