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
[Bug]: Various thread safety issues with use of libcurl for HTTP downloads #11636
Comments
Given we use Guess we need to slap a thread-safe queue between the http-downloaders and their calls to the callback :) Nice find btw; bit nasty I didn't test with valgrind :) (or any other sanitizer, ofc) |
This was referenced Dec 29, 2023
JGRennison
pushed a commit
to JGRennison/OpenTTD-patches
that referenced
this issue
Dec 30, 2023
(cherry picked from commit 56c6df4702015fda7cc7a05b67bfe90b3ede1ad0) See: OpenTTD/OpenTTD#11636 See: OpenTTD/OpenTTD#11639
JGRennison
added a commit
to JGRennison/OpenTTD-patches
that referenced
this issue
Dec 30, 2023
JGRennison
added a commit
to JGRennison/OpenTTD-patches
that referenced
this issue
Dec 30, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Version of OpenTTD
master, Linux
Expected result
No thread safety issues
Actual result
Various thread safety issues.
Broadly these are in two areas:
HTTP request failed: status_code: 200, error: Operation was aborted by an application callback
)Anecdotally it seems possible for this to clobber memory more broadly, but I haven't been able to reproduce that with memory sanitisers active.
Steps to reproduce
Download some HTTP content using libcurl with some kind of thread safety checker
The text was updated successfully, but these errors were encountered: