Bug 1918341 - GCC compiler regression when building nheko
Summary: GCC compiler regression when building nheko
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-01-20 13:53 UTC by Vitaly
Modified: 2021-01-29 09:57 UTC (History)
11 users (show)

Fixed In Version: gcc-11.0.0-0.17.fc34
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-29 09:57:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Preprocessed source (359.16 KB, application/x-7z-compressed)
2021-01-20 13:53 UTC, Vitaly
no flags Details

Description Vitaly 2021-01-20 13:53:02 UTC
Created attachment 1749076 [details]
Preprocessed source

Description of problem:
GCC compiler regression (crash) when building nheko 0.8.0 package.

Version-Release number of selected component (if applicable):
11.0.0-0.14.fc34.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Build nheko 0.8.0 package with GCC (set %bcond_with clang in SPEC).

Actual results:
[136/251] /usr/bin/g++ -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I. -I../ -I../src -I../includes -I../third_party/blurhash -I../third_party/cpp-httplib-0.5.12 -I../third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtQuickControls2 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQmlModels -isystem /usr/include/qt5/QtQuickWidgets -isystem /usr/include/tweeny -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/libmount -isystem /usr/include/blkid -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection 		-Wall 		-Wextra 		-pipe 		-pedantic 		-fsized-deallocation 		-fdiagnostics-color=always 		-Wunreachable-code 		-Wno-attributes -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /builddir/build/BUILD/nheko-0.8.0/x86_64-redhat-linux-gnu/CMakeFiles/nheko.dir/cmake_pch.hxx -MD -MT CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o -MF CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o.d -o CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o -c ../src/ui/SnackBar.cpp
FAILED: CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o 
/usr/bin/g++ -DFMT_LOCALE -DFMT_SHARED -DGSTREAMER_AVAILABLE -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DQAPPLICATION_CLASS=QApplication -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB -I. -I../ -I../src -I../includes -I../third_party/blurhash -I../third_party/cpp-httplib-0.5.12 -I../third_party/SingleApplication-3.2.0-dc8042b -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtQuickControls2 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtQmlModels -isystem /usr/include/qt5/QtQuickWidgets -isystem /usr/include/tweeny -isystem /usr/include/gstreamer-1.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/libmount -isystem /usr/include/blkid -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection 		-Wall 		-Wextra 		-pipe 		-pedantic 		-fsized-deallocation 		-fdiagnostics-color=always 		-Wunreachable-code 		-Wno-attributes -DNDEBUG -fPIE -fPIC -pthread -std=gnu++17 -Winvalid-pch -include /builddir/build/BUILD/nheko-0.8.0/x86_64-redhat-linux-gnu/CMakeFiles/nheko.dir/cmake_pch.hxx -MD -MT CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o -MF CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o.d -o CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o -c ../src/ui/SnackBar.cpp
*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_FINISH_UNIT               | annobin: Generate final annotations
PLUGIN_START_UNIT                | annobin: Generate global annotations
PLUGIN_ALL_PASSES_START          | annobin: Generate per-function annotations
PLUGIN_ALL_PASSES_END            | annobin: Register per-function end symbols
In file included from /usr/include/tweeny/tweenpoint.tcc:38,
                 from /usr/include/tweeny/tweenpoint.h:80,
                 from /usr/include/tweeny/tween.h:38,
                 from /usr/include/tweeny/tweeny.h:81,
                 from ../src/ui/SnackBar.cpp:3:
/usr/include/tweeny/easingresolve.h: In substitution of 'template<class _Functor> std::function<float(float, float, float)>& std::function<float(float, float, float)>::operator=<_Functor>(std::reference_wrapper<_Tp>) [with _Functor = <missing>]':
/usr/include/tweeny/easingresolve.h:81:27:   required from 'static void tweeny::detail::easingresolve<I, TypeTuple, FunctionTuple, tweeny::easing::defaultEasing, Fs ...>::impl(FunctionTuple&, tweeny::easing::defaultEasing, Fs ...) [with int I = 0; TypeTuple = std::array<float, 1>; FunctionTuple = std::tuple<std::function<float(float, float, float)> >; Fs = {}]'
/usr/include/tweeny/tweenpoint.tcc:49:75:   required from 'void tweeny::detail::easingfill(EasingCollectionT&, EasingT, tweeny::detail::int2type<0>) [with TypeTupleT = std::array<float, 1>; EasingCollectionT = std::tuple<std::function<float(float, float, float)> >; EasingT = tweeny::easing::defaultEasing]'
/usr/include/tweeny/tweenpoint.tcc:101:52:   required from 'void tweeny::detail::tweenpoint<Ts>::via(F) [with F = tweeny::easing::defaultEasing; Ts = {float}]'
/usr/include/tweeny/tweenpoint.tcc:72:16:   required from 'tweeny::detail::tweenpoint<Ts>::tweenpoint(Ts ...) [with Ts = {float}]'
/usr/include/c++/11/ext/new_allocator.h:156:4:   required from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = tweeny::detail::tweenpoint<float>; _Args = {float&}; _Tp = tweeny::detail::tweenpoint<float>]'
/usr/include/c++/11/bits/alloc_traits.h:512:17:   required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = tweeny::detail::tweenpoint<float>; _Args = {float&}; _Tp = tweeny::detail::tweenpoint<float>; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<tweeny::detail::tweenpoint<float> >]'
/usr/include/c++/11/bits/vector.tcc:115:30:   required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {float&}; _Tp = tweeny::detail::tweenpoint<float>; _Alloc = std::allocator<tweeny::detail::tweenpoint<float> >; std::vector<_Tp, _Alloc>::reference = tweeny::detail::tweenpoint<float>&]'
/usr/include/tweeny/tweenone.tcc:43:28:   required from 'tweeny::tween<T>& tweeny::tween<T>::to(T) [with T = float]'
../src/ui/SnackBar.cpp:27:54:   required from here
/usr/include/tweeny/easingresolve.h:81:27: internal compiler error: Segmentation fault
   81 |                 get<I>(b) = easing::def.run<ArgType>;
      |                 ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
0x1609a39 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t)
	???:0
0xfd2cf3 internal_error(char const*, ...)
	???:0
0x939114 crash_signal(int)
	???:0
0x108ddd0 maybe_instantiate_noexcept(tree_node*, int)
	???:0
0x6cd692 unify_one_argument(tree_node*, tree_node*, tree_node*, tree_node*, int, unification_kind_t, bool) [clone .cold]
	???:0
0x10a653a type_unification_real(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, int, unification_kind_t, vec<deferred_access_check, va_gc, vl_embed>**, bool)
	???:0
0x10a5a08 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, bool, bool)
	???:0
0x102ce3c add_template_candidate_real(z_candidate**, tree_node*, tree_node*, tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed> const*, tree_node*, tree_node*, tree_node*, int, tree_node*, unification_kind_t, int) [clone .isra.0]
	???:0
0x1023488 add_candidates(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed> const*, tree_node*, tree_node*, bool, tree_node*, tree_node*, int, z_candidate**, int)
	???:0
0x1028c69 add_operator_candidates(z_candidate**, tree_code, tree_code, vec<tree_node*, va_gc, vl_embed>*, int, int)
	???:0
0x1026b06 build_new_op_1(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int)
	???:0
0x10265c1 build_new_op(op_location_t const&, tree_code, int, tree_node*, tree_node*, tree_node*, tree_node**, int)
	???:0
0x10c07ac cp_build_modify_expr(unsigned int, tree_node*, tree_code, tree_node*, int)
	???:0
0x10c005b build_x_modify_expr(unsigned int, tree_node*, tree_code, tree_node*, int)
	???:0
0x1097d61 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
	???:0
0x109d0bf tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
	???:0
0x109d1c1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
	???:0
0x109d16d tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
	???:0
0x109d114 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
	???:0
0x10a4e5b instantiate_body(tree_node*, tree_node*, tree_node*, bool)
	???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccqyTn88.out file, please attach this to your bugreport.

Expected results:
Successful build.

Additional info:
Preprocessed source attached.

Comment 1 Marek Polacek 2021-01-20 13:57:55 UTC
I already fixed this upstream: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=2b27f37f90cb66e277b734c605639e2f00a2e942

Comment 2 Jeff Law 2021-01-20 21:11:39 UTC
Just a note, the fix referenced in c#1 isn't in the -16 build that is spinning right now AFAIK.  So I don't expect this to be resolved until the first GCC build _after_ the mass rebuild is complete.

Comment 3 Jakub Jelinek 2021-01-29 09:57:16 UTC
It is in gcc-11.0.0-0.17.fc34 though.


Note You need to log in before you can comment on or make changes to this bug.