adafruit / adafruit/Adafruit_CircuitPython_asyncio

CancelledError not showing up as a backtrace

Open
#5 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
30
Forks
16
PR merge metrics
No merged PRs in 30d

Description

Canceling a task or raising `CancelledError` does not produce a backtrace. This is true when using the Python `Task` implementation. When tested on MicroPython, which uses the native `_uasyncio.Task` implementation, this works properly.

(I also tried getting the native `_uasyncio` up and running in CircuitPython, but it's also having issues, because we require that it provide an `Task.__await__()`, which it does not provide.)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Python Task implementation and the CancelledError handling, then compare its cancellation behavior with the native _uasyncio.Task implementation described in the issue. Reproduce a cancelled task or raised CancelledError and verify that a backtrace is produced; also account for the noted Task.__await__() difference in CircuitPython.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.