"Rsync failed" error in IDEDistributionPackagingStep when using -exportOptionsPlist to generate an ipa file

Originator:KrauseFx
Number:rdar://28745819 Date Originated:12-Oct-2016 04:53 PM
Status:Open Resolved:
Product:Developer Tools Product Version:Xcode 8.0
Classification:Serious Bug Reproducible:
 
Felix Krause12-Oct-2016 04:53 PM

Summary:
When running xcodebuild to generate an ipa file using

```
xcodebuild -exportArchive -exportOptionsPlist '/tmp/my.plist' -archivePath /.../Archives/.../Fabric/.../xcarchive -exportPath '/tmp/output' 
```

the command throws an "Rsync failed" error message

```
2016-10-12 15:51:06.404 xcodebuild[59708:2722458] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/my/t28zn1cd4pl_f7dfzs3vszj00000gn/T/Fabric_2016-10-12_15-51-06.403.xcdistributionlogs'.
2016-10-12 15:51:12.352 xcodebuild[59708:2722458] [MT] IDEDistribution: Step failed: <IDEDistributionPackagingStep: 0x7fc4c6d433b0>: Error Domain=IDEFoundationErrorDomain Code=1 "Rsync failed" UserInfo={NSLocalizedDescription=Rsync failed}
error: exportArchive: Rsync failed

Error Domain=IDEFoundationErrorDomain Code=1 "Rsync failed" UserInfo={NSLocalizedDescription=Rsync failed}

** EXPORT FAILED **
```

Looking at Xcode's log files, we found a more detailed error message in "IDEDistribution.standard.log":

```
ations/Xcode-8.app/Contents/Developer/usr/bin/symbols exited with 0
2016-10-12 23:00:35 +0000 [MT] Processing symbols for CRToast.framework
2016-10-12 23:00:35 +0000 [MT] Running /usr/bin/rsync '-8aPhhE' '/var/folders/my/t28zn1cd4pl_f7dfzs3vszj00000gn/T/XcodeDistPipeline.MQT/Root/Payload/Fabric.app/Frameworks/CRToast.framework' '--link-dest' '/var/folders/my/t28zn1cd4pl_f7dfzs3vszj00000gn/T/XcodeDistPipeline.MQT/Root/Payload/Fabric.app/Frameworks' '/var/folders/my/t28zn1cd4pl_f7dfzs3vszj00000gn/T/XcodeDistPipeline.MQT'
2016-10-12 23:00:35 +0000  building file list ... 
2016-10-12 23:00:35 +0000   0 files...
2016-10-12 23:00:35 +0000  5 files to consider
2016-10-12 23:00:35 +0000  CRToast.framework/
2016-10-12 23:00:35 +0000  CRToast.framework/_CodeSignature/
2016-10-12 23:00:35 +0000  rsync: recv_generator: mkdir "/var/folders/my/t28zn1cd4pl_f7dfzs3vszj00000gn/T/XcodeDistPipeline.MQT/CRToast.framework/_CodeSignature" failed: Result too large (34)
*** Skipping everything below this failed directory ***
2016-10-12 23:00:35 +0000  rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(992) [sender=2.6.9]
2016-10-12 23:00:35 +0000  
sent 222 bytes  received 32 bytes  508.00 bytes/sec
total size is 416.57K  speedup is 1679.40
2016-10-12 23:00:35 +0000 [MT] /usr/bin/rsync exited with 23
```

Looking at the _CodeSignature directory inside the CRToast, the size and its content seem valid, and matches the one from the other frameworks that are included.

The build is working however, as soon as we set "include_symbols" to false in our export plist file.

Steps to Reproduce:
1. Setup iOS app with frameworks from CocoaPods
2. Try exporting an ipa file from the command line using `-exportOptionsPlist`
3. Enable "dSYM symbolications included" in the export plist file

Expected Results:
Export should work with and without symbolications included

Actual Results:
"Rsync failed" error is thrown

Version:
Xcode 8.0

Notes:
More information about how we debugged the issue can be found on GitHub: https://github.com/fastlane/fastlane/issues/6520

Configuration:
Xcode 8.0
rbenv Ruby 2.3.1
rsync version 2.6.9 protocol version 29
App Store distribution code signing set for the project

Attachments:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!