I am having trouble getting Pulumi to run on my Ma...
# aws
s
I am having trouble getting Pulumi to run on my Mac as of late. I has worked previously, but for some reason I am getting errors like the one below. The preview just hangs after it displays
(CodeFragmentMetadata.cpp:53 instruction_extents_for_arm_address)
then when I kill the aws provider process, this is the dump it provides:
Copy code
debug: assertion failed [arm_interval().contains(address)]: code fragment does not contain the given arm address
    (CodeFragmentMetadata.cpp:53 instruction_extents_for_arm_address)

    error: Detected that /Users/jamieburks/.pulumi/plugins/resource-aws-v6.66.2/pulumi-resource-aws exited prematurely.
           This is *always* a bug in the provider. Please report the issue to the provider author as appropriate.
           To assist with debugging we have dumped the STDOUT and STDERR streams of the plugin:assertion failed [arm_interval().contains(address)]: code fragment does not contain the given arm address
    (CodeFragmentMetadata.cpp:53 instruction_extents_for_arm_address)

  pulumi:providers:aws (default_6_66_2):
    error: could not read plugin [/Users/jamieburks/.pulumi/plugins/resource-aws-v6.66.2/pulumi-resource-aws]: exit status -1
Pulumi is the arm64 version. The AWS provider is an x86 version. Could that be the source of this problem? I've tried different versions of the aws provider up to the latest 7.7.0 and haven't found one that works so far.
e
Pulumi is the arm64 version. The AWS provider is an x86 version. Could that be the source of this problem?
Yes We've seen issues like this with the Rosseta interpreter. You really want the arm64 version of the aws provider as well, pulumi should have downloaded that one for you so some funkyness has happened if you've only got the x64 versions.
s
Thanks. Any idea how to force it to download the arm version? Or how to do it manually? Haven’t been able to google anything up so far.
e
They're all just on github releases, so you could just manually extract them to the plugins folder. Would be much better to work out why your pulumi thinks it needs x64 downloads rather than arm64 though. What does
pulumi about
show for the os and arch?
s
pulumi about
reports arm64. I've tried it running
pulumi
directly and running it via
poetry
. All report the same:
Copy code
Host     
OS       darwin
Version  15.5
Arch     arm64
I have tried removing the
.pulumi/plugins
directory and letting it download fresh, and every time the plugin shows as x86:
Copy code
$ file ~/.pulumi/plugins/resource-aws-v6.83.0/pulumi-resource-aws
/Users/jamieburks/.pulumi/plugins/resource-aws-v6.83.0/pulumi-resource-aws: Mach-O 64-bit executable x86_64
Here's the full
pulumi about
output:
Copy code
CLI          
Version      3.196.0
Go Version   go1.25.1
Go Compiler  gc

Plugins
KIND      NAME     VERSION
resource  aws      6.83.0
resource  docker   3.6.1
resource  grafana  0.2.0
language  python   3.196.0
resource  random   4.18.3
resource  sentry   0.0.9

Host     
OS       darwin
Version  15.5
Arch     arm64

This project is written in python: executable='/Users/jamieburks/Library/Caches/pypoetry/virtualenvs/kyc-persona-gateway-4TnDdXZC-py3.13/bin/python3' version='3.13.3'

Dependencies:
NAME                   VERSION
aws-lambda-powertools  2.43.1
duplo                  0.19.90
moto                   5.1.12
pulumiverse_sentry     0.0.9
pytest-asyncio         1.2.0
requests-mock          1.12.1
setuptools             80.9.0

Pulumi locates its logs in /var/folders/r1/yms8yfpn1j7_yvktrktfpln40000gn/T/ by default
warning: Could not access the backend: read ".pulumi/meta.yaml": blob (key ".pulumi/meta.yaml") (code=Unknown): SSOProviderInvalidToken: the SSO session has expired or is invalid
e
Can you clear your plugin directory and run
pulumi install --logtostderr -v10
and send the logs to me at fraser@pulumi.com See if there's anything in there about why you'd be getting x64 downloads
s
Just emailed the logs, but I see errors.
Copy code
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try brew install
    xyz, where xyz is the package you are trying to
    install.
I downloaded the arm version of Pulumi and re-installed it yesterday. Python installs are all installed via homebrew, and it is also the arm version.
We also use poetry to manage virtual environments.
Ok, that was it. When I run your install command under poetry it doesn't error. Sending that log now.
Plugins are arm64 plugins now.
e
Think I'll add some more bits to logging in case this happens in the future, odd that it now seems to work. Wouldn't have thought python things would effect plugin downloads like that.
s
Thanks for the guidance. I'll make a note in our doc to run the install separately just in case.