Bug 2180670 - internal compiler error: Segmentation fault building ccache 4.8
Summary: internal compiler error: Segmentation fault building ccache 4.8
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2160275
TreeView+ depends on / blocked
 
Reported: 2023-03-22 02:55 UTC by Orion Poplawski
Modified: 2023-04-06 02:57 UTC (History)
11 users (show)

Fixed In Version: gcc-13.0.1-0.13.fc39.x86_64
Clone Of:
Environment:
Last Closed: 2023-04-06 02:57:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
pre-processed source (409.98 KB, application/gzip)
2023-03-22 02:55 UTC, Orion Poplawski
no flags Details

Description Orion Poplawski 2023-03-22 02:55:09 UTC
Created attachment 1952646 [details]
pre-processed source

Description of problem:

Trying to update ccache to 4.8.  Build fails with:

cd /home/orion/fedora/ccache/ccache-4.8/redhat-linux-build/src && /usr/bin/g++ -DHAVE_REDIS_STORAGE_BACKEND -DUSE_XXH_DISPATCH -DXXH_STATIC_LINKING_ONLY -I/home/orion/fedora/ccache/ccache-4.8/redhat-linux-build -I/home/orion/fedora/ccache/ccache-4.8/src -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -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 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -std=c++17 -include /home/orion/fedora/ccache/ccache-4.8/redhat-linux-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/orion/fedora/ccache/ccache-4.8/src/storage/local/LocalStorage.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 /home/orion/fedora/ccache/ccache-4.8/src/storage/local/LocalStorage.cpp:25:
/home/orion/fedora/ccache/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++/13/type_traits:2558: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++/13/type_traits:2569: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++/13/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++/13/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++/13/bits/std_function.h:353:8:   required by substitution of 'template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_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++/13/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/orion/fedora/ccache/ccache-4.8/src/storage/local/LocalStorage.cpp:701:24:   required from here
/home/orion/fedora/ccache/ccache-4.8/src/Logging.hpp:33:7: internal compiler error: Segmentation fault
   33 |       Logging::log(std::string_view(message_));                                \
      |       ^~~~~~~
/home/orion/fedora/ccache/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/orion/fedora/ccache/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);
      |             ^~~


The message talks about disabling plugins, but I've been unable to figure out how to disable the GCC plugins.

Version-Release number of selected component (if applicable):
gcc-13.0.1-0.8.fc39.x86_64

Comment 1 Orion Poplawski 2023-04-06 02:57:59 UTC
Appears to be fixed now


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