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

[Regression] python 3.13.1 (vs 3.13.0): Defining iterator in a separate class no longer works in 3.13 #11241

Open
2 of 16 tasks
HinTak opened this issue Dec 25, 2024 · 9 comments

Comments

@HinTak
Copy link

HinTak commented Dec 25, 2024

Description

Have two identical ci, https://github.com/kyamagu/skia-python/actions/runs/11829956181

(Sync main of fork with upstream)
https://github.com/HinTak/skia-python/actions/runs/12487829150

The latter fails on Apple Color Emoji font being missing.

Platforms affected

  • 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
  • macOS 15
  • macOS 15 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

Success:
Current runner version: '2.320.0'
Operating System
macOS
13.7.1
22H221
Runner Image
Image: macos-13
Version: 20241108.324
Included Software: https://github.com/actions/runner-images/blob/macos-13/20241108.324/images/macos/macos-13-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/macos-13%2F20241108.324
Runner Image Provisioner
2.0.384.1+6d6c56aa16f1b9c7dd7935df5d63980397e44def

Failure:
Current runner version: '2.321.0'
Operating System
macOS
13.7.2
22H313
Runner Image
Image: macos-13
Version: 20241216.479
Included Software: https://github.com/actions/runner-images/blob/macos-13/20241216.479/images/macos/macos-13-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/macos-13%2F20241216.479
Runner Image Provisioner
2.0.404.1+573eac7f0cc07d6bb82d8b9bf5e1ffa69a554644

Is it regression?

Yes

Expected behavior

The Apple Color Emoji font is exported to be installed.

Actual behavior

Cannot find the Emoji font from the system

Repro steps

See the CI entries.

@HinTak
Copy link
Author

HinTak commented Dec 25, 2024

It appears that between Version: 20241108.324 and Version: 20241216.479 , the Apple Color Emoji font has disappeared / not installed.

@susmitamane
Copy link
Contributor

Hi @HinTak

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

Thank You.

@HinTak
Copy link
Author

HinTak commented Dec 26, 2024

@susmitamane looking at the CI logs more carefully, it seems that the regression is specific to python 3.13 (works on 3.10/3.11/3.12)- I.e. skia-python loaded via python 3.13 on Intel mac 13 can't access apple color emoji. Has anything changes between the two images regarding its python 3.13 installation?

@HinTak HinTak changed the title [Regression] Apple Color Emoji font missing from the latest intel mac os 13 image [Regression] python 3.13 can't access Apple Color Emoji font on the latest intel mac os 13 image Dec 26, 2024
@HinTak
Copy link
Author

HinTak commented Dec 27, 2024

Okay, the two runs differ by the python version - it is 3.13.0 in the successful run but 3.13.1 in the broken run.

@susmitamane
Copy link
Contributor

Hi @HinTak

  • https://docs.python.org/release/3.13.1/whatsnew/changelog.html.- The skia-python library may rely on Python's internal implementation of iteration or memory management, which could be impacted by Python 3.13.1.

  • According to our early investigation, they have created some Skia.Iter modifications are causing an error. Please give us more time to investigate it and come back to you with clear inputs.

Thank you.

@HinTak
Copy link
Author

HinTak commented Dec 27, 2024

@susmitamane thanks for your time. The skia.Iter code has not changed for at least 5 years, and the identical code works a few weeks ago (the two ci entry are simply one sync'ing the main of the other). Not sure why 3.13.0 to 3.13.1 on mac os x would break. Anyway, I am due to upgrade to 3.13.1 on my Linux desktop from 3.13.0 on the next reboot, too, so I should be able to tell whether 3.13.1 on Linux is affected.

@HinTak
Copy link
Author

HinTak commented Dec 29, 2024

@susmitamane Just to let you know, I have upgraded python on my linux desktop to 3.13.1 from 3.13.0, and I can reproduce the issue on linux, so it is not specific for mac os x, but specific to 3.13.0 to 3.13.1 upgrade. Looking elsewhere, I think the issue is python/cpython#128161 .

HinTak added a commit to HinTak/skia-python that referenced this issue Dec 29, 2024
See
python/cpython#128161
"Defining iterator in a separate class no longer works in 3.13"

We have iterator for SkTextBlob defined by SkTextBlob::Iter(textblob),
which is the c++/pybind11 equivalent of the same situation.
Following the suggestion:
python/cpython#128161 (comment)

Also see actions/runner-images#11241

Fixes kyamagu#295
@HinTak HinTak changed the title [Regression] python 3.13 can't access Apple Color Emoji font on the latest intel mac os 13 image [Regression] python 3.13.1 (vs 3.13.0): Defining iterator in a separate class no longer works in 3.13 Dec 29, 2024
@HinTak
Copy link
Author

HinTak commented Dec 29, 2024

@susmitamane I am 100% sure the issue is python/cpython#128161 ; I shall let you to decide whether to close this, or leave this open so that other people having 3.13.0 to 3.13.1 problems can see an answer.

@themanofathousandfaces
Copy link

.

چه کسی می تواند از این ویژگی استفاده کند؟
Markdown را می توان در رابط وب GitHub استفاده کرد

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants