-
Notifications
You must be signed in to change notification settings - Fork 7.6k
WiFiClient::flush() crashes due to Load Prohibit since 2.0.12, earlier versions work fine. #8681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Could you please provide a sample sketch that causes this error ? |
Here's a minimalistic reduced version:
You can see that client1.flush() (EthernetClient) goes through, client2.flush() (WiFiClient) crashes with 2.0.13. If you revert back to 2.0.11 or earlier, both work fine. |
@me-no-dev @PilnyTomas Please take a look. We run in this issue with Tasmota too. Older core does work as for @fredlcore
Tried with Arduino 3.0 too (code is same). Crash happens on same place (stace track looks same) |
Reverting does solve. Checked with this sketch
|
@lucasssvaz Solved? The reason is found for the issue. Not solved. Should i open a revert PR? |
Ah, I thought that PR was in this repo as it had the same name, my bad 😓. Yes, please open a revert PR as this won't break anything. |
Will this then "heal" 2.0.13 or will this lead to a 2.0.14 - and if so, when? |
As this affects the WiFi it will probably lead to version 2.0.14 ASAP |
@me-no-dev @SuGlider Should we fix this in 3.0.0 or create a 2.0.14 release ? |
Please don't wait until 3.0.0 - Our project has several hundred installs and when the users install the next update, it will crash all the time, unless I remove all client.flush() instances. |
I think that we should target 3.0.0. |
May I ask why? 2.0.12 and 2.0.13 have been released relatively shortly after one another, partly because of bug fixes, so what is different here? |
I've just submitted a patch to fix it. 2.0.14 should be released soon including it. |
@lucasssvaz CI fails, ahh it is fixed now. |
It was just a reorder warning. I forgot to enable my compilation warnings locally. |
Board
ESP32 Olimex EVB and other ESP32 boards
Device Description
None.
Hardware Configuration
Nothing
Version
v2.0.13
IDE Name
Arduino IDE 2.2.1
Operating System
MacOS Sonoma
Flash frequency
80 MHz
PSRAM enabled
yes
Upload speed
115200
Description
This change leads to a Guru meditation due to Load Prohibited when calling
client.flush()
on a WiFiClient instance:ESP Stack Trace decoder gives me this:
The trace narrows the culprit down to line 46:
If I do a
Serial.println(_fd);
right before that, the ESP32 crashes.It seems not to happen all the time, but the reason either seems to be if there are still characters in the incoming client buffer (for lack of a better word) or if there are no more characters coming in.
This problem only occurs in 2.0.12 and 2.0.13, once I revert back to 2.0.11 the problem is gone.
Can you please investigate this further and if possible revert to the state from 2.0.11?
Thank you!
Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: