Skip to content

TEST: Verify ARM canary catches crc-fast 1.4 SIGILL (do not merge)#4609

Draft
vcjana wants to merge 5 commits intomainfrom
test-crc-fast-1.4-v2
Draft

TEST: Verify ARM canary catches crc-fast 1.4 SIGILL (do not merge)#4609
vcjana wants to merge 5 commits intomainfrom
test-crc-fast-1.4-v2

Conversation

@vcjana
Copy link
Copy Markdown
Contributor

@vcjana vcjana commented Apr 17, 2026

DO NOT MERGE — Test PR only

This PR verifies that the ARM64 canary added in #4606 would have caught the
crc-fast 1.4 SIGILL bug that shipped to customers (see #4264, #4380).

What this does:

Expected result:

  • The ARM Lambda canary (Canary (aarch64)) should fail with a runtime error
  • This proves the multi-arch canary would have caught the original bug before merge

After verification: This PR will be closed. The evidence will be linked in #4606.

vcjana added 5 commits April 16, 2026 18:18
Expand the smithy-rs canary to deploy and run ARM64 (aarch64) Lambda
functions in addition to x86_64, catching architecture-specific runtime
bugs like the crc-fast 1.4 SIGILL incident before merge.

Changes:
- Add --architecture flag to canary runner (run.rs), wire through to
  Lambda creation with .architectures() and arch-aware runtime selection
  (provided.al2 for x86_64, provided.al2023 for aarch64)
- Add architecture-suffixed Lambda function names to prevent collisions
  when both canaries run in parallel
- Accept architecture as 5th arg in run-canary script
- Skip cross-compilation tool when building natively on ARM
- Reduce hash truncation in bundle names (24->16 chars) to leave
  headroom for architecture suffix within Lambda 64-char name limit
- Add canary-arm CI job that runs directly on ubuntu-24.04-arm without
  Docker (the existing Docker build image is x86_64-only in ECR)
- Existing x86_64 canary is unchanged

Supersedes #4428. Addresses #4380.
The canary runner builds the Lambda binary with --target=aarch64-unknown-linux-musl,
but the musl target needs to be explicitly added via rustup since it's not included
by default in the stable toolchain.
@github-actions
Copy link
Copy Markdown

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

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.

1 participant