Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 909174 - dev-util/ccache-4.7.4 - net-dns/idnkit-2.3 --- SANDBOX ACCESS VIOLATION
Summary: dev-util/ccache-4.7.4 - net-dns/idnkit-2.3 --- SANDBOX ACCESS VIOLATION
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on: 909282
Blocks:
  Show dependency tree
 
Reported: 2023-06-26 10:10 UTC by Ian Kumlien
Modified: 2023-06-27 07:15 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (buildlog.txt,28.69 KB, text/plain)
2023-06-26 10:35 UTC, Ian Kumlien
Details
emerge --info (emerge-info.log,8.64 KB, text/x-log)
2023-06-26 10:36 UTC, Ian Kumlien
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Kumlien 2023-06-26 10:10:10 UTC
>>> Emerging (1 of 1) net-dns/idnkit-2.3::gentoo
 * idnkit-2.3.tar.bz2 BLAKE2B SHA512 size ;-) ...                                                                                                                                                                                                                                                                     [ ok ]
>>> Unpacking source...
>>> Unpacking idnkit-2.3.tar.bz2 to /var/tmp/portage/net-dns/idnkit-2.3/work
>>> Source unpacked in /var/tmp/portage/net-dns/idnkit-2.3/work
>>> Preparing source in /var/tmp/portage/net-dns/idnkit-2.3/work/idnkit-2.3 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/net-dns/idnkit-2.3/work/idnkit-2.3 ...
 * econf: updating idnkit-2.3/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating idnkit-2.3/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --docdir=/usr/share/doc/idnkit-2.3 --htmldir=/usr/share/doc/idnkit-2.3/html --libdir=/usr/lib64 --disable-static --disable-liteonly
checking for a BSD-compatible install... /usr/lib/portage/python3.11/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
 * ACCESS DENIED:  mkdir:         /run/user/1000/ccache-tmp
 * ACCESS DENIED:  mkdir:         /run/user/1000/ccache-tmp
 * ACCESS DENIED:  mkdir:         /run/user/1000/ccache-tmp
 * ACCESS DENIED:  mkdir:         /run/user/1000/ccache-tmp
checking whether the C compiler works...  * ACCESS DENIED:  mkdir:         /run/user/1000/ccache-tmp
yes
----

Etc etc =)

Reproducible: Always
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-26 10:12:19 UTC
Please attach the full build.log and emerge --info.
Comment 2 Ian Kumlien 2023-06-26 10:35:48 UTC
Created attachment 864628 [details]
build log
Comment 3 Ian Kumlien 2023-06-26 10:36:12 UTC
Created attachment 864629 [details]
emerge --info
Comment 4 Ian Kumlien 2023-06-26 10:36:33 UTC
Done, but it's a generic sandbox violation, right?
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-26 10:42:45 UTC
(In reply to Ian Kumlien from comment #4)
> Done, but it's a generic sandbox violation, right?

Yes, but why it happens needs to be investigated. Hence the information is needed.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-26 10:43:04 UTC
>dev-util/ccache:           4.7.4::gentoo

Is ccache-4.8.2 any better?
Comment 7 Ian Kumlien 2023-06-26 10:49:02 UTC
Interesting, i only disabled distcc using the FEATURE variable, disabling both does work.

Trying to build a newer version of ccache results in:
FAILED: src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++ -DXXH_STATIC_LINKING_ONLY -I/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2_build -I/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/src  -O2 -pipe -march=znver2 -mtune=znver2 -std=c++17 -include /var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2_build/config.h -Wall -MD -MT src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o -MF src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o.d -o src/CMakeFiles/ccache_framework.dir/storage/local/LocalStorage.cpp.o -c /var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/src/storage/local/LocalStorage.cpp
In file included from /var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/src/storage/local/LocalStorage.cpp:25:
/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/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/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/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/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/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/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/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/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/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/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/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/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/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>]’
/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/src/storage/local/LocalStorage.cpp:701:24:   required from here
/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/src/Logging.hpp:33:7: internal compiler error: Segmentation fault
   33 |       Logging::log(std::string_view(message_));                                \
      |       ^~~~~~~
/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/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__))
      |                           ^~~~~~~
/var/tmp/portage/dev-util/ccache-4.8.2/work/ccache-4.8.2/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);
      |             ^~~

gcc --version
gcc (Gentoo Hardened 12.2.1_p20230428-r1 p2) 12.2.1 20230428
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-26 11:16:16 UTC
That part sounds like bug 906310. I'll kick off stabling new GCC 12 now.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-27 07:14:43 UTC
ccache-4.8* should be fine for the original sandbox problem and newer GCC is being stabled now.