You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Interrupt lock need to be added to log functions, calling from ISR could enter deadlock mostly for serial logging. #2649
Options:
Remove all logging from ISR.
Defer ISR logging, should be difficult with va_args.
Add interrupt lock, but macros need to be reworked since we don't know if they are called from device or host or typec stack in order to toggle interrupt accordingly.
Add a simple re-entrancy flag to skip printf.
Edit:
I must have bad memory, I met log racing while debugging dwc2 DMA with RTT but SEGGER_RTT_Write() is ISR-safe, it must happened inside libc printf().
How to reproduce ?
Run examples on ports who has log in ISR, like NRF5x.
The text was updated successfully, but these errors were encountered:
I haven't had trouble with deadlocks with RTT on nRF52, compared to the Arduino core's Serial1.
On the other hand, anything with Bluetooth (Bluefruit lib; haven't tried anything lower level yet) seems to cause trouble with segfaults during debugging, including RTT.
What happened ?
Interrupt lock need to be added to log functions, calling from ISR could enter deadlock mostly for serial logging. #2649
Options:
Edit:
I must have bad memory, I met log racing while debugging dwc2 DMA with RTT but SEGGER_RTT_Write() is ISR-safe, it must happened inside libc printf().
How to reproduce ?
Run examples on ports who has log in ISR, like NRF5x.
The text was updated successfully, but these errors were encountered: