-
Notifications
You must be signed in to change notification settings - Fork 651
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
Some tests crash on 32-bit Android armv7 #2908
Comments
Do you happen to get a backtrace from these segfaults? |
Sure, but only the first might be helpful (I don't have the forked lldb working natively on Android yet, so these are the mangled symbols from regular lldb):
I don't have the time to investigate right now as I'm trying to get the Swift 6 SDK for Android out the door, but are you able to reproduce on other 32-bit platforms? |
Oh cool, these are SIGILL not SIGSEGV. These will definitely reproduce on other 32-bit platforms. |
Ah, sorry about the wrong terminology, just saw crashes and didn't look deeper. |
No not a problem at all, just made me nervous we'd done something a lot worse! |
Expected behavior
All tests to pass, as most do on 64-bit Android platforms like AArch64 and x86_64.
Actual behavior
I'm preparing an Android SDK bundle for Swift 6, so I'm testing these new CI-generated Swift 6 multi-arch SDKs by using the instructions there along with two NIO patches, that disable some filesystem materialization code and tests that don't work on Android and add the new Android overlay where the compiler complains.
With that build and test process, all remaining tests pass on Android AArch64 and x86_64, but some segfault for armv7:
Commenting out those three tests gets all tests to run, with only one more 32-bit test failing, which I first reported four years ago in #1695:
I build and test NIO regularly on 64-bit Android AArch64 and x86_64, but hadn't tested it on 32-bit armv7 in awhile, so some regressions crept in.
Of course, it's possible the problem lies elsewhere in the toolchain or Android support, so I then cross-compiled the
swift-argument-parser
andswift-crypto
packages for Android armv7 with the 6.0.1 and latest 6.1 Sep. 25 snapshot Android SDKs linked above and all their tests passed, suggesting this issue is in NIO.Steps to reproduce
See above
SwiftNIO version/commit hash
b812b1b
System & version information
Android 13 AArch64 running the Swift 6.0 and 6.1-built armv7 NIO test runner in AArch32 mode
The text was updated successfully, but these errors were encountered: