-
Notifications
You must be signed in to change notification settings - Fork 473
Fix "Cannot initialize Sdl from more than one thread" for tests / CI #1323
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
#1241 needs to be fixed for next release |
Preface: On Linux it seems like that After mentioning this, here is what I found about the original issue. The last stable it works with is 1.66.1 (2023-01-10) and the first one it fails with is 1.67.0 (2023-02-09). For the nightly versions it fails both with nightly-2023-01-10 (v1.66.1) and with nightly-2022-12-15 (v1.66.0) but works with nightly-2022-11-03 (v1.65) (which makes sense with the Rust release model). I kept going back on nightly and bisecting after I found a version that it works with. I found that the last working version is nightly-2022-11-04. Now checking the commits between 2022-11-03 and 2022-11-04, the only one that seems to be relevant to me as it is affecting how concurrency on tests works is this one: libtest: run all tests in their own thread, if supported by the host I will not pretend that I have any idea what's going on in this commit but this was the only one I found that has anything to do with tests and concurrency and is contained in this given timeframe. It's not much but it might help others solving this issue. I will try to set up a test to see if Here is the whole log of the bisect if somebody is interested1.60, 1.63, 1.64 - too old 1.65 - good (2022-11-03) 1.67.1 - fails (2023-02-09) 1.66.1 - good (2023-01-10) Just for the sake of completion I tried: Now, nightly versions: |
Thanks for the comment, really helpful. I think we either:
|
Related to #1278
Hello all,
Many of you are waiting for a new release on crates.io, but realistically I cannot do that when the whole pipeline is failing for all platforms. The main issue that we are having is this
Cannot initialize Sdl from more than one thread
for tests (run them locally and you'll see, or see here).cargo test -- --test-threads=1
is not enough for this (even though it used to be), so there has to be something else that makes the tests run on different threads. Perhaps on the rust side, perhaps on this lib's side.Just to be clear I looked it up a little but this is a bit more complicated than expected, and I don't have the time to tackle this right now.
Once all the CI goes green, I will merge everything in the PRs that is mergeable and push another version.
Side note: I have been the sole maintainer of this lib for almost 7 years, and I would really appreciate if someone could at least help me maintain this, especially now that I have less and less time. If you are interested, please send me a message.
The text was updated successfully, but these errors were encountered: