-
Notifications
You must be signed in to change notification settings - Fork 520
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
Regression: error : strip exited with code 139 #19157
Comments
I can reproduce the problem, and it seems to be a buffer overrun in the |
Thanks for spotting this @dotMorten - we are in the middle of updating an app with Runtime 200 and this was driving me nuts |
Seeing the same issue. |
Yup that's the same as setting A better workaround is probably to move back to xcode 14 for now. |
Just posting the comments from Discord triage here (thanks @rolfbjarne): Crash report using locally built strip (click to expand)
It's a buffer overrun:
looks like the code that computes the size of all the strings doesn't quite match the code that copies strings around |
With the latest RC2.1 workload update that shipped yesterday, it appears that Xcode 15 is now required, so we no longer can work around this issue. This makes it a complete showstopper today, rather than in May when XCode 15 will be required by the app store. |
@dotMorten I know it's not ideal but can you try Xcode 15.1 Beta 2 to see if it is solved there? We do need some validation. |
This is not fixed in Xcode 15.1 beta 2 :/ |
I submitted a ticket using Apple's feedback assistant (FB13327641), let's see what they say. If I have time, I'll try to see if there's a way to work around it (won't be this week unfortunately). |
Thanks a lot @rolfbjarne! |
Indirect symbols are copied twice to the 'p' variable, this is the second time: https://github.com/apple-oss-distributions/cctools/blob/cbe977a1db16a2ca268124f6825535aeb670404c/misc/strip.c#L4217-L4228 This means we need to add the size of the indirect symbol to the size of the 'p' memory contents twice. This seems to already be happening here: https://github.com/apple-oss-distributions/cctools/blob/cbe977a1db16a2ca268124f6825535aeb670404c/misc/strip.c#L3820-L3823 and: https://github.com/apple-oss-distributions/cctools/blob/cbe977a1db16a2ca268124f6825535aeb670404c/misc/strip.c#L3845-L3848 but one scenario (symbols files) was missing. Ref: FB13327641 (contains test case). Ref: dotnet/macios#19157
I think I figured out the problem with |
@dotMorten can you try adding this to your csproj to see if it fixes the problem? <PropertyGroup>
<_ExportSymbolsExplicitly>false</_ExportSymbolsExplicitly>
</PropertyGroup> |
@rolfbjarne That does appear to workaround it as well. What does this do? |
For every P/Invoke, we tell the native linker that it can't remove the symbol in question. We used to do this by passing Setting |
Adding fixes the issue on iOS, but now I am unable to load resources (Images, Fonts, ...) for Android so best to use a conditional: |
Not sure why, but today with .NET 8 RTM + XCode 15.0.1 I'm not seeing this issue. Can anyone else confirm this? |
I can't reproduce either. Note that this doesn't mean all is good: the bug is a memory corruption inside |
This seems to have cropped up again in Xcode 16.0 :/ If anyone runs into this, please file a feedback ticket with Apple. Feel free to reference the pull request with the fix: apple-oss-distributions/cctools#2, and also the existing feedback ticket I raised (FB13327641). |
Yup I'm seeing it too! Submitted |
The test case I used to file the feedback ticket works with Xcode 16.2 beta 2, so as far as I can tell Apple has fixed this, and hopefully it will be included in the final Xcode 16.2 release. |
Using Xcode 16.2 beta 2 by setting |
beta 2 is no longer available on the image - updating XCode to beta 3 worked for us: |
Am I right in thinking that using Xcode 16.2-beta* doesn't solve the problem of submitting to the App Store as it gets rejected when it sees you using an unsupported version of Xcode? Unless I'm missing something. Is the alternate 'strip' build the only way to get it into the store? Or another hack that I'm not aware of? |
Yes the same scenario with me using xcode 16.2 Beta |
I haven't tested it, but in theory you should only need the In the latest version of our .NET 9 workloads, it's possible to specify the path to the <PropertyGroup>
<StripPath>/Applications/Xcode_16.2.0-beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip</StripPath>
</PropertyGroup> |
That is great! |
Messy, but PERFECT!!! thank you. |
Just for info. In my github action pipeline I just specified:
Here you dont have to use and |
For the record, xcode 16.2 beta3 is out & Transporter ate the maui ipa package built with it. I don't have net9 workloads, but if I get stuck I will seriously consider the workaround above... or just put everything on hold till xcode 16.2 is out. |
This worked for me. Thank you! |
MAUI 16.2 beta 3 is no longer supported for official release. I am getting an error:
|
This happens because there’s a newer beta out.
…On Thu, Dec 12, 2024 at 4:08 PM Samuel Sidor ***@***.***> wrote:
MAUI 16.2 beta 3 is no longer supported for official release. I am getting
an error:
Run xcrun altool --upload-app -t ios -f "~/artifacts/SatisFIT.Client.App.ipa" -u ***@***.***" -p "vuac-tfvd-ozlg-sjso"
Running altool at path '/Applications/Xcode_16.2_beta_3.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Frameworks/AppStoreService.framework/Support/altool'...
2024-12-12 23:41:34.346 *** Error: [ContentDelivery.Uploader.600000E301C0] Asset validation failed (90534) Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn’t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases. (ID: 79002ce7-5858-4817-be9e-ca02beaf91ec)
2024-12-12 23:41:45.987 [ContentDelivery.Uploader.600000E[30](https://github.com/satisfit-org/SatisFIT/actions/runs/12306666582/job/34348847428#step:14:31)1C0]
=============
UPLOAD FAILED with 1 error.
=============
2024-12-12 23:41:45.991 *** Error: Error uploading '/Users/runner/artifacts/SatisFIT.Client.App.ipa'.
2024-12-12 23:41:45.991 *** Error: Asset validation failed Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn’t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases. (ID: 79002ce7-5858-4817-be9e-ca02beaf91ec) (905[34](https://github.com/satisfit-org/SatisFIT/actions/runs/12306666582/job/34348847428#step:14:35))
{
NSLocalizedDescription = "Asset validation failed";
NSLocalizedFailureReason = "Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn\U2019t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases. (ID: 79002ce7-5858-4817-be9e-ca02beaf91ec)";
NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn\U2019t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases., id=79002ce7-5858-4817-be9e-ca02beaf91ec, code=STATE_ERROR.VALIDATION_ERROR.90534, title=Asset validation failed, NSLocalizedFailureReason=Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn\U2019t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases., NSLocalizedDescription=Asset validation failed}";
"iris-code" = "STATE_ERROR.VALIDATION_ERROR.90534";
}
—
Reply to this email directly, view it on GitHub
<#19157 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB725OCGALCWVVE2FIDCYXL2FIQQ7AVCNFSM6AAAAABORVD7LSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNBQGI2TKNBQGA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
That’s because 16.2 was officially released so there is no need to use the Beta anymore. Just switch to the release version.
From: Samuel Sidor ***@***.***>
Date: Friday, 13 December 2024 at 10:08
To: xamarin/xamarin-macios ***@***.***>
Cc: Paul Usher ***@***.***>, Comment ***@***.***>
Subject: Re: [xamarin/xamarin-macios] Regression: error : strip exited with code 139 (Issue #19157)
MAUI 16.2 beta 3 is no longer supported for official release. I am getting an error:
Run xcrun altool --upload-app -t ios -f "~/artifacts/SatisFIT.Client.App.ipa" -u ***@***.***" -p "vuac-tfvd-ozlg-sjso"
Running altool at path '/Applications/Xcode_16.2_beta_3.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Frameworks/AppStoreService.framework/Support/altool'...
2024-12-12 23:41:34.346 *** Error: [ContentDelivery.Uploader.600000E301C0] Asset validation failed (90534) Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn’t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases. (ID: 79002ce7-5858-4817-be9e-ca02beaf91ec)
2024-12-12 23:41:45.987 [ContentDelivery.Uploader.600000E[30](https://github.com/satisfit-org/SatisFIT/actions/runs/12306666582/job/34348847428#step:14:31)1C0]
=============
UPLOAD FAILED with 1 error.
=============
2024-12-12 23:41:45.991 *** Error: Error uploading '/Users/runner/artifacts/SatisFIT.Client.App.ipa'.
2024-12-12 23:41:45.991 *** Error: Asset validation failed Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn’t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases. (ID: 79002ce7-5858-4817-be9e-ca02beaf91ec) (905[34](https://github.com/satisfit-org/SatisFIT/actions/runs/12306666582/job/34348847428#step:14:35))
{
NSLocalizedDescription = "Asset validation failed";
NSLocalizedFailureReason = "Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn\U2019t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases. (ID: 79002ce7-5858-4817-be9e-ca02beaf91ec)";
NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn\U2019t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases., id=79002ce7-5858-4817-be9e-ca02beaf91ec, code=STATE_ERROR.VALIDATION_ERROR.90534, title=Asset validation failed, NSLocalizedFailureReason=Unsupported SDK or Xcode version. Your app was built with an SDK or version of Xcode that isn\U2019t supported. Although you can use beta versions of SDKs and Xcode to build and upload apps to App Store Connect, you need to use the latest Release Candidates (RC) for SDKs and Xcode to submit the app. For details on currently supported SDKs and versions of Xcode, visit: https://developer.apple.com/news/releases., NSLocalizedDescription=Asset validation failed}";
"iris-code" = "STATE_ERROR.VALIDATION_ERROR.90534";
}
—
Reply to this email directly, view it on GitHub<#19157 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAEKMKZTKEF76FMNI3CFRUD2FIQQNAVCNFSM6AAAAABORVD7LSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNBQGI2TKNBQGA>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Yes I know official |
I have the same problem, the 16.2 RC is not available on dev ops maxosx build runners, so apple are rejecting the build because it's not built with the latest xcode |
@Kebechet I think the document is out of date, I ran a test pipeline to list out the contents of Applications with
And the 16.2 release candidate is now available |
@AdamDiament seems like not all runners had this version already. Because on screen you provided you have mapping of I have tried to run our pipeline today and it completed successfully. So the runner with Xcode ReleaseCandidate mapping should be now available. |
Maybe it takes time to update all the runners, and we got caught mid-cycle. Glad its running for you now. |
From answer I received they started with deployments of newer runners on Monday. So yes, it is like you said, we got caught mid-cycle. |
We've released support for Xcode 16.2 now (https://github.com/xamarin/xamarin-macios/releases/tag/dotnet-9.0.1xx-xcode16.2-9170), and it looks like this is fixed in Xcode 16.2, so I'm closing this. Note: if you're using Visual Studio, the Xcode 16.2 support update will come next year, our release schedules don't line up nicely so this is a moment when VS will lag a bit behind for a while. |
@rolfbjarne do we know it was actually fixed and not just randomly hitting this any longer? Same thing was the case with 15.0 and then magically went away in 15.1 only to return in 16.0 |
Apple said it was fixed in the feedback ticket I filed. |
I had the same problem when I tried to release a MAUI app on Rider with XCode 16.1. It was strange because the app compiled fine in debug mode, and a HelloWorld app was released without any issues. However, the problem was resolved after upgrading XCode to 16.2 |
Please file a feedback ticket with Apple if you run into this issue
See this comment for more information: #19157 (comment)
Steps to Reproduce
<PackageReference Include="Esri.ArcGISRuntime" Version="200.2.0" />
Note that if you skip step 2, there is no issue. Something about this library causes the stripper to crash.
Workaround
Add
This is quite a showstopper for us, as this prevents any of our users from using our nuget packages.
We are fairly certain the issue is connected to the XCode 15 upgrade.
Expected Behavior
App builds and deploys.
Actual Behavior
Crash in the stripper
Environment
VS Preview 17.8 p3+remote macos host, or just .NET 8 RC2 commandline on macos with XCode.
We have reproduced on multiple machines, Windows and Mac.
Build Logs
1>/usr/bin/ditto /Users/mort5161/Library/Caches/Xamarin/mtbs/builds/MauiApp10/45615ce3ae59fa5d7b49616b08a491ce70088b1a274c6bd0fc1cb4b5a8be76d0/C:/Users/mort5161/.nuget/packages/esri.arcgisruntime.runtimes.ios/200.2.0/framework/ios-arm64/native/ArcGIS-arm64.framework/ /Users/mort5161/Library/Caches/Xamarin/mtbs/builds/MauiApp10/45615ce3ae59fa5d7b49616b08a491ce70088b1a274c6bd0fc1cb4b5a8be76d0/bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone11.6-16.7/MauiApp10.app/Frameworks/ArcGIS-arm64.framework --arch arm64
1>/usr/bin/ditto /Users/mort5161/Library/Caches/Xamarin/mtbs/builds/MauiApp10/45615ce3ae59fa5d7b49616b08a491ce70088b1a274c6bd0fc1cb4b5a8be76d0/C:/Users/mort5161/.nuget/packages/esri.arcgisruntime.runtimes.ios/200.2.0/framework/ios-arm64/native/Runtimecore.framework/ /Users/mort5161/Library/Caches/Xamarin/mtbs/builds/MauiApp10/45615ce3ae59fa5d7b49616b08a491ce70088b1a274c6bd0fc1cb4b5a8be76d0/bin/Debug/net8.0-ios/ios-arm64/device-builds/iphone11.6-16.7/MauiApp10.app/Frameworks/Runtimecore.framework --arch arm64
1>Tool xcrun execution finished (exit code = 139).
1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\16.4.8968-net8-rc2\tools\msbuild\iOS\Xamarin.Shared.targets(2750,3): error : strip exited with code 139
1>C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\16.4.8968-net8-rc2\tools\msbuild\iOS\Xamarin.Shared.targets(2750,3): error :
Example Project (If Possible)
Repro project. Just try and deploy to an iPhone device:
MauiArcGISApp1.zip
The text was updated successfully, but these errors were encountered: