Fix System Error on Python 3.13 and Windows #457
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #456.
The relevant crash from the test log actually seems to be the initial failure:
PyObject_GetAttrString
fails to getclock_gettime
andclock_gettime_ns
on Windows because they only exist on Unix. It returnsNULL
and each time sets theAttributeError
as the current error.patch_if_needed
did not clear this, leading to Python's call check to raise aSystemError
caused by theAttributeError
, making time-machine fail to start travelling.I'm not sure which exact change in Python made this failure occur, so far it seems the
SystemError
should have been raised on older versions too. Ah well.@gaborbernat I haven’t got a Windows setup for verifying this on - would you mind trying this on your test suite?