Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
Security Level: Public (Viewable by anyone)
-
None
Description
When a message is written to a log, some buffers are allocated on the stack in various places in the code. This results in two issues:
- Undue stack-size requirements placed on any task which uses sys/log.
- Hard limit placed on the maximum length of a log line.
There are two functions which exhibit this behavior:
- log_printf (LOG_PRINTF_MAX_ENTRY_LEN = 128)
- console_vprintf (CONS_OUTPUT_MAX_LINE = 128)
I do not have a proposed fix. I believe Marko suggested streaming bytes to the destination, rather than writing to an intermediate buffer.