-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
FFI regression on macOS affecting package:sqlite3
#53928
Comments
Yeah, we overlooked this. Fix: https://dart-review.googlesource.com/c/sdk/+/333260 @athomas is it possible to setup a bot which runs tests using signed SDK on Mac? |
@mraleph Possible, yes. But we currently have nothing like it. We'd need:
|
@mraleph I assume we want a cherry pick for this? |
I will let it cook a bit while I am changing build files to make it possible to run tests on our bots. But yep - I will also file a cherry pick request for it. |
@athomas I have an alternative proposal. I have massaged GN rules to produce signed binaries using the identity supplied in through a GN arg. We should be able to use |
This can be controlled via codesigning_identity GN arg. For example, setting codesigning_identity="-" would produce ad-hoc signed binaries. This CL also includes changes in vm/cc tests which are needed for tests to be green when running with hardened runtime. Issue #53928 Tested: enabled ad-hoc signing and tested on bots. Cq-Include-Trybots: luci.dart.try:vm-mac-debug-arm64-try,vm-mac-release-arm64-try,vm-mac-release-x64-try,vm-mac-debug-x64-try Change-Id: I3c3a6265c62b2904e43a326b7d8223bcfd393577 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333401 Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Slava Egorov <vegorov@google.com>
This would allow us to catch issue with hardened runtime which previously would slip through and only be discovered after release. Issue #53928 R=whesse@google.com Change-Id: Iea1ced5433a3cf753d251a519a1de7bd0673ea3c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333822 Reviewed-by: William Hesse <whesse@google.com> Commit-Queue: Slava Egorov <vegorov@google.com>
@mraleph Friendly bump so this doesn't fall through the cracks. |
CP request filed. |
This is follow up to bd57548 which switched us to use manual copying for call back pages on Mac OS and iOS. However these newly allocated pages need to be created with MAP_JIT flag otherwise OS will kill us with code signing violation if hardened runtime is enabled. This can only be observed when the binary is signed that's why we have not seen it on CI. TEST=manually signed and tested that it no longer crashes. Fixes #53928 Changelog-Exempt: Changing base 3.2.0 release Cherry-pick: https://dart-review.googlesource.com/c/sdk/+/333260 Cherry-pick-request: #54035 Change-Id: Ia096e4b6fe59a2a34bcea9e7501c289f831c1406 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335881 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Slava Egorov <vegorov@google.com>
This snippet works with Dart 3.1.5 (stable), but crashes under the latest Dart Beta (3.2.0-210.4.beta) and Dev Builds (3.3.0-65.0.dev)
To reproduce this:
I'm running macOS 14.0 on ARM. The stack trace and error code makes it seem like this might be related to flutter/flutter#136980. If it matters, that version of the
sqlite3
package is usingPointer.fromFunction
to implement callbacks, notNativeCallable
s.The text was updated successfully, but these errors were encountered: