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

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

@ivankravets any pointers?

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

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.

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:

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.

Please report here Issues · espressif/arduino-esp32 · GitHub

1 Like

Done: same source, different core -> webserver hangs · Issue #1787 · espressif/arduino-esp32 · GitHub

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.

1 Like