NVIDIA / NVIDIA/stdexec

[exec] on/continues_on hits __not_a_scheduler diagnostics under the debug environment when STDEXEC_ENABLE_EXTRA_TYPE_CHECKING=ON

Open
#2,274 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
2.4k
Forks
270
Avg merge
3d 6h
Merged PRs (30d)
39

Description

Requested by @ericniebler in #2271 — follow-up found while verifying that PR with -DSTDEXEC_ENABLE_EXTRA_TYPE_CHECKING=ON. Fails on pristine main, so it is separate from the fix in #2271.

Description

Pipelines that transform sequence senders with exec::on / exec::continues_on produce __not_a_scheduler diagnostics under extra type checking. The debug environment injected by the extra-type-checking machinery appears to shadow or alter scheduler-related queries, so the transformation's scheduler lookup sees the debug proxy environment instead of the real one and concludes there is no scheduler.

Reproduction

Compose an exec::any_sequence_sender with exec::on / exec::continues_on and build with -DSTDEXEC_ENABLE_EXTRA_TYPE_CHECKING=ON.

Suggested fix direction

Make the debug env forwarding query-aware for scheduler queries (forward get_scheduler / get_delegatee_scheduler to the wrapped environment), or exclude scheduler queries from the debug proxy.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with exec::any_sequence_sender and exec::on or exec::continues_on using -DSTDEXEC_ENABLE_EXTRA_TYPE_CHECKING=ON. Trace the extra-type-checking debug environment and its scheduler-query lookup; done means these transformations no longer produce __not_a_scheduler diagnostics while scheduler queries still reach the wrapped environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.