IronLanguages / IronLanguages/ironpython3

Debug/trace info not generated for DLR-based coroutines and async generators

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

Nobody has claimed this yet.

Dominant language
C#
Stars
2.8k
Forks
316
Avg merge
1d 9h
Merged PRs (30d)
1

Description

…under FEATURE_NET_ASYNC. Currently bodies of DLR-based coroutines and async generators are not instrumented — only the creation of a cold coroutine/asyncgen is, having one tracing point at def line (at least one tracing point per lambda is mandatory by the current debug/tracing machinery).

Part of the implementation will have to be placed in the DLR (where async expressions originate from).

Contributor guide

Open the contributing guide

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

Start with the FEATURE_NET_ASYNC handling for DLR-based coroutines and async generators, then follow the DLR implementation where async expressions originate. Compare instrumentation of coroutine creation with instrumentation of the coroutine and async-generator bodies. Done means debug/trace information is generated for those bodies while retaining the required tracing point at each def line.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, python
Domain
compilers, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.