Skip to content

Diagnose intermittent CI crashes and website-data test aborts - #63

Draft
tifroz wants to merge 2 commits into
skiptools:mainfrom
tifroz:ci-crash-diagnosis
Draft

tifroz wants to merge 2 commits into
skiptools:mainfrom
tifroz:ci-crash-diagnosis

Conversation

@tifroz

@tifroz tifroz commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Skip Pull Request Checklist:

  • REQUIRED: I have signed the Contributor Agreement
  • REQUIRED: I have tested my change locally with swift test
  • OPTIONAL: I have tested my change on an iOS simulator or device
  • OPTIONAL: I have tested my change on an Android emulator or device

  • AI was used to generate or assist with generating this PR. Please specify below how you used AI to help you, and what steps you have taken to manually verify the changes.

Codex generated the code, validated by testing manually


This is a diagnosis test PR designed to collect more info after recent CI failure - IT IS NOT INTENDED TO BE MERGED

The Android emulator run 40447082761 crashed inside WebView 66 on Chrome_IOThread during the popup tests. The same source tree previously passed with Skip 1.9.19; the failed run used 1.9.20. This draft gathers evidence to distinguish an intermittent native WebView failure from a compiler-related change. It does not claim to fix that crash.

  • Run three Android API 28 test attempts for each Skip version, pinning the other Swift package dependencies to the failing run's versions. The diagnostic workflow runs for this PR alongside the normal CI.
  • Retain each attempt's Gradle reports, full logcat, native crash buffer, WebView provider details, generated sources, and dependency versions. Failed attempts keep the job red even if later attempts pass. Bug-report capture has a two-minute limit.
  • Log popup test boundaries, native view creation and destruction, and navigation callbacks without changing the lifecycle under test.
  • Reject IndexedDB read/write promises when transactions abort and close their connections. The first post-Webview bug fixes + clear browsing data #61 iOS run logged an abort but left the promise pending until timeout; this change reports the actual abort promptly without claiming to resolve its cause.

Validation: Swift test targets built successfully; all four popup tests passed on an Android 16 emulator with lifecycle markers present in the captured logs. Four JavaScript checks verified rejection and connection cleanup for read/write aborts, both with and without a transaction error. Script checks covered per-attempt report retention, failed-then-successful runs, and preservation of failure status during bug-report collection. Workflow validation passed with actionlint.

The Android 17 physical-device check encountered an existing Espresso InputManager.getInstance incompatibility. The Intel API 28 compiler comparison is pending CI. The separate renderer-exit observer changes are not included in this PR.

AI assistance: Codex investigated the logs and implemented these diagnostic changes; validation is listed above.

@cla-bot cla-bot Bot added the cla-signed label Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant