Skip to content

Honor external V8 root in Linux crash diagnostics #838

Description

@wieslawsoltes

Problem

The exact Linux Runtime package gate can build and enter the full V8 test suite, but when a native test crashes the container wrapper does not execute its intended second ctest/GDB diagnostic pass.

Run 35510426945 (job 106077299067) exposed 35 full-V8 failures, including a common startup/teardown SIGSEGV. scripts/build-native-engine-runtime-linux-container.sh checks ICU under a hard-coded repository artifact path even when the workflow supplies --v8-root from the runner cache. The check is false, so the diagnostic block is skipped and CI retains no backtrace or failed binary.

Fix

  • parse and honor the existing --v8-root argument in the Linux container wrapper;
  • retain the existing build-directory variant resolution;
  • on native test failure, rerun the first failing engine binary under batch GDB and print all thread backtraces;
  • keep package/test exit status authoritative;
  • add a shell/source contract proving a supplied external V8 root controls the ICU lookup.

Acceptance

A deliberately crashing native test on the Ubuntu 22.04 container emits a symbolized batch GDB backtrace and the job still fails. Successful builds remain unchanged and no large failure artifact is retained.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingvscode-oss/mergedMerged for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions