Skip to content
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

macos-14 image changes version from 2.314.1 to 2.316.0 breaks the iOS simulator to use HEIF/HEVC codec encoder #9791

Open
1 of 13 tasks
dreampiggy opened this issue May 6, 2024 · 5 comments
Assignees
Labels
Area: Apple Area: Testing and code coverage bug report investigate Collect additional information, like space on disk, other tool incompatibilities etc. OS: macOS

Comments

@dreampiggy
Copy link

dreampiggy commented May 6, 2024

Description

We're testing the macOS System framework HEIF/HEVC encoder API

However, we found that the runner image version bump(not controlled by me) from 2.314.1 to 2.316.0 breaks the Apple System framework HEIF/HEVC encoder API's behavior.

The error log shows (from macOS system framework):

2024-04-26 08:59:58.966569+0000 xctest[6991:32863] [xctest] writeImageAtIndex:962: *** CMPhotoCompressionSessionAddImage: err = kCMPhotoError_UnsupportedOperation [-16994]    (codec: 'hvc1')

(note: The only changes in the git repo between these 2 action run is only comments, should not effect the result: SDWebImage/SDWebImage@ea2e3d5)

And, I can ensure that when running on physical MacBook Pro 15 M1 Pro, the API returns correctly (which may use the Apple M1 chip's media codec for HEVC decoding).

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • Windows Server 2019
  • Windows Server 2022

Image version and build link

Works: 2.314.1
Broken: 2.316.0

Is it regression?

yes

Expected behavior

The Apple's ImageIO API for HEIF/HEVC encoder should work as expected.

Actual behavior

The Apple's ImageIO API for HEIF/HEVC encoder just report error

Repro steps

  1. Use Apple's System HEIF/HEVC encoder API to decode any HEIF image, like my demo: https://github.com/SDWebImage/SDWebImage/blob/master/Tests/Tests/Images/TestImage.heic
  2. Run on macos-14 runner in version 2.316.0, see failure
  3. Run on macos-14 runner in version 2.314.1, see success
@dreampiggy dreampiggy changed the title macos-14 image changes from '2.314.1' to '2.316.0' breaks the iOS simulator to use HEIF/HEVC codec decoder macos-14 image changes version from 2.314.1 to 2.316.0 breaks the iOS simulator to use HEIF/HEVC codec decoder May 6, 2024
@dreampiggy dreampiggy changed the title macos-14 image changes version from 2.314.1 to 2.316.0 breaks the iOS simulator to use HEIF/HEVC codec decoder macos-14 image changes version from 2.314.1 to 2.316.0 breaks the iOS simulator to use HEIF/HEVC codec encoder May 6, 2024
@dreampiggy
Copy link
Author

Sorry for the misunderstanding. The broken is HEVC encoding, not HEVC decoding

@dreampiggy
Copy link
Author

dreampiggy commented May 6, 2024

Similar: rlxone/Equinox#66

Is this the macOS system bug ? What's the actual macOS version number between runner 2.314.1 and 2.316.0 ?

2.314.1

Current runner version: '2.314.1'
Operating System
  macOS
  14.2.1
  23C71
Runner Image
  Image: macos-14-arm64
  Version: 20240116.1
  Included Software: https://github.com/actions/runner-images/blob/macOS-14/20240116.1/images/macos/macos-14-arm64-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/macOS-14%2F20240116.1
Runner Image Provisioner
  2.0.329.1+b3ad46f283ae2edf89fbf23e452357fca7144186

2.316.0

Current runner version: '2.316.0'
Operating System
  macOS
  14.4.1
  23E224
Runner Image
  Image: macos-14-arm64
  Version: 20240422.3
  Included Software: https://github.com/actions/runner-images/blob/macos-14-arm64/20240422.3/images/macos/macos-14-arm64-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/macos-14-arm64%2F20240422.3
Runner Image Provisioner
  2.0.369.1+55cddbb57f254a369b6e7b3b508cebdbee5d24be

@dreampiggy
Copy link
Author

I guess this maybe a macOS system bug which introduced during minor version bump (14.2.1 -> 14.4.1)

How can I use github action yaml to declare the exact macOS version I want to use ?😼

@dreampiggy
Copy link
Author

dreampiggy commented May 7, 2024

For now, since I use GitHub action as free service and not paid service... I quickly ignore HEIF encoding in the unit test :(

SDWebImage/SDWebImage#3710

image

@erik-bershel erik-bershel added Area: Apple Area: Testing and code coverage OS: macOS investigate Collect additional information, like space on disk, other tool incompatibilities etc. and removed needs triage labels May 7, 2024
@erik-bershel
Copy link
Contributor

erik-bershel commented May 7, 2024

Hey @dreampiggy!
Thank you for bringing it into our attention. We'll take a closer look. I may say that it seems as a macOS degradation itself, but should be checked for sure.

UPD: There is no way to choose image/OS version.

@MaksimZhukov MaksimZhukov self-assigned this May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Apple Area: Testing and code coverage bug report investigate Collect additional information, like space on disk, other tool incompatibilities etc. OS: macOS
Projects
None yet
Development

No branches or pull requests

3 participants