Bug 31893 - ICE when building ccache
Summary: ICE when building ccache
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Thomas Backlund
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-05-07 14:01 CEST by Pascal Terjan
Modified: 2023-05-14 12:41 CEST (History)
0 users

See Also:
Source RPM: gcc-12.3.0-0.RC.2.mga9.src.rpm
CVE:
Status comment:


Attachments
Preprocessed source (397.16 KB, application/gzip)
2023-05-07 19:10 CEST, Pascal Terjan
Details

Description Pascal Terjan 2023-05-07 14:01:56 CEST
[ 48%] Building CXX object src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o
cd /home/pterjan/rpmbuild/BUILD/ccache-4.8/build/src && /usr/bin/c++ -DHAVE_REDIS_STORAGE_BACKEND -DUSE_XXH_DISPATCH -DXXH_STATIC_LINKING_ONLY -I/home/pterjan/rpmbuild/BUILD/ccache-4.8/build -I/home/pterjan/rpmbuild/BUILD/ccache-4.8/src -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -DNDEBUG -std=c++17 -include /home/pterjan/rpmbuild/BUILD/ccache-4.8/build/config.h -Wall -D_FILE_OFFSET_BITS=64 -MD -MT src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o -MF CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o.d -o CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o -c /home/pterjan/rpmbuild/BUILD/ccache-4.8/src/storage/local/LocalStorage.cpp
In file included from /home/pterjan/rpmbuild/BUILD/ccache-4.8/src/storage/local/LocalStorage.cpp:25:
/home/pterjan/rpmbuild/BUILD/ccache-4.8/src/storage/local/LocalStorage.cpp: In instantiation of 'storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)> [with auto:39 = unsigned char; auto:40 = std::function<void(double)>]':
/usr/include/c++/12/type_traits:2559:26:   required by substitution of 'template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>&; _Args = {unsigned char, const std::function<void(double)>&}]'
/usr/include/c++/12/type_traits:2570:55:   required from 'struct std::__result_of_impl<false, false, storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>&, unsigned char, const std::function<void(double)>&>'
/usr/include/c++/12/bits/std_function.h:348:9:   recursively required by substitution of 'template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>&, unsigned char, const std::function<void(double)>&>; _Ret = void]'
/usr/include/c++/12/bits/std_function.h:348:9:   required from 'struct std::function<void(unsigned char, const std::function<void(double)>&)>::_Callable<storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>, storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>, std::__invoke_result<storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>&, unsigned char, const std::function<void(double)>&> >'
/usr/include/c++/12/bits/std_function.h:353:8:   required by substitution of 'template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using _Requires = std::__enable_if_t<_Cond::value, _Tp> [with _Cond = std::function<void(unsigned char, const std::function<void(double)>&)>::_Callable<storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>, storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>, std::__invoke_result<storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>&, unsigned char, const std::function<void(double)>&> >; _Tp = void; _Res = void; _ArgTypes = {unsigned char, const std::function<void(double)>&}]'
/usr/include/c++/12/bits/std_function.h:434:9:   required by substitution of 'template<class _Functor, class _Constraints> std::function<void(unsigned char, const std::function<void(double)>&)>::function(_Functor&&) [with _Functor = storage::local::LocalStorage::recompress(std::optional<signed char>, uint32_t, const storage::local::ProgressReceiver&)::<lambda(const auto:39&, const auto:40&)>; _Constraints = <missing>]'
/home/pterjan/rpmbuild/BUILD/ccache-4.8/src/storage/local/LocalStorage.cpp:701:24:   required from here
/home/pterjan/rpmbuild/BUILD/ccache-4.8/src/Logging.hpp:33:7: internal compiler error: Segmentation fault
   33 |       Logging::log(std::string_view(message_));                                \
      |       ^~~~~~~
/home/pterjan/rpmbuild/BUILD/ccache-4.8/src/Logging.hpp:39:27: note: in expansion of macro 'LOG_RAW'
   39 | #define LOG(format_, ...) LOG_RAW(fmt::format(FMT_STRING(format_), __VA_ARGS__))
      |                           ^~~~~~~
/home/pterjan/rpmbuild/BUILD/ccache-4.8/src/storage/local/LocalStorage.cpp:710:13: note: in expansion of macro 'LOG'
  710 |             LOG("Failed to acquire content lock for {}/{}", l1_index, l2_index);
      |             ^~~
0x1b1f544 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t)
	???:0
0x1b20196 internal_error(char const*, ...)
	???:0
0xd8a1df crash_signal(int)
	???:0
0x802795 find_parameter_packs_r(tree_node**, int*, void*)
	???:0
0x1004c53 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
	???:0
0x1004e4e walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
	???:0
0x8025c5 find_parameter_packs_r(tree_node**, int*, void*)
	???:0
0x1004c53 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
	???:0
0x1004e04 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
	???:0
0x1004e04 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
	???:0
0x1004e88 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
	???:0
0x7fe06a check_for_bare_parameter_packs(tree_node*, unsigned int)
	???:0
0x83e4e5 finish_expr_stmt(tree_node*)
	???:0
0x81f904 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
0x81f1eb tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
0x81e538 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
0x820481 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
0x81f1eb tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
0x81e538 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
0x81ed9c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) [clone .part.0]
	???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.mageia.org/> for instructions.
gmake[2]: *** [src/CMakeFiles/ccache_framework.dir/build.make:583: src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o] Error 1
Pascal Terjan 2023-05-07 14:02:45 CEST

Source RPM: gcc-12.2.1-0.20230408.1.mga9.src.rpm => gcc-12.3.0-0.RC.2.mga9.src.rpm

Comment 1 Pascal Terjan 2023-05-07 19:10:44 CEST
Created attachment 13816 [details]
Preprocessed source
Pascal Terjan 2023-05-07 19:11:52 CEST

Assignee: bugsquad => tmb

Comment 2 Pascal Terjan 2023-05-07 19:20:22 CEST
It was building fine with gcc-12.2.1-0.20230311.1.mga9 

https://pkgsubmit.mageia.org/autobuild/cauldron/x86_64/core/2023-03-15/ccache-4.8-1.mga9.src.rpm/build.x86_64.0.20230315142154.log
Comment 3 Thomas Backlund 2023-05-14 12:41:43 CEST
regression introduced in 20230421 snapshot by commit:

From 890d711a2477119a34cf435f6159b6253b124374 Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Thu, 16 Mar 2023 15:11:25 -0400
Subject: [PATCH 35/61] c++: generic lambda, local class, __func__ [PR108242]



Fix backported from upstream master branch:
From 4872e46e080c6695dfe1f9dc9db26b4703bc348c Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Wed, 22 Mar 2023 16:11:47 -0400
Subject: [PATCH] c++: local class in nested generic lambda [PR109241]



gcc-12.3.0-2.mga9 currently building with the fix

Resolution: (none) => FIXED
Status: NEW => RESOLVED


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