Bug #22220
closedosd/ReplicatedPG.h:1667:14: internal compiler error: in force_type_die, at dwarf2out.c:25128
0%
Description
Build failure for Jewel stable release on fc26
$ g++ --version g++ (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2)
In file included from osd/Watch.cc:10:0: osd/ReplicatedPG.h: In destructor ‘virtual ReplicatedPG::WaitTrimTimer::WaitTrimTimer(boost::statechart::state<ReplicatedPG::WaitTrimTimer, ReplicatedPG::Trimming>::my_context)::OnTimer::~OnTimer()’: osd/ReplicatedPG.h:1667:14: internal compiler error: in force_type_die, at dwarf2out.c:25128 struct OnTimer : Context { ^~~~~~~ Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/cc5DjBjJ.out file, please attach this to your bugreport. make[3]: *** [Makefile:23723: osd/libosd_a-Watch.o] Error 1
Updated by Brad Hubbard over 6 years ago
- Project changed from mgr to RADOS
- Category deleted (
Build) - Component(RADOS) OSD added
Also effects fc27.
This is a gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82155 so this just a place-holder tracker.
fc26 BZ https://bugzilla.redhat.com/show_bug.cgi?id=1516577
fc27 BZ https://bugzilla.redhat.com/show_bug.cgi?id=1516576
Updated by Nathan Cutler over 6 years ago
- Priority changed from Low to High
Raising priority because this error is now affecting (all?) Jewel PRs. See e.g. https://github.com/ceph/ceph/pull/19457
Is there a workaround? (Downgrade gcc in the Jenkins CI environment?)
Updated by Brad Hubbard over 6 years ago
Is Jenkins using Fedora? If not I'd suggest we create a bug against the appropriate OS and component. I suspect this is developer-toolset 7 on CentOS? If so I'd suggest a bug against it and the corresponding rhel also if rhel is similarly afflicted. This is just a tracker bug to track the compiler issue. I have no insight into the build system Jenkins uses I'm afraid.
Updated by Brad Hubbard over 6 years ago
# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" # g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-7/root/usr --mandir=/opt/rh/devtoolset-7/root/usr/share/man --infodir=/opt/rh/devtoolset-7/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --with-default-libstdcxx-abi=gcc4-compatible --with-isl=/builddir/build/BUILD/gcc-7.2.1-20170829/obj-x86_64-redhat-linux/isl-install --enable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 7.2.1 20170829 (Red Hat 7.2.1-1) (GCC) # rpm -qa devtoolset-7-gcc-c++ devtoolset-7-gcc-c++-7.2.1-1.el7.x86_64 # cat << EOF >reproducer.ii template <typename a> struct b { a c; }; template <typename d> struct e { d *operator->(); }; template <typename d> class f { public: typedef e<d> g; }; class h { protected: h(int); }; class j { public: virtual ~j(); struct k : h { int l; k() : h(l) { struct m : j { m() {} }; } }; }; struct n { n() { for (f<b<b<j *>>>::g i;;) delete i->c.c; } }; void o() { n(); } EOF # g++ -c -O2 -g reproducer.ii reproducer.ii: In destructor ‘virtual j::k::k()::m::~m()’: reproducer.ii:17:14: internal compiler error: in force_type_die, at dwarf2out.c:25099 struct m : j { ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/cc9yXqgf.out file, please attach this to your bugreport.
Confirmed on CentOS with latest devtoolset. Checking RHEL.
Updated by Brad Hubbard over 6 years ago
# cat /etc/os-release NAME="Red Hat Enterprise Linux Server" VERSION="7.4 (Maipo)" ID="rhel" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="7.4" PRETTY_NAME="Employee SKU" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:redhat:enterprise_linux:7.4:GA:server" HOME_URL="https://www.redhat.com/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7" REDHAT_BUGZILLA_PRODUCT_VERSION=7.4 REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux" REDHAT_SUPPORT_PRODUCT_VERSION="7.4" # g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-7/root/usr --mandir=/opt/rh/devtoolset-7/root/usr/share/man --infodir=/opt/rh/devtoolset-7/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --with-default-libstdcxx-abi=gcc4-compatible --with-isl=/builddir/build/BUILD/gcc-7.2.1-20170829/obj-x86_64-redhat-linux/isl-install --enable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 7.2.1 20170829 (Red Hat 7.2.1-1) (GCC) # rpm -qa devtoolset-7-gcc-c++ devtoolset-7-gcc-c++-7.2.1-1.el7.x86_64 # cat << EOF >reproducer.ii template <typename a> struct b { a c; }; template <typename d> struct e { d *operator->(); }; template <typename d> class f { public: typedef e<d> g; }; class h { protected: h(int); }; class j { public: virtual ~j(); struct k : h { int l; k() : h(l) { struct m : j { m() {} }; } }; }; struct n { n() { for (f<b<b<j *>>>::g i;;) delete i->c.c; } }; void o() { n(); } EOF # g++ -c -O2 -g reproducer.ii reproducer.ii: In destructor ‘virtual j::k::k()::m::~m()’: reproducer.ii:17:14: internal compiler error: in force_type_die, at dwarf2out.c:25099 struct m : j { ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccrRQS6V.out file, please attach this to your bugreport.
Confirmed on RHEL 7.4 and new bug created against Red Hat Developer Toolset https://bugzilla.redhat.com/show_bug.cgi?id=1525304
Updated by Kefu Chai over 6 years ago
please see https://github.com/ceph/ceph/pull/19426. that's why it popped up recently.
Nathan, to downgrade the GCC in building servers is an option, but it complicates our complicated building process, to be specific, the xenial building servers are shared by master (mimic-dev1) and jewel, the latter requires an older GCC, but the former wants GCC-7. so we need to revert the change i made in install-deps.sh for master after the building process completes. that's a pain.
i'd suggest just work around this issue in jewel.
will prepare a patch.
Updated by Brad Hubbard over 6 years ago
The build in https://github.com/ceph/ceph/pull/19457 was done on Ubuntu :(
Updated by Kefu Chai over 6 years ago
- Status changed from 15 to Fix Under Review
Updated by Nathan Cutler over 6 years ago
@Kefu Chai: thanks for the quick fix!
Updated by Brad Hubbard over 6 years ago
How does https://github.com/ceph/ceph/pull/19461 fix the bug in gcc7?
Updated by Kefu Chai over 6 years ago
- Status changed from Fix Under Review to 15
Updated by Brad Hubbard over 6 years ago
For DTS this should be fixed in the 7.1 release.
Updated by Brad Hubbard about 6 years ago
Fixed by gcc-7.3.1-2.fc26 gcc-7.3.1-2.fc27 in fc27
Updated by Brad Hubbard about 6 years ago
- Status changed from 15 to Resolved
Resolved for Fedora and just waiting on next DTS to ship on rhel/CentOS.