Bug 2056443 - Firefox: GCC 12 internal error
Summary: Firefox: GCC 12 internal error
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2057193
TreeView+ depends on / blocked
 
Reported: 2022-02-21 09:02 UTC by Martin Stransky
Modified: 2022-03-03 20:29 UTC (History)
11 users (show)

Fixed In Version: gcc-12.0.1-0.9.fc37 gcc-12.0.1-0.9.fc36
Clone Of:
Environment:
Last Closed: 2022-02-24 15:03:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNU Compiler Collection 104612 0 P1 RESOLVED [12 Regression] ICE in mark_jump_label_1 since r12-3435 2022-02-24 08:28:41 UTC

Description Martin Stransky 2022-02-21 09:02:28 UTC
Description of problem:

19:39.15 [swgl 0.1.0] error occurred: Command "/usr/bin/g++" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m32" "-march=i686" "-I/builddir/build/BUILD/firefox-97.0.1/objdir/dist/stl_wrappers" "-I/builddir/build/BUILD/firefox-97.0.1/objdir/dist/system_wrappers" "-include" "/builddir/build/BUILD/firefox-97.0.1/config/gcc_hidden.h" "-U_FORTIFY_SOURCE" "-D_FORTIFY_SOURCE=2" "-fstack-protector-strong" "-DNDEBUG=1" "-DTRIMMED=1" "-I/builddir/build/BUILD/firefox-97.0.1/toolkit/library/rust" "-I/builddir/build/BUILD/firefox-97.0.1/objdir/toolkit/library/rust" "-I/builddir/build/BUILD/firefox-97.0.1/objdir/dist/include" "-I/usr/include/nspr4" "-I/usr/include/nss3" "-I/usr/include/nspr4" "-I/builddir/build/BUILD/firefox-97.0.1/objdir/dist/include/nss" "-DMOZILLA_CLIENT" "-include" "/builddir/build/BUILD/firefox-97.0.1/objdir/mozilla-config.h" "-Wall" "-Wempty-body" "-Wignored-qualifiers" "-Wpointer-arith" "-Wsign-compare" "-Wtype-limits" "-Wunreachable-code" "-Wno-invalid-offsetof" "-Wc++2a-compat" "-Wduplicated-cond" "-Wimplicit-fallthrough" "-Wno-error=maybe-uninitialized" "-Wno-error=deprecated-declarations" "-Wno-error=array-bounds" "-Wno-error=coverage-mismatch" "-Wno-error=free-nonheap-object" "-Wno-multistatement-macros" "-Wno-error=class-memaccess" "-Wno-error=deprecated-copy" "-Wformat" "-Wformat-overflow=2" "-Wno-psabi" "-fno-sized-deallocation" "-fno-aligned-new" "-O2" "-fexceptions" "-g0" "-grecord-gcc-switches" "-pipe" "-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" "-m32" "-march=i686" "-mtune=generic" "-msse2" "-mfpmath=sse" "-mstackrealign" "-fasynchronous-unwind-tables" "-fstack-clash-protection" "-fcf-protection" "-fpermissive" "-fPIC" "-Wl,-z,relro" "-Wl,-z,now" "-DNSS_PKCS11_3_0_STRICT" "-fno-exceptions" "-fno-strict-aliasing" "-fPIC" "-fno-rtti" "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "-fno-math-errno" "-pthread" "-pipe" "-freorder-blocks" "-O2" "-fomit-frame-pointer" "-funwind-tables" "-DMOZILLA_CONFIG_H" "-I" "/builddir/build/BUILD/firefox-97.0.1/gfx/wr/webrender/res" "-I" "src" "-I" "/builddir/build/BUILD/firefox-97.0.1/objdir/i686-unknown-linux-gnu/release/build/swgl-e7da94e65e93f21b/out" "-std=c++17" "-fno-exceptions" "-fno-rtti" "-fno-math-errno" "-UMOZILLA_CONFIG_H" "-D_GLIBCXX_USE_CXX11_ABI=0" "-o" "/builddir/build/BUILD/firefox-97.0.1/objdir/i686-unknown-linux-gnu/release/build/swgl-e7da94e65e93f21b/out/src/gl.o" "-c" "src/gl.cc" with args "g++" did not execute successfully (status code exit status: 1).
19:39.15 [swgl 0.1.0]
19:39.15 [swgl 0.1.0]
19:39.18 The following warnings were emitted during compilation:
19:39.18 warning: In file included from src/glsl.h:7,
19:39.18 warning:                  from src/gl.cc:92:
19:39.18 warning: src/vector_type.h: In instantiation of ‘static T glsl::Unaligned<T>::load(const P*) [with P = glsl::VectorType<float, 16>; T = glsl::vec4]’:
19:39.18 warning: src/vector_type.h:532:28:   required from ‘T glsl::unaligned_load(const P*) [with T = vec4; P = VectorType<float, 16>]’
19:39.18 warning: src/vector_type.h:543:27:   required from ‘D glsl::bit_cast(const S&) [with D = vec4; S = VectorType<float, 16>]’
19:39.18 warning: src/blend.h:53:39:   required from here
19:39.18 warning: src/vector_type.h:503:11: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct glsl::vec4’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
19:39.18 warning:   503 |     memcpy(&v, p, sizeof(v));
19:39.18 warning:       |     ~~~~~~^~~~~~~~~~~~~~~~~~
19:39.18 warning: src/glsl.h:1796:8: note: ‘struct glsl::vec4’ declared here
19:39.18 warning:  1796 | struct vec4 {
19:39.18 warning:       |        ^~~~
19:39.18 warning: *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
19:39.18 warning: Event                            | Plugins
19:39.18 warning: PLUGIN_FINISH_UNIT               | annobin: Generate final annotations
19:39.18 warning: PLUGIN_START_UNIT                | annobin: Generate global annotations
19:39.18 warning: PLUGIN_ALL_PASSES_START          | annobin: Generate per-function annotations
19:39.18 warning: PLUGIN_ALL_PASSES_END            | annobin: Register per-function end symbols
19:39.18 warning: during RTL pass: expand
19:39.18 warning: src/glsl.h: In function ‘glsl::vec2_scalar glsl::sign(vec2_scalar)’:
19:39.18 warning: src/glsl.h:2868:77: internal compiler error: Segmentation fault
19:39.18 warning:  2868 | vec2_scalar sign(vec2_scalar v) { return vec2_scalar{sign(v.x), sign(v.y)}; }
19:39.18 warning:       |                                                                             ^
19:39.18 warning: Please submit a full bug report, with preprocessed source (by using -freport-bug).
19:39.18 warning: See <http://bugzilla.redhat.com/bugzilla> for instructions.
19:39.18 warning: Preprocessed source stored into /tmp/ccPhS0IA.out file, please attach this to your bugreport.
19:39.19 error: failed to run custom build command for `swgl v0.1.0 (/builddir/build/BUILD/firefox-97.0.1/gfx/wr/swgl)`
19:39.19 Caused by:

failed build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=82964290

build log:
https://kojipkgs.fedoraproject.org//work/tasks/4442/82964442/build.log

Comment 1 Fedora Update System 2022-02-24 14:10:29 UTC
FEDORA-2022-ee01e0c686 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-ee01e0c686

Comment 2 Fedora Update System 2022-02-24 14:11:41 UTC
FEDORA-2022-e056239611 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-e056239611

Comment 3 Fedora Update System 2022-02-24 15:03:24 UTC
FEDORA-2022-ee01e0c686 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 4 Fedora Update System 2022-02-24 16:14:08 UTC
FEDORA-2022-e056239611 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-e056239611`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-e056239611

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Martin Stransky 2022-02-25 12:47:48 UTC
We're close, there's a linking problem with missing std::__glibcxx_assert_fail symbol:

18:04.86 /usr/include/c++/12/bits/stl_vector.h:1229: undefined reference to `std::__glibcxx_assert_fail(char const*, int, char const*, char const*)'
18:04.91 /usr/bin/ld: /home/komat/rpmbuild/BUILD/firefox-97.0.1/objdir/instrumented/toolkit/library/build/../../../security/sandbox/linux/launch/Unified_cpp_linux_launch0.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)':
18:04.91 /usr/include/c++/12/bits/basic_string.h:1221: undefined reference to `std::__glibcxx_assert_fail(char const*, int, char const*, char const*)'
18:04.91 /usr/bin/ld: /home/komat/rpmbuild/BUILD/firefox-97.0.1/objdir/instrumented/toolkit/library/build/../../../security/sandbox/linux/launch/Unified_cpp_linux_launch0.o: in function `std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >::back()':
18:04.91 /usr/include/c++/12/bits/stl_vector.h:1229: undefined reference to `std::__glibcxx_assert_fail(char const*, int, char const*, char const*)'
18:04.91 /usr/bin/ld: /home/komat/rpmbuild/BUILD/firefox-97.0.1/objdir/instrumented/toolkit/library/build/../../../security/sandbox/linux/launch/Unified_cpp_linux_launch0.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)':
18:04.91 /usr/include/c++/12/bits/basic_string.h:1221: undefined reference to `std::__glibcxx_assert_fail(char const*, int, char const*, char const*)'
18:04.94 /usr/bin/ld: /home/komat/rpmbuild/BUILD/firefox-97.0.1/objdir/instrumented/toolkit/library/build/../../../security/sandbox/linux/reporter/Unified_cpp_linux_reporter0.o: in function `std::__atomic_base<mozilla::OffTheBooksMutex*>::compare_exchange_strong(mozilla::OffTheBooksMutex*&, mozilla::OffTheBooksMutex*, std::memory_order, std::memory_order)':
18:04.94 /usr/include/c++/12/bits/atomic_base.h:876: undefined reference to `std::__glibcxx_assert_fail(char const*, int, char const*, char const*)'
18:04.94 /usr/bin/ld: /home/komat/rpmbuild/BUILD/firefox-97.0.1/objdir/instrumented/toolkit/library/build/../../../security/sandbox/linux/reporter/Unified_cpp_linux_reporter0.o:/usr/include/c++/12/bits/atomic_base.h:817: more undefined references to `std::__glibcxx_assert_fail(char const*, int, char const*, char const*)' follow

Jakub, any idea?
Thanks.

Comment 6 Jakub Jelinek 2022-02-25 13:00:54 UTC
From what I see, libstdc++.so.6 does export _ZSt21__glibcxx_assert_failPKciS0_S0_@@GLIBCXX_3.4.30 symbol.
So, is the above link linking objects compiled with libstdc++ headers but not being linked against -lstdc++ (g++ driver adds that by default except for -nostdlib)?

Comment 7 Fedora Update System 2022-03-03 02:03:49 UTC
FEDORA-2022-e056239611 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Martin Stransky 2022-03-03 19:33:37 UTC
(In reply to Jakub Jelinek from comment #6)
> From what I see, libstdc++.so.6 does export
> _ZSt21__glibcxx_assert_failPKciS0_S0_@@GLIBCXX_3.4.30 symbol.
> So, is the above link linking objects compiled with libstdc++ headers but
> not being linked against -lstdc++ (g++ driver adds that by default except
> for -nostdlib)?

That doesn't work.

Comment 9 Adam Williamson 2022-03-03 20:15:24 UTC
Martin: I guess a new bug would be best for the new problem? The initial problem here does seem to be resolved at least...

Comment 10 Martin Stransky 2022-03-03 20:29:49 UTC
(In reply to Adam Williamson from comment #9)
> Martin: I guess a new bug would be best for the new problem? The initial
> problem here does seem to be resolved at least...

Sure.


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