mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 08:55:36 +00:00
295e8563eb23bd59564675cf30ac9339dfb37550
Self-keyed scheduler items (Scheduler::set_timeout(self, ...) and set_interval(self, ...)) intentionally store component == nullptr. When USE_RUNTIME_STATS is enabled, WarnIfComponentBlockingGuard::finish() dereferenced component_ to call runtime_stats_.record_time(), causing a load access fault on RISC-V (e.g. ESP32-C3) when these timers fire. Skip the per-component bookkeeping when component_ is null, but still accumulate into ComponentRuntimeStats::global_recorded_us so Application::loop() overhead accounting (which subtracts scheduled callback time from before_loop_tasks_) stays accurate.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
545 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
