heroku/cli

Error messages shown when using heroku run on ARM mac

fschwahn opened this issue · 11 comments

What is the current behavior?

Use heroku run <command> on a Macbook with ARM processor (M1 / M2). After the command has run, an error message will be shown. I assume this only happens when Rosetta is not installed.

Example:

> heroku run bash -a app-name
Running bash on ⬢ app-name... up, run.123 (Standard-1X)
    Error: spawn Unknown system error -86
    Code: Unknown system error -86
~ $

NOTE: I can interact with bash normally, so this does not prevent using heroku run.

What is the expected behavior?

This should not produce any warnings / error messages.

  • Heroku: heroku/8.4.2 darwin-arm64 node-v16.19.0
  • macOS 13.5.1 (22G90)

Thank you for the report.
Fixed in v8.4.3.

@ryandagg Thanks for looking into this, but this error still happens after upgrading:

➜  ~ heroku -v
heroku/8.4.3 darwin-arm64 node-v16.19.0
➜  ~ heroku run bash -a app-name
Running bash on ⬢ app-name... up, run.5134 (Standard-1X)
    Error: spawn Unknown system error -86
    Code: Unknown system error -86
~ $ 

@fschwahn Thank you for letting us know. I use an M1 and do not have this issue. Are you seeing this on all apps or just one/some? I do have Rosetta installed, but I am not running this process with it to the best of my knowledge.

% heroku -v
heroku/8.4.3 darwin-arm64 node-v16.19.0
% heroku run bash -a heroku-cli-test-staging
Running bash on ⬢ heroku-cli-test-staging... up, run.5182 (Private-M)
~ $ echo hi fschwahn
hi fschwahn
~ $ exit
exit

I have checked again, and it seems to happen unreliably. I'm confused - I just ran the following:

➜  ~ heroku run bash -a app-foo                         
Running bash on ⬢ app-foo... up, run.1515 (Standard-1X)
~ $ exit
exit
➜  ~ heroku run bash -a app-bar   
Running bash on ⬢ app-bar... up, run.9232 (Standard-1X)
    Error: spawn Unknown system error -86
    Code: Unknown system error -86
~ $ exit
exit
➜  ~ heroku run bash -a app-baz      
Running bash on ⬢ app-baz... up, run.7420 (Standard-1X)
~ $ exit
exit
➜  ~ heroku run bash -a app-bar
Running bash on ⬢ app-bar... up, run.4558 (Standard-1X)
~ $ 

On the first invocation of app-bar it showed the error, but on the second invocation it is gone.

@fschwahn just checking in on this issue. Is this problem still occurring?

yes, still happening

Thank you. We will look into it further.

@fschwahn could you please share which versions of the CLI, node, and yarn you are using?

I'm not using yarn, heroku is installed from homebrew.

➜  ~ heroku -v
heroku/8.10.0 darwin-arm64 node-v16.20.2

I've been working around this problem by patching the node-notifier package. Similar to the comment here:
mikaelbr/node-notifier#361 (comment)