From 3b804214030e52951b4c015ffd8961160f14fb49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Mon, 23 Jan 2023 11:56:16 +0100 Subject: [PATCH 1/2] tempfix: reboot ESP Node if heap runs low. fixes #2165 --- src/concurrency/OSThread.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/concurrency/OSThread.cpp b/src/concurrency/OSThread.cpp index af50d28f5..21f1f8481 100644 --- a/src/concurrency/OSThread.cpp +++ b/src/concurrency/OSThread.cpp @@ -1,5 +1,7 @@ #include "OSThread.h" #include "configuration.h" +#include "main.h" +#include "screen.h" #include namespace concurrency @@ -85,6 +87,12 @@ void OSThread::run() LOG_DEBUG("------ Thread %s leaked heap %d -> %d (%d) ------\n", ThreadName.c_str(), heap, newHeap, newHeap - heap); if (heap < newHeap) LOG_DEBUG("++++++ Thread %s freed heap %d -> %d (%d) ++++++\n", ThreadName.c_str(), heap, newHeap, newHeap - heap); + + if (newHeap < 10000) { + LOG_DEBUG("\n\n====== heap too low [10000] -> reboot in 5s ======\n\n"); + screen->startRebootScreen(); + rebootAtMsec = millis() + 5000; + } #endif runned(); From 3aebb1ffb33beeb793fafb744d626eba5249a1f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Mon, 23 Jan 2023 12:06:55 +0100 Subject: [PATCH 2/2] there's a special place in hell for include paths... --- src/concurrency/OSThread.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/concurrency/OSThread.cpp b/src/concurrency/OSThread.cpp index 21f1f8481..4a46c7b0e 100644 --- a/src/concurrency/OSThread.cpp +++ b/src/concurrency/OSThread.cpp @@ -1,7 +1,9 @@ #include "OSThread.h" #include "configuration.h" +#ifdef DEBUG_HEAP +#include "graphics/Screen.h" #include "main.h" -#include "screen.h" +#endif #include namespace concurrency