Bug 1197584

Summary: GCC 12: webkit2gtk3 package fails
Product: [openSUSE] openSUSE Tumbleweed Reporter: Martin Liška <martin.liska>
Component: GNOMEAssignee: E-mail List <gnome-bugs>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: fvogt, mgorse
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1194789    

Description Martin Liška 2022-03-28 09:10:56 UTC
It newly fails due to:
[  599s] /usr/bin/ccache /var/lib/build/ccache/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKit2GTK-4.1\" -DHAVE_CONFIG_H=1 -DJSC_COMPILATION -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -DWEBKITGTK_API_VERSION_STRING=\"4.1\" -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/Headers -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/API -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/assembler -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/b3 -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/b3/air -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/bindings -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/builtins -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/bytecode -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/bytecompiler -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/dfg -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/disassembler -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/disassembler/ARM64 -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/disassembler/zydis/Zydis -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/domjit -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/ftl -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/heap -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/debugger -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/inspector -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/inspector/agents -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/inspector/augmentable -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/inspector/remote -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/interpreter -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/jit -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/llint -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/parser -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/profiler -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/runtime -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/tools -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/wasm -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/wasm/js -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/yarr -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources/inspector -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources/runtime -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources/yarr -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/API/glib -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCoreGLib/DerivedSources/jsc -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCoreGLib/Headers -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/inspector/remote/glib -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/WTF/Headers -I/home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -pipe -Wno-expansion-to-defined -Wno-odr -Wno-stringop-overread -Wno-nonnull -Wno-array-bounds -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O3 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -Wno-error -g1 -Wl,--no-keep-memory -DNDEBUG -fno-strict-aliasing -fno-exceptions -fno-rtti -O3 -DNDEBUG -fPIC -fvisibility=hidden -ffp-contract=off -std=c++20 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp.o -c /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp
[  599s] In file included from /usr/include/c++/12/bits/stl_pair.h:60,
[  599s]                  from /usr/include/c++/12/bits/stl_algobase.h:64,
[  599s]                  from /usr/include/c++/12/memory:63,
[  599s]                  from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/WTF/Headers/wtf/StdLibExtras.h:30,
[  599s]                  from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/WTF/Headers/wtf/FastMalloc.h:26,
[  599s]                  from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/config.h:38,
[  599s]                  from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/heap/GCActivityCallback.cpp:29,
[  599s]                  from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp:1:
[  599s] /usr/include/c++/12/type_traits: In instantiation of 'struct std::__is_constructible_impl<JSC::SamplingProfiler::StackFrame::CodeLocation>':
[  599s] /usr/include/c++/12/type_traits:167:12:   required from 'struct std::__and_<std::__is_constructible_impl<JSC::SamplingProfiler::StackFrame::CodeLocation>, std::__is_implicitly_default_constructible_safe<JSC::SamplingProfiler::StackFrame::CodeLocation> >'
[  599s] /usr/include/c++/12/type_traits:1258:12:   required from 'struct std::__is_implicitly_default_constructible<JSC::SamplingProfiler::StackFrame::CodeLocation>'
[  599s] /usr/include/c++/12/type_traits:167:12:   required from 'struct std::__and_<std::__is_implicitly_default_constructible<JSC::SamplingProfiler::StackFrame::CodeLocation>, std::__is_implicitly_default_constructible<JSC::CodeBlock*> >'
[  599s] /usr/include/c++/12/type_traits:178:41:   required from 'struct std::__not_<std::__and_<std::__is_implicitly_default_constructible<JSC::SamplingProfiler::StackFrame::CodeLocation>, std::__is_implicitly_default_constructible<JSC::CodeBlock*> > >'
[  599s] /usr/include/c++/12/bits/stl_pair.h:226:16:   required from 'struct std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation, JSC::CodeBlock*>'
[  599s] /usr/include/c++/12/type_traits:1274:4:   required from 'struct std::__is_trivially_copy_constructible_impl<std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation, JSC::CodeBlock*>, true>'
[  599s] /usr/include/c++/12/type_traits:1279:12:   required from 'struct std::is_trivially_copy_constructible<std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation, JSC::CodeBlock*> >'
[  599s] /usr/include/c++/12/type_traits:3225:43:   required from 'constexpr const bool std::is_trivially_copy_constructible_v<std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation, JSC::CodeBlock*> >'
[  599s] /usr/include/c++/12/optional:703:11:   required from 'class std::optional<std::pair<JSC::SamplingProfiler::StackFrame::CodeLocation, JSC::CodeBlock*> >'
[  599s] /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/runtime/SamplingProfiler.h:135:60:   required from here
[  599s] /usr/include/c++/12/type_traits:971:30: error: default member initializer for 'JSC::SamplingProfiler::StackFrame::CodeLocation::lineNumber' required by 'std::is_constructible' before the end of its enclosing class
[  599s]   971 |     : public __bool_constant<__is_constructible(_Tp, _Args...)>
[  599s]       |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  599s] In file included from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/heap/Heap.cpp:66,
[  599s]                  from /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-ee8a7a7a-3.cpp:8:
[  599s] /home/abuild/rpmbuild/BUILD/webkitgtk-2.36.0/Source/JavaScriptCore/runtime/SamplingProfiler.h:126:22: note: defined here
[  599s]   126 |             unsigned lineNumber { std::numeric_limits<unsigned>::max() };
[  599s]       |                      ^~~~~~~~~~

can be seen here:
https://build.opensuse.org/package/live_build_log/home:marxin:home:marxin:gcc-periodic-testing-v2/webkit2gtk3:gtk3/openSUSE_Tumbleweed/x86_64

It's intentional error since:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96645
Comment 1 Martin Liška 2022-03-28 09:11:27 UTC
@Fabian: Can you please report the to upstream and possibly come up with a fix?
Comment 2 Fabian Vogt 2022-03-28 09:33:02 UTC
(In reply to Martin Liška from comment #1)
> @Fabian: Can you please report the to upstream and possibly come up with a
> fix?

That's something for the package maintainers.
Comment 3 Michael Gorse 2022-03-29 02:51:00 UTC
I don't have a working patch yet, but I've filed a bug upstream:
https://bugs.webkit.org/show_bug.cgi?id=238482
Comment 4 Martin Liška 2022-04-01 14:24:22 UTC
So the GCC 12 change was actually reverted and will be discussed in CWG issue 2335. However, it's likely the change may land again in GCC 13.*:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96645#c24