All writing
~/writing/tags
#c
2 posts
Systems debugging
6 minA Dovecot optimization the compiler had been deleting all along
An IMAP THREAD command was panicking inside Dovecot's array code. The crash was real, but the comment above it described an optimization that hadn't run in any -O2 build ever shipped. ATTR_PURE turned it into dead code, and the same annotation decided which line showed up in the backtrace.
#dovecot#c#imap#debugging
Embedded systems
8 minThe furnace controller that deadlocked when the WiFi dropped
An RP2040 furnace controller would freeze at random, always when the WiFi dropped. The culprit was a connectivity probe that opened a TCP connection to decide whether it could open one. A timeout would have hidden it; removing the probe fixed it.
#rp2040#pico#embedded#c