Bug 2236519

Summary: GCC reports -Werror=uninitialized when compiling boost::accumulators
Product: [Fedora] Fedora Reporter: Kefu Chai <tchaikov>
Component: boostAssignee: Jonathan Wakely <jwakely>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: denis.arnaud_fedora, jwakely, laurent.rineau__fedora, mcermak, trodgers
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
URL: https://github.com/boostorg/accumulators/pull/54
Whiteboard:
Fixed In Version: boost-1.78.0-14.fc38 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-14 01:28:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kefu Chai 2023-08-31 14:52:33 UTC
GCC-13 warn us like:

In copy constructor ‘constexpr boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>::extended_p_square_quantile_impl(const boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>&)’,
    inlined from ‘boost::accumulators::detail::accumulator_wrapper<Accumulator, Feature>::accumulator_wrapper(const boost::accumulators::detail::accumulator_wrapper<Accumulator, Feature>&) [with Accumulator = boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>; Feature = boost::accumulators::tag::extended_p_square_quantile_quadratic]’ at /usr/include/boost/accumulators/framework/depends_on.hpp:320:69,
    inlined from ‘constexpr boost::fusion::cons<Car, Cdr>::cons(typename boost::fusion::detail::call_param<Car>::type, typename boost::fusion::detail::call_param<Cdr>::type) [with Car = boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>; Cdr = boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::fusion::nil_> > >]’ at /usr/include/boost/fusion/container/list/cons.hpp:66:15,
    inlined from ‘static boost::accumulators::detail::build_acc_list<First, Last, false>::type boost::accumulators::detail::build_acc_list<First, Last, false>::call(const Args&, const First&, const Last&) [with Args = boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::extended_p_square_quantile(boost::accumulators::quadratic), boost::accumulators::tag::mean, boost::accumulators::tag::max, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::extended_p_square_probabilities_<0>, boost::parameter::aux::tagged_argument<boost::accumulators::tag::extended_p_square_probabilities_<0>, std::array<double, 4> >, std::integral_constant<bool, true> > >; First = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 2> >; Last = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 6> >]’ at /usr/include/boost/accumulators/framework/depends_on.hpp:252:86,
    inlined from ‘static boost::accumulators::detail::build_acc_list<First, Last, false>::type boost::accumulators::detail::build_acc_list<First, Last, false>::call(const Args&, const First&, const Last&) [with Args = boost::parameter::aux::flat_like_arg_list<boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::accumulator, boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::extended_p_square_quantile(boost::accumulators::quadratic), boost::accumulators::tag::mean, boost::accumulators::tag::max, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, std::integral_constant<bool, true> >, boost::parameter::aux::flat_like_arg_tuple<boost::accumulators::tag::extended_p_square_probabilities_<0>, boost::parameter::aux::tagged_argument<boost::accumulators::tag::extended_p_square_probabilities_<0>, std::array<double, 4> >, std::integral_constant<bool, true> > >; First = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 1> >; Last = boost::fusion::mpl_iterator<boost::mpl::v_iter<boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::max_impl<double>, boost::accumulators::tag::max>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<double, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<double, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_impl<double>, boost::accumulators::tag::extended_p_square>, boost::mpl::v_item<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::mpl::vector0<mpl_::na>, 0>, 0>, 0>, 0>, 0>, 0>, 6> >]’ at /usr/include/boost/accumulators/framework/depends_on.hpp:252:86:
/usr/include/boost/accumulators/statistics/extended_p_square_quantile.hpp:57:12: error: ‘<unnamed>.boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>, boost::accumulators::tag::extended_p_square_quantile_quadratic>::<unnamed>.boost::accumulators::impl::extended_p_square_quantile_impl<double, boost::accumulators::unweighted, boost::accumulators::quadratic>::probability’ is used uninitialized [-Werror=uninitialized]
   57 |     struct extended_p_square_quantile_impl
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

when compiling code using boost::accumulators

see https://github.com/boostorg/accumulators/pull/54

Reproducible: Always

Comment 1 Kefu Chai 2023-08-31 15:00:52 UTC
Hello Jonathan, 

I see you've applied that patch in the f38 branch, and built it. probably we can try to push the change to f38 testing? so we can have it in stable after it is cooked long enough in the testing.

Comment 2 Fedora Update System 2023-08-31 16:18:44 UTC
FEDORA-2023-95f3398a78 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-95f3398a78

Comment 3 Fedora Update System 2023-09-01 02:31:33 UTC
FEDORA-2023-95f3398a78 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-95f3398a78`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-95f3398a78

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

Comment 4 Fedora Update System 2023-09-02 01:35:01 UTC
FEDORA-2023-95f3398a78 has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-95f3398a78`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-95f3398a78

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

Comment 5 Fedora Update System 2023-09-04 01:33:28 UTC
FEDORA-2023-95f3398a78 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Kefu Chai 2023-09-12 03:45:45 UTC
turns out the patch was added to the spec. but it failed to be applied to the source tarball when building the boost packages. created https://src.fedoraproject.org/rpms/boost/pull-request/20 to address this issue. i am reopening this bz so we can track the progress better.

Comment 7 Fedora Update System 2023-09-12 12:58:51 UTC
FEDORA-2023-07b367f94e has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-07b367f94e

Comment 8 Fedora Update System 2023-09-13 01:42:02 UTC
FEDORA-2023-07b367f94e has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-07b367f94e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-07b367f94e

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

Comment 9 Fedora Update System 2023-09-14 01:28:49 UTC
FEDORA-2023-07b367f94e has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.