-
-
Notifications
You must be signed in to change notification settings - Fork 32k
ios buildbot failure: enclose 'sqlite3_create_window_function' in a __builtin_available check to silence this warning
#120831
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
Thanks for the report. I'll take a closer look on Monday when I'm at my desk, but from a quick first inspection, it looks like there's 2 things going on here. The first is a compilation warning about the use of an SQLite3 API ( The second problem is a crash of the test suite. This looks like it's a hard crash of the simulator. The next test run has recovered and built fine, so it doesn't seem like it's a problem that #120442 introduced. The compilation issue is just a warning; and given that the test suite runs on an iOS 17.5 simulator, it's not going to be the missing SQLite3 API that is the cause of the test crash. The fact that this is a transient failure leads me to suggest this is an issue on the test machine (or the simulator); unless it becomes reproducible, I don't know there's much we're going to be able to do to address this. |
The specific test failure looks like it was a once off glitch with the simulator. I can't see any explanation for the failure, and the buildbot has been stable for the 28 builds following the one that broke with no other intervention, so I'm inclined to chalk it up to random gremlins. I definitely can't see any reason it would be related to the specific commit that triggered the buildbot failure. I've also taken a look at the compilation warning. We currently configure a minimum supported iOS version of 12.0; but we compile and test using the current iOS SDK (17.5 at present). The function that is raising the warning ( If we put in gating logic around the minimum supported iOS SDK, we'd remove availability of a method that is available on all but the oldest iOS versions; this seems undesirable to me. This is what the error message is recommending with a Another option would be to raise the minimum iOS version to 13.0. This wouldn't be a huge imposition, as Apple is pretty aggressive about pushing version updates; most sources I can find put the market share of iOS 12 as being below 0.2%. However, increasing the minimum version when we actually can support iOS 12 with existing error handling seems excessive. Yet another option would be to silence the warning; the best option I can think of would be to wrap the
That would suspend the one specific compiler warning, on iOS, for that one specific function. Or, we could just ignore the warning on the basis it's cosmetic and not actionable. Personally, my inclination is to just ignore the compilation warning - if having a compilation warning is unacceptable, bumping to an iOS 13.0 minimum would be my next suggestion. @ned-deily Any thoughts on this? |
We use a In this case I agree that just suppressing the warning would be better due to the check at the start of the function. Ignoring the warning would be fine too, although I'm in general not a fan of doing that because that could hide issues and makes it harder to build with |
Unless I'm missing something, those uses have the same problem - the symbols they're gating ultimately appear in the compiled code; unless those symbols are marked as weak linked, the would generate analogous linking warnings. |
I guess the important difference here is that for macOS we use
Eventually this problem will go away when we no longer need to support iOS 12. In the meantime, it's easy enough to change the iOS deployment target at configure time. Perhaps we could change the default in Or we could just ignore the warning. |
FTR, we already check for the existence of several SQLite C API functions in Lines 4160 to 4182 in 6b280a8
|
@erlend-aasland Oh sure - the problem is that those checks pass for iOS, because the APIs do exist on iOS 13+. However, because the minimum supported iOS version defaults to 12, you get a compilation warning that there will be an issue at runtime. There isn't actually an issue at runtime, because there's a runtime check that the SQLite version in use supports the windowing API. This issue is entirely about silencing a warning that can be safely ignored. We can make this a complete non issue by bumping the default minimum version to iOS 13. That doesn't alter our effective support of iOS 12, but it does make the CI run cleaner, and we can use this as an opportunity to provide a little more documentation and build logging as @ned-deily suggests. I'll work up a patch on that basis. |
…#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…o 13.0 (pythonGH-121250) Increases the default minimum iOS version to 13.0. (cherry picked from commit 7e91e0d) Co-authored-by: Russell Keith-Magee <[email protected]> Co-authored-by: Erlend E. Aasland <[email protected]>
…to 13.0 (GH-121250) (#121833) gh-120831: Increase the default minimum supported iOS version to 13.0 (GH-121250) Increases the default minimum iOS version to 13.0. (cherry picked from commit 7e91e0d) Co-authored-by: Russell Keith-Magee <[email protected]> Co-authored-by: Erlend E. Aasland <[email protected]>
…o 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
Correct default minimum iOS version.
Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…sion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…sion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…sion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
…rsion to 13.0 (python#121250) Increases the default minimum iOS version to 13.0. Co-authored-by: Erlend E. Aasland <[email protected]>
…H-122339) (python#122341) pythongh-120831: Correct default minimum iOS version. (pythonGH-122339) Correct default minimum iOS version. (cherry picked from commit 4a2607c) Co-authored-by: Russell Keith-Magee <[email protected]>
This failed in my PR: #120442
But, it does not look related.
Link: https://buildbot.python.org/all/#builders/1380/builds/655
Linked PRs
The text was updated successfully, but these errors were encountered: