show: savePrefs playlist blob on short-lived heap - #447
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Thanks for this one. I'm holding it for now: as written the lock can't do anything, and I'd rather find what actually hung.
Could you send the serial log from a hang, with any panic, backtrace or watchdog line, and say what was running at the time? Then we can fix the actual cause. I'm happy to take a trimmed PR with just the |
… heap. A 64-slug NVS string is ~2.5 KB; keep it off the stack without a permanent static (tree rule: no static buffers over 1 KB). Dropped the earlier FatFS mutex - loadFile paths already run on the loop task via PFLoopSync, and IDF FatFS is FF_FS_REENTRANT. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Thanks — agreed on all three points. Trimmed this PR to just the I don't have a clean serial capture of the original hang handy; if it shows up again I'll grab panic/backtrace + what was running and open a follow-up. Happy for you to take this trimmed form. |
d00a014 to
1e3a0ad
Compare
Summary
savePrefs()builds the comma-joined playlist string in amalloc/freebuffer (~2.5 KB) instead of on the loop-task stack.Why
A full 64-slug list on the stack is a plausible hang/stack-pressure source. Permanent
staticwould cost Performance DRAM permanently; tree rule is no static buffers over 1 KB.Test plan
Contributed by @SimonePDA