fonttools / skia-pathops

Python bindings for the Skia library's Path Ops
https://skia.org/docs/dev/present/pathops/
BSD 3-Clause "New" or "Revised" License
47 stars 14 forks source link

Crash with pypy 7.3.6 #52

Closed justvanrossum closed 2 years ago

justvanrossum commented 2 years ago

I'm finding that pathops reliably crashes hard ("Segmentation fault (core dumped)" / "Process completed with exit code 139") when running under pypy 7.3.6, at least on Linux. This does not happen on 7.3.5. (Environment: GitHub actions.)

This could easily be a bug in pypy, but I have no way of debugging that :(

(I can't test locally on macOS as there are no macOS wheels for pypy pathops, and trying to build it locally never worked for me, so I'm afraid this is the extent of detail I can share at the moment.)

justvanrossum commented 2 years ago

In an attempt to reproduce, I reran a recent non-deplying run, but it still used pypy3.7-7.3.5 instead of the latest pypy3.7-7.3.6.

Not sure how this works. Would it make sense to make a dummy PR to trigger a fresh build?

Alternatively, I could make a test repository to try and reproduce the problem.

justvanrossum commented 2 years ago

I managed to reproduce the problem in a test repo:

Failing run:

It doesn't appear to be a specific shape that causes the crash, it just happens after a while.

justvanrossum commented 2 years ago

I opened an issue for PyPy as well:

justvanrossum commented 2 years ago

The upstream issue has been closed.

I verified that it no longer crashes: https://github.com/justvanrossum/pypy-pathops-crash/runs/7251678581?check_suite_focus=true