Exception #98
Replies: 4 comments 3 replies
-
|
@InnuendoPi : I am moving that to a support discussion. As of now there is nothing indicating that there is a bug caused by the library:
Would you be able to send us a complete MRE that allows to reproduce the issue ? |
Beta Was this translation helpful? Give feedback.
-
|
MRE: my SSE implementation with max channel 6, AsyncTCP 3.4.9, ESPAsyncWebServer 3.8.1, latest pioArduino develop branch. Javascript function: and at least my broadcast function: That's it. nothing special. SSE was initiated simultaneously by my laptop and iPad. After SSE init I switched off my iPad (latest ios, edge) for tests like checkAlive, timeout, reconnect. After minutes i switched the tablet on without reload the webif: exception as posted. |
Beta Was this translation helpful? Give feedback.
-
|
@InnuendoPi : thanks! going to try reproduce. |
Beta Was this translation helpful? Give feedback.
-
|
Don't be annoyed by my issue. I posted parts from my large source code, hoped that will help you to find the correct lines in your lib, after addr2line seems incorrect. If that doesn't help and you have no idea what the cause for exception is, then just close this issue ;-) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
IDE / Tooling
Arduino (IDE/CLI)
What happened?
my pioarduino settings:
platform = https://github.com/pioarduino/platform-espressif32.git#develop
framework = arduino
...
lib_compat_mode = strict
lib_ldf_mode = chain
lib_deps =
...
ESP32Async/AsyncTCP
ESP32Async/ESPAsyncWebServer
board = wemos_d1_mini32
build_flags =
...
-DCONFIG_ASYNC_TCP_MAX_ACK_TIME=5000
-DCONFIG_ASYNC_TCP_PRIORITY=10
-DCONFIG_ASYNC_TCP_QUEUE_SIZE=128
-DCONFIG_ASYNC_TCP_RUNNING_CORE=1
-DCONFIG_ASYNC_TCP_STACK_SIZE=8192
xtensa-esp32-elf-addr2line:
.pio/libdeps/ESP32_IDF5dev/AsyncTCP/src/AsyncTCP.cpp:1173
.pio/libdeps/ESP32_IDF5dev/ESPAsyncWebServer/src/AsyncEventSource.cpp:186
.pio/libdeps/ESP32_IDF5dev/ESPAsyncWebServer/src/AsyncEventSource.cpp:491 (discriminator 1)
.pio/libdeps/ESP32_IDF5dev/ESPAsyncWebServer/src/WebRequest.cpp:241
.pio/libdeps/ESP32_IDF5dev/ESPAsyncWebServer/src/WebRequest.cpp:46
.platformio/packages/toolchain-xtensa-esp-elf/xtensa-esp-elf/include/c++/14.2.0/bits/std_function.h:591
.pio/libdeps/ESP32_IDF5dev/AsyncTCP/src/AsyncTCP.cpp:300
.pio/libdeps/ESP32_IDF5dev/AsyncTCP/src/AsyncTCP.cpp:328
addr2line points me to AsyncClient::write in case where _pcb == nullptr or_pcb->state are invalid (maybe from a stale client) tcp_write() seems to raise the exception. i cannot always reproduce the exception. it is "sometimes" ... hope this helps, tho
Stack Trace
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x401e5a0f PS : 0x00060730 A0 : 0x800dbe93 A1 : 0x3ffdf9d0
A2 : 0x00000000 A3 : 0x00000001 A4 : 0x00000000 A5 : 0x3ffe3528
A6 : 0x3ffe351c A7 : 0x3ffe3528 A8 : 0x801cf29c A9 : 0x3ffdf9b0
A10 : 0x3ffe3478 A11 : 0x00000001 A12 : 0x00000004 A13 : 0x3ffe355c
A14 : 0x3ffe351c A15 : 0x00000000 SAR : 0x0000001e EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x40089bf0 LEND : 0x40089bfb LCOUNT : 0xffffffff
Backtrace: 0x401e5a0c:0x3ffdf9d0 0x400dbe90:0x3ffdf9f0 0x400dbec5:0x3ffdfa30 0x400de0c6:0x3ffdfa50 0x400de0f9:0x3ffdfa70 0x400d74af:0x3ffdfa90 0x400d7b47:0x3ffdfac0 0x400d7bd1:0x3ffdfae0 0x4008fa99:0x3ffdfb10
Minimal Reproductible Example (MRE)
size_t jsonSize = measureJson(tempDoc);
String jsonValue;
jsonValue.reserve(jsonSize + 2);
serializeJson(tempDoc, jsonValue);
for (uint8_t i = 0; i < SSE_MAX_CHANNELS; i++)
{
AsyncEventSource *es = eventChannels[i];
bool active = channelActive[i];
if (!active || es == nullptr) continue;
if (es->count() == 0) continue; // no clients?
es->send(jsonValue, eventName, millis());
}
I confirm that:
Beta Was this translation helpful? Give feedback.
All reactions