runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

[azure devops] AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert, value: 0

Open jeromelaban opened this issue 1 year ago • 37 comments

Description

When starting the iOS simulators on macos-15, the following assertion happens:

AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.

The message shows up as stdout, "polluting" machine readable outputs like simctl.

This is azure devops specific, this does not happen on github actions with macos-15.

Related to https://github.com/actions/runner-images/issues/10918

Platforms affected

  • [x] Azure DevOps
  • [ ] GitHub Actions - Standard Runners
  • [ ] GitHub Actions - Larger Runners

Runner images affected

  • [ ] Ubuntu 20.04
  • [ ] Ubuntu 22.04
  • [ ] Ubuntu 24.04
  • [ ] macOS 12
  • [ ] macOS 13
  • [ ] macOS 13 Arm64
  • [ ] macOS 14
  • [ ] macOS 14 Arm64
  • [X] macOS 15
  • [ ] macOS 15 Arm64
  • [ ] Windows Server 2019
  • [ ] Windows Server 2022

Image version and build link

20241106.316

Is it regression?

Not for this image, but compared to other images, yes.

Expected behavior

No assertions in the log

Actual behavior

Many messages like this one:

AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.

Repro steps

Run the following pipeline:

pool:
  vmImage: 'windows-2022'

trigger:
  - main

stages:
- stage: Setup
  jobs:
  - job: Pipeline_Validations

    pool:
      vmImage: 'macos-15'

    steps:
    - checkout: self
      clean: 'true'
      fetchDepth: 0

    - bash: |
        /bin/bash -c "sudo xcode-select -s /Applications/Xcode_16.app/Contents/Developer"
  
        echo "Listing iOS simulators"
        xcrun simctl list devices --json
  
        export SIMULATOR_VERSION="com.apple.CoreSimulator.SimRuntime.iOS-18-1"
        export SIMULATOR_NAME="iPad Pro 13-inch (M4)"
  
        export UITEST_IOSDEVICE_ID=`xcrun simctl list -j | jq -r --arg sim "$SIMULATOR_VERSION" --arg name "$SIMULATOR_NAME" '.devices[$sim] | .[] | select(.name==$name) | .udid'`
        xcrun simctl boot $UITEST_IOSDEVICE_ID
  
        sleep 300
      name: Run

jeromelaban avatar Nov 07 '24 20:11 jeromelaban

@jeromelaban We will look into the issue and keep you posted with updates.

susmitamane avatar Nov 08 '24 05:11 susmitamane

We noticed the same issue happening in our e2e pipeline starting yesterday with macOS-15 as well. It happens with both iOS 18.0 and 18.1 Simulators.

topi-identio avatar Nov 08 '24 07:11 topi-identio

Same problem here. Any news? It's kinda blocking

albertoAround avatar Nov 12 '24 10:11 albertoAround

+1

examplecodecn avatar Nov 13 '24 07:11 examplecodecn

Hi All, We are still investigating the issue. Will keep you posted with updates soon.

sureshe456 avatar Nov 13 '24 13:11 sureshe456

Observed this issue today and all our build and automation pipelines are failing. @sureshe456 @susmitamane please fix this issue.

sanket492 avatar Nov 14 '24 08:11 sanket492

Is there an ETA? We're in serious troubles and we're starting to consider rolling back to physical device for building @sureshe456 @susmitamane

albertoAround avatar Nov 14 '24 10:11 albertoAround

Hi All, We are still checking on it. will be posted any updates.

sureshe456 avatar Nov 14 '24 14:11 sureshe456

Hi @jeromelaban, Based on the analysis, the macos-15-large (macos-15) is based on an AMD64 processor, while the macos-15-xlarge (macos-15-arm64) is based on an ARM64 processor. The AppleVirtualPlatformARMPE service is specifically designed for Apple Silicon (ARM-based) processors, such as the M1, M1 Pro, M1 Max, M2, and later chips. It is not compatible with AMD64 (x86_64) processors. Therefore, when you start iOS simulators on macos-15 (AMD64 processor), then AppleVirtualPlatformARMPE service will be inaccessible. However, this service will be accessible on the macos-15-xlarge (macos-15-arm64) image.

sureshe456 avatar Nov 15 '24 12:11 sureshe456

So what kind of image do we have to type? I tried macos-15-arm64 and macos-15-xlarge but I received for both the same error

"No config name or imagelabel provided in request" @sureshe456

albertoAround avatar Nov 15 '24 13:11 albertoAround

For macOS 15 Arm64: Please try with this macos-15. FYI... Screenshot 2024-11-15 at 8 33 25 PM

sureshe456 avatar Nov 15 '24 15:11 sureshe456

We're working on Azure hosted images. So here are the ones that we can pick https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml

There is no macos-15-large or xlarge. @sureshe456

albertoAround avatar Nov 15 '24 15:11 albertoAround

Therefore, when you start iOS simulators on macos-15 (AMD64 processor), then AppleVirtualPlatformARMPE service will be inaccessible. However, this service will be accessible on the macos-15-xlarge (macos-15-arm64) image.

This could make sense, however, even selecting iPad (10th generation) does not work.

Also, regardless of the selected emulator, even running xcrun simctl list devices --json will emit the messages.

Furthermore, as noted by others in the thread, the images you mention are not on azure devops, only GHA.

jeromelaban avatar Nov 15 '24 17:11 jeromelaban

The Simulators worked fine the day before this issue was posted. What changed? Did something update?

topi-identio avatar Nov 15 '24 17:11 topi-identio

I mean, it's two weeks that we can't build... From such a large company it's almost unbelievable and we are paying for this service.

albertoAround avatar Nov 19 '24 08:11 albertoAround

Hi All, We apologize for the inconvenience and understand the frustration this has caused. There was an issue with patches update on macOS 15 image generation.So, our team is actively working on resolving the issue, and we appreciate your patience during this time. Thank you for bringing this to our attention. We will keep you updated with any new information.Thanks.

sureshe456 avatar Nov 19 '24 16:11 sureshe456

Exactly same problem here, but getting this on Azure DevOps, after XCode 16 was removed from MacOS 15 build agents, and we had to specify MacOS 15 instead to use XCode 16.

AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
** ARCHIVE FAILED **

Seems an issue for all Mac OS 15 image flavours, including 15.1 and 15.0.1.

wimdows-nl avatar Nov 22 '24 14:11 wimdows-nl

I'm also getting multiple errors like this:

AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.

with an Azure DevOps hosted MacOS agent running:

Operating System
macOS
15.0.1
24A348
Runner Image
Image: macos-15
Version: 20241022.244

I'm getting this for archive and export, i.e., not when targeting a simulator:

/usr/bin/xcodebuild \
    -workspace ./App.xcworkspace \
    -scheme AppScheme \
    -sdk iphoneos \
    -configuration Release \
    clean archive

xcodebuild -exportArchive \
  -archivePath path/to/archive \
  -exportPath path/to/export \
  -exportOptionsPlist path/to/options.plist

If there is any workaround, please provide an explanation here! Needless to say, this renders our pipelines completely useless.

hakonk avatar Nov 25 '24 08:11 hakonk

Almost a month and still not fixed and not an ETA.

albertoAround avatar Nov 25 '24 10:11 albertoAround

@sureshe456 is there an ETA for the fix here?

hakonk avatar Nov 25 '24 19:11 hakonk

It turns out that, on my end, I had another unrelated error that went under the guise of the error messages:

AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.

After fixing this error my pipeline is able to run. Since I am only using hosted agents for archiving and exporting, I passed -destination "generic/platform=iOS" \ upon clean archive to remove warnings about devices. This does work in my pipeline:

/usr/bin/xcodebuild \
    -workspace path/to/workspace \
    -scheme AppScheme \
    -sdk iphoneos \
    -archivePath path/to/archive \
    -configuration Release \
    -destination "generic/platform=iOS" \
    clean archive

hakonk avatar Nov 26 '24 12:11 hakonk

Hi All, We are still working on resolving the issue. Will keep you posted with any update.

sureshe456 avatar Nov 27 '24 13:11 sureshe456

Hi All, We are still working on resolving the issue. Will keep you posted with any update.

Thanks - can you confirm this will also be addressed for the Azure DevOps build agents?

wimdows-nl avatar Nov 27 '24 14:11 wimdows-nl

Any news? @sureshe456

albertoAround avatar Dec 06 '24 16:12 albertoAround

Is there any update @sureshe456 ?

Suniket avatar Dec 08 '24 21:12 Suniket

Hi All, We are still investigating the issue. Will keep you posted on any updates.Thanks for your patience.

sureshe456 avatar Dec 09 '24 07:12 sureshe456

Related to this issue Xcode 16 was re-added to the macOS-14 images https://github.com/actions/runner-images/issues/10703#issuecomment-2503985328, so we reverted our pipeline to use that for now.

topi-identio avatar Dec 09 '24 09:12 topi-identio

@topi-identio @albertoAround @wimdows-nl @sanket492 I'm a bit confused about this. What problem does this log output cause? I'm not seeing any actual failures even with these logs showing up. Please clarify what is actually failing. https://github.com/actions/runner-images/issues/10925#issuecomment-2500653933 for example noticed they had another error unrelated to these messages.

NorseGaud avatar Dec 09 '24 20:12 NorseGaud

For us this is an issue too. It causes that linting of a cocoapod artefact fails as it tries to detect which simulator is available:

    - ERROR | [iOS] unknown: Encountered an unknown error (unexpected token at 'AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Assert: platformExpert,  value: 0
AVPIdentity: AppleVirtualPlatformHostKey.mm:234: Failed to get AppleVirtualPlatformARMPE service.
'

tkhho avatar Dec 09 '24 21:12 tkhho

@tkhho , so the issue is that a linting stage is trying to use some sort of output? Can you clarify a bit more about what exactly it's failing to do and what you're running to reproduce it?

NorseGaud avatar Dec 09 '24 22:12 NorseGaud