PlatformIO Community

Webserver hangs with espressif32 v1.1.0, works fine with v1.0.2


#1

Hi.

In the Freematics “datalogger” sketch it is possible to enable a webserver to browse files on local storage, get raw values and so on from the device itself.

One day I noticed that the webserver would always hang, no matter what the client was (Firefox, wget, telnet), so I had to bisect it and found a commit that was clearly not relevant. The only other difference between first bad commit and last good one was the espressif32 platform: the most recent version was 1.1.0 for the bad and 1.0.2 for the good. Rebuilding the first bad version with the older 1.0.2 made the problem go away.

Problem is, I can’t build the current master branch with such an old version so I’m in a bit of a bind.
I have no clue how to proceed and my original report on Freematics went unnoticed, just see it for yourself.

What can I do now?

Thanks,
Andrea


#2

@ivankravets any pointers?


#3

Does it work well with Arduino IDE and the latest 1.0.0 release of Arduino core for ESP32?


#4

I’m gonna try Arduino IDE as well, but I’ve already tried all versions of espressif32 up to 1.2.0, only 1.3.0 is untested because it came out after I finished bisecting.

I’ll get back to you with the results later.


#5

Alright, the results are in:

  • Arduino IDE, ESP32 release 1.0.0 (which should correspond to 1.2.0 in your numbering, correct?): webserver hangs.
  • PIO with current espressif32 v.1.3.0: webserver hangs
  • PIO with old commit (see bug description) and v.1.0.2: yup, still works fine :slight_smile:

#6

I guess the tests prove this is not a PIO-specific issue.
If you have no further suggestions, tomorrow I’ll escalate it to ESP-IDF.


#7

Please report here https://github.com/espressif/arduino-esp32/issues


#8

Done: https://github.com/espressif/arduino-esp32/issues/1787


#9

Turned out it was an error in the webserver shipped with Freematics, that somehow went unnoticed until v1.1.0. A recent PR fixed it in master: I applied it to the older commit and saw that it would have worked even then. I have already closed both tickets, I’m writing this short note here in case anyone stumbles upon it.