Skip to content
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

HTTPRequest freezes when hostname resolution stalls due to broken connectivity. #51181

Closed
tavurth opened this issue Aug 2, 2021 · 9 comments · Fixed by #51199
Closed

HTTPRequest freezes when hostname resolution stalls due to broken connectivity. #51181

tavurth opened this issue Aug 2, 2021 · 9 comments · Fixed by #51199

Comments

@tavurth
Copy link
Contributor

tavurth commented Aug 2, 2021

Godot version

3.4 beta 2

System information

Mac OSX

Issue description

When making an HTTP request in the new beta, sometimes the app can pause.

This only happens when the WiFi has a connection, but the WiFi is not connected to the internet.

This bug is not present in 3.2.2 stable, it could be related to the new HTTPRequest Gzip compression?

Steps to reproduce

  1. Clone this repository

  2. Disconnect your WiFi from the internet (pull the cable)

  3. Run the project

  4. Your app should freeze

In Godot 3.3.2 stable, the app does not freeze and instead shows a message in the console, as well as a connection warning.

Minimal reproduction project

https://github.com/tavurth/godot-internet-bug

@akien-mga
Copy link
Member

There's been a number of stable releases since 3.2.2, could you test them?

@timothyqiu
Copy link
Member

After testing, the project freezes in both 3.4.beta2 and 3.3.2.stable for about 30 seconds before printing the result in the console which I think is the default connection timeout.

@Faless
Copy link
Collaborator

Faless commented Aug 2, 2021

In Godot 3.2.2 stable, the app does not freeze and instead shows a message in the console, as well as a connection warning.

Can you post the warning you get in 3.2.2?

@timothyqiu
Copy link
Member

Just tested in 3.2.2. It also takes about 30 seconds to print the connection error, no other warnings. But the game itself is still responsive during that period, unlike 3.3.2 & 3.4.

@tavurth
Copy link
Contributor Author

tavurth commented Aug 2, 2021

Can you post the warning you get in 3.2.2?

Sorry for me it was 3.3.2 I updated the main post.
In 3.3.2 I also don't see any freeze, just this message in the console.

Screenshot 2021-08-02 at 17 33 03

@Faless
Copy link
Collaborator

Faless commented Aug 2, 2021

@tavurth so, what is the difference you are seeing between two versions?

@tavurth
Copy link
Contributor Author

tavurth commented Aug 2, 2021

@Faless in 3.4 beta 2 the app becomes unresponsive, no buttons can be clicked etc.

In 3.3.2 the app remains responsive and buttons can be clicked.

Perhaps it's something to do with the decoder loop working on an unexpected payload? I remember it was a while loop and perhaps the payload has no end cap or something.

@Faless
Copy link
Collaborator

Faless commented Aug 2, 2021

I can confirm the issue, but I don't think this is a regression. See #51199 for the full details

@Faless Faless removed the regression label Aug 2, 2021
@Faless Faless changed the title Regression freeze related to HTTPRequest HTTPRequest freezes when hostname resolution stalls due to broken connectivity. Aug 2, 2021
@tavurth
Copy link
Contributor Author

tavurth commented Aug 3, 2021

Thank you @Faless!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants