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

[PLAT-8530] Fix incorrect device.time in 32-bit crash reports #1399

Merged
merged 1 commit into from Jun 6, 2022

Conversation

nickdowell
Copy link
Contributor

@nickdowell nickdowell commented Jun 6, 2022

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 to tv_sec (type: long) being 32-bit in ILP32 environments.

Changeset

Promotes tv_sec and tv_usec to long 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:

  • BrowserStack currently rejects iOS apps that don't include 64-bit support.
    A 32-bit-only build is needed for that slice to run on 64-bit devices (the only ones available).
  • Building 32-bit code for macOS requires Xcode <= 9, which is not available in our build environment.
    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.

@github-actions
Copy link

github-actions bot commented Jun 6, 2022

Bugsnag.framework binary size did not change - 818,520 bytes

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  [ = ]       0  [ = ]       0    TOTAL

Generated by 🚫 Danger

@nickdowell nickdowell requested a review from kattrali June 6, 2022 13:08
@nickdowell nickdowell merged commit f293171 into next Jun 6, 2022
@nickdowell nickdowell deleted the nickdowell/fix-32-bit-timestamp branch June 6, 2022 13:22
@nickdowell nickdowell mentioned this pull request Jun 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants