[PLAT-8530] Fix incorrect device.time
in 32-bit crash reports
#1399
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.
Goal
Fix invalid timestamps in 32-bit crash reports caused by integer overflow.
Identified when adding E2E support for watchOS - #1398
tv_sec * 1000
was overflowing due totv_sec
(type:long
) being 32-bit inILP32
environments.Changeset
Promotes
tv_sec
andtv_usec
tolong long
(64 bit) when converting values to milliseconds.Testing
Our E2E tests do not have any iOS or macOS 32-bit coverage, and attempts to add support are blocked:
A 32-bit-only build is needed for that slice to run on 64-bit devices (the only ones available).
https://developer.apple.com/documentation/xcode-release-notes/xcode-10-release-notes#Deprecations
The macOS 10.14 SDK no longer contains support for compiling 32-bit applications.
If developers need to compile for i386, Xcode 9.4 or earlier is required. (39858111)
Verified by running
features/barebone_tests.feature:123
on Apple Watch.