stdout_serialize_begin can cause a deadlock #1039

Closed
opened 2022-09-30 04:44:03 -05:00 by peterharperuk · 2 comments
peterharperuk commented 2022-09-30 04:44:03 -05:00 (Migrated from github.com)
See https://github.com/georgerobotics/cyw43-driver/issues/33
kilograham commented 2022-09-30 08:25:16 -05:00 (Migrated from github.com)

Ok, so the problem here is interaction of two different mutexes:

core 0 is doing plain getchar() which takes stdio_usb mutex but not printf mutex.

core 1 does printf that takes printf mutex, then fails to take stdio_usb_mutex

core 0 IRQ does printf, which tries to take printf mutex

Ok, so the problem here is interaction of two different mutexes: core 0 is doing plain getchar() which takes stdio_usb mutex but **not** printf mutex. core 1 does printf that takes printf mutex, then fails to take stdio_usb_mutex core 0 IRQ does printf, which tries to take printf mutex
kilograham commented 2023-02-06 16:27:51 -06:00 (Migrated from github.com)

merged into develop

merged into develop
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-raspberrypi/pico-sdk#1039
No description provided.