Skip to content

Conversation

@lifflander
Copy link
Collaborator

Fixes #2493

@lifflander lifflander linked an issue Nov 4, 2025 that may be closed by this pull request
@lifflander lifflander requested review from Copilot and nlslatt November 4, 2025 22:35
@github-actions
Copy link

github-actions bot commented Nov 4, 2025

clang-format output for this changeset:

diff --git a/src/vt/pipe/callback/cb_union/cb_raw_base.impl.h b/src/vt/pipe/callback/cb_union/cb_raw_base.impl.h
index 4d131fc77..bf959acfb 100644
--- a/src/vt/pipe/callback/cb_union/cb_raw_base.impl.h
+++ b/src/vt/pipe/callback/cb_union/cb_raw_base.impl.h
@@ -133,12 +133,9 @@ void CallbackTyped<Args...>::send(Params&&... params) {
     // wrong ParamMsg will be cast to which requires serialization, leading to
     // a failure.
     if constexpr (sizeof...(Params) == sizeof...(Args) + 1) {
-      using MsgT = messaging::ParamMsg<
-        std::tuple<
-          std::decay_t<std::tuple_element_t<0, std::tuple<Params...>>>,
-          std::decay_t<Args>...
-        >
-      >;
+      using MsgT = messaging::ParamMsg<std::tuple<
+        std::decay_t<std::tuple_element_t<0, std::tuple<Params...>>>,
+        std::decay_t<Args>...>>;
       auto msg = vt::makeMessage<MsgT>();
       msg->setParams(std::forward<Params>(params)...);
       CallbackRawBaseSingle::sendMsg<MsgT>(msg);

@github-actions
Copy link

github-actions bot commented Nov 4, 2025

Pipelines results

vt-build-amd64-ubuntu-20-04-gcc-10-openmpi-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-clang-9-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-alpine-3-16-clang-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-14-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-16-vtk-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-12-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-12-vtk-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-16-zoltan-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-12-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-11-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-14-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-15-cpp-cxx20

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-gcc-11-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-ldms-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-gcc-13-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-10-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-18-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-clang-10-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-24-04-clang-17-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-22-04-clang-13-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-cuda-12-2-0-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

/vt/lib/fmt/include/fmt-vt/base.h(472): warning #128-D: loop is not reachable
    for (; n != 0; ++s1, ++s2, --n) {
    ^
          detected during:
            instantiation of "auto fmt::v11::detail::compare(const Char *, const Char *, std::size_t)->int [with Char=char]" at line 591
            instantiation of "auto fmt::v11::basic_string_view<Char>::compare(fmt::v11::basic_string_view<Char>) const->int [with Char=char]" at line 598
            instantiation of class "fmt::v11::basic_string_view<Char> [with Char=char]" at line 2621
            instantiation of "auto fmt::v11::basic_format_args<Context>::get_id(fmt::v11::basic_string_view<Char>) const->int [with Context=fmt::v11::context, Char=char]" at line 2664

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/vt/lib/fmt/include/fmt-vt/format.h(2596): warning #2417-D: constexpr constructor calls non-constexpr function "fmt::v11::basic_memory_buffer<T, SIZE, Allocator>::basic_memory_buffer(const Allocator &) [with T=fmt::v11::detail::bigint::bigit, SIZE=32UL, Allocator=fmt::v11::detail::allocator<fmt::v11::detail::bigint::bigit>]"
    constexpr bigint() : exp_(0) {}
                                 ^

/vt/lib/fmt/include/fmt-vt/base.h(472): warning #128-D: loop is not reachable
    for (; n != 0; ++s1, ++s2, --n) {
    ^
          detected during:
            instantiation of "auto fmt::v11::detail::compare(const Char *, const Char *, std::size_t)->int [with Char=char]" at line 591
            instantiation of "auto fmt::v11::basic_string_view<Char>::compare(fmt::v11::basic_string_view<Char>) const->int [with Char=char]" at line 598
            instantiation of class "fmt::v11::basic_string_view<Char> [with Char=char]" at line 2621
            instantiation of "auto fmt::v11::basic_format_args<Context>::get_id(fmt::v11::basic_string_view<Char>) const->int [with Context=fmt::v11::context, Char=char]" at line 2664

Remark: The warnings can be suppressed with "-diag-suppress <warning-n

 ==> And there is more. Read log. <==

View job log


vt-build-amd64-ubuntu-20-04-gcc-9-cuda-11-4-3-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

/vt/src/vt/runtime/runtime.cc(1117): warning: parameter "comm" was declared but never referenced

/vt/src/vt/runtime/component/component_pack.impl.h(55): warning: parameter "seq" was declared but never referenced
          detected during:
            instantiation of "std::unique_ptr<T, std::default_delete<T>> vt::runtime::component::<unnamed>::tupleCons<T,Tuple>(Tuple &&) [with T=vt::arguments::ArgConfig, Tuple=std::tuple<std::unique_ptr<vt::arguments::ArgConfig, std::default_delete<vt::arguments::ArgConfig>>>]" 
(104): here
            instantiation of "vt::runtime::component::registry::AutoHandlerType vt::runtime::component::ComponentPack::registerComponent(T **, vt::runtime::component::BaseComponent::StartupDepsPack<StartupDeps...>, vt::runtime::component::BaseComponent::RuntimeDepsPack<RuntimeDeps...>, Cons &&...) [with T=vt::arguments::ArgConfig, StartupDeps=<>, RuntimeDeps=<>, Cons=<std::unique_ptr<vt::arguments::ArgConfig, std::default_delete<vt::arguments::ArgConfig>>>]" 
/vt/src/vt/runtime/runtime.cc(770): here

/vt/src/vt/runtime/component/component_pack.impl.h(55): warning: parameter "tup" was declared but never referenced
          detected during:
            instantiation of "std::unique_ptr<T, std::default_delete<T>> vt::runtime::component::<unnamed>::tupleConsImpl<T,Tuple,I...>(Tuple &&, std::index_sequence<I...>) [with T=vt::util::memory::MemoryUsage, Tuple=std::tuple<>, I=<>]" 
(64): here
            instantiation of "std::unique_ptr<T, std::default_delete<T>> vt::runtime::component::<unnamed>::tupleCons<T,Tuple>(Tuple &&) [with T=vt::util::memory::MemoryUsage, Tuple=std::tuple<>]" 
(104): here
            instantiation of "vt::runtime::component::registry::AutoHandlerType vt::runtime::component::ComponentPack::registerComponent(T **, vt::runtime::component::BaseComponent::StartupDepsPack<StartupDeps...>, vt::runtime::component::BaseComponent::RuntimeDepsPack<RuntimeDeps...>, Cons &&...) [with T=vt::util::memory::MemoryUsage, StartupDeps=<vt::ctx

 ==> And there is more. Read log. <==

View job log


vt-build-amd64-ubuntu-20-04-icpx-cpp

Build for 9074bcd (2025-11-04 22:35:05 UTC)

Compilation – successful

Testing – passed

View job log


Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@codecov
Copy link

codecov bot commented Nov 4, 2025

Codecov Report

❌ Patch coverage is 81.81818% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.47%. Comparing base (5fe1b46) to head (bd89f87).
⚠️ Report is 3 commits behind head on develop.

Files with missing lines Patch % Lines
...c/vt/collective/reduce/operators/default_op.impl.h 25.00% 3 Missing ⚠️
src/vt/rdma/rdma.cc 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #2494      +/-   ##
===========================================
- Coverage    88.55%   88.47%   -0.08%     
===========================================
  Files          728      728              
  Lines        31516    30909     -607     
===========================================
- Hits         27910    27348     -562     
+ Misses        3606     3561      -45     
Files with missing lines Coverage Δ
examples/callback/callback_context.cc 100.00% <100.00%> (ø)
src/vt/pipe/callback/cb_union/cb_raw_base.h 100.00% <ø> (ø)
src/vt/pipe/callback/cb_union/cb_raw_base.impl.h 85.41% <100.00%> (+3.83%) ⬆️
tests/unit/active/test_active_send_large.cc 93.75% <100.00%> (ø)
tests/unit/memory/test_memory_lifetime.cc 99.09% <100.00%> (ø)
src/vt/rdma/rdma.cc 38.36% <0.00%> (ø)
...c/vt/collective/reduce/operators/default_op.impl.h 82.35% <25.00%> (-17.65%) ⬇️

... and 229 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lifflander lifflander requested a review from Copilot November 5, 2025 20:49
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

} else {
using MsgT = typename Trait::MsgT;
auto msg = makeMessage<MsgT>(std::forward<Params>(params)...);
sendMsg(msg.get());
Copy link

Copilot AI Nov 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing template parameter for sendMsg call. This should be CallbackRawBaseSingle::sendMsg<MsgT>(msg) to match the pattern used elsewhere in the function (lines 144, 149) and maintain consistency with the explicit template parameter requirement throughout this PR.

Suggested change
sendMsg(msg.get());
CallbackRawBaseSingle::sendMsg<MsgT>(msg.get());

Copilot uses AI. Check for mistakes.
// If we use the type for Params to send, it's possible that we have a
// type mismatch in the actual handler type. A possible edge case is when
// a char const* is sent, but the handler is a std::string. In this case,
// the ParamMsg will be cast incorrectly during the virual dispatch to a
Copy link

Copilot AI Nov 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'virual' to 'virtual'.

Suggested change
// the ParamMsg will be cast incorrectly during the virual dispatch to a
// the ParamMsg will be cast incorrectly during the virtual dispatch to a

Copilot uses AI. Check for mistakes.
@lifflander lifflander merged commit aca0c9f into develop Nov 12, 2025
72 of 77 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix callback bugs for reducing in LB subcomponent

2 participants