Skip to content

runtime: stalls under Rosetta2 with MacOS 14.5  #68485

@flostadler

Description

@flostadler

Go version

go version go1.22.4 darwin/arm64

Output of go env in your module/workspace:

n/a

What did you do?

I have a go amd64 binary that is running fine with Rosetta2 in MacOS 14.4 and earlier. After upgrading to MacOS 14.5 it stalls.

As a workaround, running the binary with GODEBUG=asyncpreemptoff=1 works.

The binary is https://github.com/pulumi/pulumi-aws with version v6.42.0+.

I wasn't able to create a minimal example that triggers this, but to reproduce it you can do the following (you need an AWS account but nothing gets created):

  • install pulumi: brew install pulumi
  • create project: mkdir rosetta-stall-repro && cd rosetta-stall-repro && pulumi new aws-typescript
  • select the affected version (this in turn downloads the go binary): yarn upgrade @pulumi/aws@6.42.0
  • run the arm64 binary (works): pulumi preview
  • download the amd64 binary:
    • pushd ~/.pulumi/plugins/resource-aws-v6.42.0
    • wget https://github.com/pulumi/pulumi-aws/releases/download/v6.42.0/pulumi-resource-aws-v6.42.0-darwin-amd64.tar.gz
    • tar -xvzf pulumi-resource-aws-v6.42.0-darwin-amd64.tar.gz
    • popd
  • run the amd64 binary (stalls): pulumi preview

What did you see happen?

Getting the following error before the runtime stalls:

assertion failed [arm_interval().contains(address)]: code fragment does not contain the given arm address
(CodeFragmentMetadata.cpp:48 instruction_extents_for_arm_address)

CodeFragmentMetadata.cpp seems to be part of Rosetta2:

strings /Library/Apple/usr/libexec/oah/runtime | grep CodeFragmentMetadata.cpp
CodeFragmentMetadata.cpp

What did you expect to see?

The runtime shouldn't stall and execute normally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.OS-Darwincompiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions