Opening import file for module <framework>: Permission denied
Asked Answered
H

1

7

I set up a remote Git repository and Xcode Server on another computer, then created a bot in Xcode. Every time I try to do a new integration, it fails with an error like this:

Assertion: Opening import file for module 'Accelerate': Permission denied
     File: <filename>.swift:9

If I comment everything in this file, bot starts showing same error for another framework (and another .swift file). It can be either Swift or Objective-C framework.

Search Paths for this project is: $(PROJECT_DIR), and Always Search User Paths is set to Yes

I'm using Xcode 7.2 beta 2, but I was facing the same issue on Xcode 7.1 from the App Store. I tried restarting Xcode and both server and development Macs, it doesn't help. The project compiles and runs successfully on my development machine.

Server Logs: (xcsbuildd.log)

[BuildService] Previous integration is needed but not loaded yet, fetching.
[BuildService] Previous integration loaded successfully.
[BuildService] Completed integration step XCSCheckoutIntegrationStep without error
[BuildService, Info] Asset packs will be hosted at <server url here>
[BuildService] Current server devices are needed but not loaded yet, fetching.
[BuildService] Devices loaded successfully.
[BuildService, Info] Current server platforms are needed but not loaded yet, fetching.
[BuildService, Info] Platforms loaded successfully.
[BuildService] Creating arguments list for integrate
[BuildService] Integration will not perform analyze action
[BuildService] Integration will perform test action
[BuildService] Integration use scheme-level code coverage enabled setting
[BuildService] Additional build arguments are "(
)"
[BuildService, Info] Creating test device destination arguments for device testing
[BuildService, Info] Create test device destination arguments from device specification
[BuildService, Info] Including device iPhone 6 Plus (A3E8ED2D-4D13-420E-8CE1-6D484E65CD03)
[BuildService, Info] Destination arguments are (
    "-skipUnsupportedDestinations",
    "-destination-timeout",
    30,
    "-DVTDeviceLogLevel=3",
    "-DVTDeviceSearchLogLevel=3",
    "-iPhoneSimulatorLogLevel=3",
    "-iPhoneConnectLogLevel=3",
    "-destination",
    "id=A3E8ED2D-4D13-420E-8CE1-6D484E65CD03"
)
[BuildService] Integrate arguments list is (
    "/usr/bin/xcrun",
    xcodebuild,
    test,
    "-IDETestOperationsObserverDebugLogLevel=3",
    "-IDEBuildOperationMaxPercentageOfConcurrentCompileTasks=80",
    "-IDEBuildOperationQueueSetResourceManagementLogLevel=2",
    "-DTDKSupportWirelessDevices=NO",
    "-IDEPostProgressNotifications=YES",
    "-DVTAllowServerCertificates=YES",
    "-DVTSigningCertificateSourceLogLevel=3",
    "-DVTSigningCertificateManagerLogLevel=3",
    "-DTDKProvisioningProfileExtraSearchPaths=/Library/Developer/XcodeServer/ProvisioningProfiles",
    "-DTDKDisableSymbolCopying=YES",
    "-scheme",
    Newsfeeder,
    "-skipUnavailableActions",
    "-project",
    "/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/Source/Newsfeeder/Newsfeeder.xcodeproj",
    "-derivedDataPath",
    "/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/DerivedData",
    "-skipUnsupportedDestinations",
    "-destination-timeout",
    30,
    "-DVTDeviceLogLevel=3",
    "-DVTDeviceSearchLogLevel=3",
    "-iPhoneSimulatorLogLevel=3",
    "-iPhoneConnectLogLevel=3",
    "-destination",
    "id=A3E8ED2D-4D13-420E-8CE1-6D484E65CD03",
    "-DVTSuppressExternalDeviceLocation=NO",
    "-resultBundlePath",
    "/Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild_result.bundle"
)

[BuildService] NSTask environment: {
    "DEVELOPER_DIR" = "/Library/Developer/XcodeServer/CurrentXcodeSymlink/Contents/Developer";
    PATH = "/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin";
    XCS = 1;
    "XCS_BOT_ID" = 1770e1afb8f775d8c92855beba002640;
    "XCS_BOT_NAME" = "Newsfeeder Bot";
    "XCS_BOT_TINY_ID" = 8466E19;
    "XCS_DERIVED_DATA_DIR" = "/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/DerivedData";
    "XCS_INTEGRATION_ID" = 1770e1afb8f775d8c92855beba008e0d;
    "XCS_INTEGRATION_NUMBER" = 2;
    "XCS_INTEGRATION_RESULT" = unknown;
    "XCS_INTEGRATION_TINY_ID" = B989BD8;
    "XCS_OUTPUT_DIR" = "/Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d";
    "XCS_SOURCE_DIR" = "/Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/Source";
    "XCS_XCODEBUILD_LOG" = "/Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild.log";
}

[BuildService] Running task /usr/bin/nice /usr/bin/xcrun xcodebuild test -IDETestOperationsObserverDebugLogLevel=3 -IDEBuildOperationMaxPercentageOfConcurrentCompileTasks=80 -IDEBuildOperationQueueSetResourceManagementLogLevel=2 -DTDKSupportWirelessDevices=NO -IDEPostProgressNotifications=YES -DVTAllowServerCertificates=YES -DVTSigningCertificateSourceLogLevel=3 -DVTSigningCertificateManagerLogLevel=3 -DTDKProvisioningProfileExtraSearchPaths=/Library/Developer/XcodeServer/ProvisioningProfiles -DTDKDisableSymbolCopying=YES -scheme Newsfeeder -skipUnavailableActions -project /Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/Source/Newsfeeder/Newsfeeder.xcodeproj -derivedDataPath /Library/Developer/XcodeServer/Integrations/Caches/1770e1afb8f775d8c92855beba002640/DerivedData -skipUnsupportedDestinations -destination-timeout 30 -DVTDeviceLogLevel=3 -DVTDeviceSearchLogLevel=3 -iPhoneSimulatorLogLevel=3 -iPhoneConnectLogLevel=3 -destination id=A3E8ED2D-4D13-420E-8CE1-6D484E65CD03 -DVTSuppressExternalDeviceLocation=NO -resultBundlePath /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild_result.bundle

[BuildService, Info] Monitoring /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild.log for activity.

[BuildService, Info] Done monitoring xcodebuild.log for activity.
[BuildService] Scheme actions record is needed but not loaded yet, fetching.
[BuildService] Scheme actions record loaded successfully.
[BuildService] Completed integration step XCSBuildIntegrationStep without error
[BuildService] Last integration with build results is needed but not loaded yet, fetching.
[BuildService] Last integration with build results loaded successfully.
[BuildService] Build results summary: {
    analyzerWarningChange = 0;
    analyzerWarningCount = 0;
    codeCoveragePercentage = 0;
    codeCoveragePercentageDelta = 0;
    errorChange = 0;
    errorCount = 1;
    improvedPerfTestCount = 0;
    regressedPerfTestCount = 0;
    testFailureChange = 0;
    testFailureCount = 0;
    testsChange = 0;
    testsCount = 0;
    warningChange = 0;
    warningCount = 0;
}

[BuildService] Integration commit history are needed but not loaded yet, fetching.
[BuildService] Integration commits loaded successfully.
[BuildService] Completed integration step XCSProcessBuildResultsIntegrationStep without error
[BuildService] Matched device <XCSDevice 0x7fc77e82eaf0>
{"modelUTI":"com.apple.iphone-6-plus-b4b5b9","connected":"YES","modelCode":"iPhone7,1","simulator":"YES","osVersion":"9.2","modelName":"iPhone 6 Plus","supported":"YES","deviceUDID":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","identifier":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","enabledForDevelopment":"YES","architecture":"x86_64","isServer":"NO","tinyID":"A3E8ED2","doc_type":"device","trusted":"YES","platformIdentifier":"com.apple.platform.iphonesimulator","name":"iPhone 6 Plus","retina":"YES"} to server device <XCSDevice 0x7fc77e398d70>
{"osVersion":"9.2","connected":"YES","simulator":"YES","modelCode":"iPhone7,1","deviceType":"com.apple.iphone-simulator","modelName":"iPhone 6 Plus","revision":"6-71966f4a54eb01b83604036d5b31c53c","modelUTI":"com.apple.iphone-6-plus-b4b5b9","doc_type":"device","trusted":"YES","name":"iPhone 6 Plus","supported":"YES","identifier":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","enabledForDevelopment":"YES","platformIdentifier":"com.apple.platform.iphonesimulator","ID":"11f2b4085b58a3769cd320245b004ab9","architecture":"x86_64","retina":"NO","isServer":"NO","tinyID":"37889F2"}

[BuildService] Processing device: <XCSDevice 0x7fc77e398d70>
{"osVersion":"9.2","connected":"YES","simulator":"YES","modelCode":"iPhone7,1","deviceType":"com.apple.iphone-simulator","modelName":"iPhone 6 Plus","revision":"6-71966f4a54eb01b83604036d5b31c53c","modelUTI":"com.apple.iphone-6-plus-b4b5b9","doc_type":"device","trusted":"YES","name":"iPhone 6 Plus","supported":"YES","identifier":"A3E8ED2D-4D13-420E-8CE1-6D484E65CD03","enabledForDevelopment":"YES","platformIdentifier":"com.apple.platform.iphonesimulator","ID":"11f2b4085b58a3769cd320245b004ab9","architecture":"x86_64","retina":"NO","isServer":"NO","tinyID":"37889F2"}
[BuildService] Completed integration step XCSProcessTestResultsIntegrationStep without error
  adding: xcodebuild_result.bundle/ (stored 0%)
  adding: xcodebuild_result.bundle/1_Test/ (stored 0%)
  adding: xcodebuild_result.bundle/1_Test/action.xcactivitylog (stored 0%)
  adding: xcodebuild_result.bundle/1_Test/build.xcactivitylog (deflated 1%)
  adding: xcodebuild_result.bundle/Info.plist (deflated 79%)
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild_result.bundle.zip
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/buildService.log
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/xcodebuild.log
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/sourceControl.log
[BuildService] Uploading file /Library/Developer/XcodeServer/Integrations/Integration-1770e1afb8f775d8c92855beba008e0d/Session-2015-11-04_16:54:03-zpFYIF.log to relative path (null)
[BuildService] Completed integration step XCSUploadFilesIntegrationStep without error
[BuildService] Integration executor is finished. Exiting.
[BuildService] Registering build service socket listeners
[BuildService] Done registering build service socket listeners
Heirloom answered 3/11, 2015 at 12:3 Comment(8)
Same for me. Are you using Carthage or Cocoapods?Wendell
@Wendell no, I'm not using any dependency manager.Heirloom
if you go into the Xcode Server folder in Library/Developer/Xcode Server there is a Logs folder and you can open the build log and see more detail about the problem its havingTurpentine
@Turpentine I can't seem to understand why the problem occurs. Updated my question with logs from Library/Developer/XcodeServer/Logs/xcsbuildd.logHeirloom
@Heirloom I don't see anywhere on that log where its struggling with anything. you are using on Xcode server 7.2 beta as well as your dev machine? its not a version mis-match thing?Turpentine
@Turpentine I'm using same versions of Xcode (7.2 beta 2) on both machinesHeirloom
@Wendell if you're still interested: I found a workaround – instead of importing precompiled libraries I added them as targets and configure dependencies. Now Server is working as expected.Heirloom
@Heirloom Still interested! Just didn't have any chance to change anything in the meantime - will try that an comment.Wendell
T
2

I had the same error when I tried to build and run the tests for my own framework on continuous integration server (Xcode Service Bots). The problem was first observed after upgrading my Server app to Version 5.1 (15S5127) and Xcode to Version 7.3 (7D175).

In my case the solution turned out to be quite surprising. It took me lots of time to realise that the problem only shows up when I use Nimble framework. When I remove import Nimble from my test and use standard XCTest assertions, the problem goes away.

What helped in my case was making sure that before integration, the Nimble framework is rebuilt. I am using Nimble with Carthage, so I only had to add the following command in the Before Integration Trigger:

cd NimbleCarthageProblem && /usr/local/bin/carthage bootstrap --platform iOS

See also screenshot:

BeforeTrigger

After that it builds and tests run successfully.

From your logs I can't see if you are using Nimble - if you do not, than it means that the problem is somewhere else and I just experienced its another revelation.

I still do not understand why is the problem only happening on the build server during integration. Even if I log into build machine, check out the source code, and build it with Xcode right there - everything is fine. It only fails on the bot during integration. The solution is not ideal for another reason: Nimble has to be rebuilt before each integration and cannot just be included in the source code (if one finds this a better approach).

If I hope someone else will find the actual solution. I do not blame Nimble - it is most certainty a combination of things.

I created an example project where the problem and the solution are described in more details. It can be found here: https://github.com/mczenko/NimbleCarthageProblem.

Triaxial answered 9/4, 2016 at 15:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.