Repository navigation
CRASH_QUICK_REF
github-actions[bot] edited this page Oct 19, 2025
·
1 revision
Issue: assert failed: vTaskPriorityDisinheritAfterTimeout
When: Sensor nodes connect to mesh
Platform: ESP32 only
Cause: painlessMesh library (NOT Build 8015)
File: src/painlessmesh/mesh.hpp Line 544
// CHANGE THIS:
return xSemaphoreTake(xSemaphore, (TickType_t)10) == pdTRUE;
// TO THIS:
return xSemaphoreTake(xSemaphore, (TickType_t)100) == pdTRUE;Then: pio run -t upload
1. Create: src/painlessTaskOptions.h
#ifndef _PAINLESS_TASK_OPTIONS_H_
#define _PAINLESS_TASK_OPTIONS_H_
#ifdef ESP32
#define _TASK_THREAD_SAFE
#define _TASK_PRIORITY
#endif
#endif2. In your sketch BEFORE #include <painlessMesh.h>:
#include "painlessTaskOptions.h"3. Rebuild: pio run -t upload
Add to setup():
mesh.setDebugMsgTypes(ERROR | STARTUP | CONNECTION);
mesh.onNewConnection([](uint32_t nodeId) {
Serial.printf("Node %u: Heap=%d Stack=%d\n",
nodeId, ESP.getFreeHeap(),
uxTaskGetStackHighWaterMark(NULL));
});- Single node connects without crash
- 5 nodes connect simultaneously
- Rapid connect/disconnect cycles (10x)
- 1+ hour sustained operation
- Heap remains stable (check every 30 sec)
-
docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md- Action plan -
docs/troubleshooting/QUICK_FIX_FREERTOS.md- Emergency fixes -
docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md- Technical details
✅ Apply fix BEFORE testing Build 8015
✅ This is separate from Phase 2 changes
✅ Known library issue - not your code
✅ Choose Option A for speed, Option B for production
Last Updated: 2025-10-19
Status: 🟡 Workaround available, library fix pending