I got lucky and the serial connection captured several stack traces. Ironically, I had configured esphome logs
to log to a file, and the file just contains default stack traces, but it looks like doing so meant the only console output (probably stderr) is a decoded set of stack traces, each attached below. Interestingly, they’re not all the same issue, as far as I can tell.
Stack Trace 1
WARNING Found stack trace! Trying to decode it
WARNING Decoded 0x40245443: lwip_cyclic_timer at /home/earle/src/esp-quick-toolchain/arduino/tools/sdk/lwip2/builder/lwip2-src/src/core/timeouts.c:261
WARNING Decoded 0x40273a64: etharp_output
WARNING Decoded 0x4024539d: memp_free at /home/earle/src/esp-quick-toolchain/arduino/tools/sdk/lwip2/builder/lwip2-src/src/core/memp.c:447
WARNING Decoded 0x40266810: pm_keep_active_enable
WARNING Decoded 0x40100778: ets_post
WARNING Decoded 0x4026c7f1: ets_timer_handler_isr
WARNING Decoded 0x4026c836: ets_timer_handler_isr
WARNING Decoded 0x40234a62: loop_task(ETSEventTag*) at core_esp8266_main.cpp
WARNING Decoded 0x40106015: call_user_start_local
WARNING Decoded 0x4010601b: call_user_start_local
WARNING Decoded 0x4010000d: call_user_start
WARNING Decoded 0x401000ab: app_entry_redefinable
WARNING Decoded 0x4025ca60: cont_ret at cont.S.o
WARNING Decoded 0x4025ca11: cont_continue at cont.S.o
WARNING Decoded 0x40100778: ets_post
WARNING Decoded 0x40100778: ets_post
WARNING Decoded 0x401067ad: ets_timer_disarm
WARNING Decoded 0x40100778: ets_post
WARNING Decoded 0x401067ad: ets_timer_disarm
WARNING Decoded 0x401067ad: ets_timer_disarm
WARNING Decoded 0x40100cf1: interrupt_handler
WARNING Decoded 0x40100ce4: interrupt_handler
WARNING Decoded 0x40100260: esphome::ISRInternalGPIOPin::digital_read()
WARNING Decoded 0x40231524: HardwareSerial::write(unsigned char const*, unsigned int) [215/1034]
WARNING Decoded 0x40103807: rcReachRetryLimit
WARNING Decoded 0x40102c7c: pp_post
WARNING Decoded 0x401039e4: rcReachRetryLimit
WARNING Decoded 0x40100778: ets_post
WARNING Decoded 0x40102c7c: pp_post
WARNING Decoded 0x40100300: esphome::uart::ESP8266SoftwareSerial::read_bit_(unsigned int*, unsigned int const&)
WARNING Decoded 0x4010037e: esphome::uart::ESP8266SoftwareSerial::gpio_intr(esphome::uart::ESP8266SoftwareSerial*)
WARNING Decoded 0x401039e4: rcReachRetryLimit
WARNING Decoded 0x40100ce4: interrupt_handler
WARNING Decoded 0x40100300: esphome::uart::ESP8266SoftwareSerial::read_bit_(unsigned int*, unsigned int const&)
WARNING Decoded 0x4010037e: esphome::uart::ESP8266SoftwareSerial::gpio_intr(esphome::uart::ESP8266SoftwareSerial*)
WARNING Decoded 0x40100ce4: interrupt_handler
WARNING Decoded 0x40100c20: interrupt_handler
WARNING Decoded 0x40240930: _dtoa_r at /workdir/repo/newlib/newlib/libc/stdlib/dtoa.c:727
WARNING Decoded 0x402403ec: _dtoa_r at /workdir/repo/newlib/newlib/libc/stdlib/dtoa.c:484
WARNING Decoded 0x40100ce4: interrupt_handler
WARNING Decoded 0x40100300: esphome::uart::ESP8266SoftwareSerial::read_bit_(unsigned int*, unsigned int const&)
WARNING Decoded 0x4010037e: esphome::uart::ESP8266SoftwareSerial::gpio_intr(esphome::uart::ESP8266SoftwareSerial*)
WARNING Decoded 0x40100300: esphome::uart::ESP8266SoftwareSerial::read_bit_(unsigned int*, unsigned int const&)
WARNING Decoded 0x40241e42: __d2b at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c:779
WARNING Decoded 0x40241e42: __d2b at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c:779
WARNING Decoded 0x401067ad: ets_timer_disarm
WARNING Decoded 0x40216a13: esphome::ota::OTAComponent::handle_()
WARNING Decoded 0x40240b9d: _dtoa_r at /workdir/repo/newlib/newlib/libc/stdlib/dtoa.c:854
WARNING Decoded 0x40242118: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:232
WARNING Decoded 0x4023cfa5: __cvt at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf_float.c:102
WARNING Decoded 0x40241e42: __d2b at /workdir/repo/newlib/newlib/libc/stdlib/mprec.c:779
WARNING Decoded 0x40242118: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:232
WARNING Decoded 0x40240b9d: _dtoa_r at /workdir/repo/newlib/newlib/libc/stdlib/dtoa.c:854
WARNING Decoded 0x40242118: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:232
WARNING Decoded 0x4023dae5: _printf_i at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf_i.c:196 (discriminator 1)
WARNING Decoded 0x40242118: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:232
WARNING Decoded 0x40242054: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:179
WARNING Decoded 0x4023dc14: _printf_i at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf_i.c:246
WARNING Decoded 0x40242118: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:232
WARNING Decoded 0x40242118: __ssputs_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:232
WARNING Decoded 0x40242315: _svfprintf_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:528
WARNING Decoded 0x40242315: _svfprintf_r at /workdir/repo/newlib/newlib/libc/stdio/nano-vfprintf.c:528
WARNING Decoded 0x4023f819: _vsnprintf_r at /workdir/repo/newlib/newlib/libc/stdio/vsnprintf.c:71 (discriminator 4)
WARNING Decoded 0x4023f819: _vsnprintf_r at /workdir/repo/newlib/newlib/libc/stdio/vsnprintf.c:71 (discriminator 4)
WARNING Decoded 0x4023f819: _vsnprintf_r at /workdir/repo/newlib/newlib/libc/stdio/vsnprintf.c:71 (discriminator 4)
WARNING Decoded 0x4020e927: esphome::api::APINoiseFrameHelper::try_read_frame_(esphome::api::APINoiseFrameHelper::ParsedFrame*)
WARNING Decoded 0x4020f010: esphome::api::APINoiseFrameHelper::state_action_()
WARNING Decoded 0x4026e65c: system_param_load
WARNING Decoded 0x40234b87: yield
WARNING Decoded 0x4020e927: esphome::api::APINoiseFrameHelper::try_read_frame_(esphome::api::APINoiseFrameHelper::ParsedFrame*)
WARNING Decoded 0x4020f010: esphome::api::APINoiseFrameHelper::state_action_()
WARNING Decoded 0x40226be8: ESP8266WiFiSTAClass::SSID() const
WARNING Decoded 0x4020f25e: esphome::api::APINoiseFrameHelper::read_packet(esphome::api::ReadPacketBuffer*)
WARNING Decoded 0x4026f297: wifi_station_get_connect_status
WARNING Decoded 0x4020d3d7: esphome::api::APIConnection::loop()
WARNING Decoded 0x402234f0: esphome::Scheduler::SchedulerItem::cmp(std::unique_ptr<esphome::Scheduler::SchedulerItem, std::default_delete<esphome::Scheduler::SchedulerItem> > const&, std::unique_ptr<esphome::Scheduler::Scheduler
Item, std::default_delete<esphome::Scheduler::SchedulerItem> > const&)
WARNING Decoded 0x40220518: esphome::wifi::WiFiComponent::wifi_ssid[abi:cxx11]()
WARNING Decoded 0x40212238: esphome::api::APIServer::loop()
WARNING Decoded 0x401068f1: ets_timer_arm_new
WARNING Decoded 0x40234ae1: esp_yield
WARNING Decoded 0x402358fd: delay
WARNING Decoded 0x402213c3: esphome::Application::loop()