-
Notifications
You must be signed in to change notification settings - Fork 80
"Error: Native host has exited" on macOS with Chrome #197
Comments
Hey, there are two common reasons on why this can happen on Mac, let's try them first:
|
I do get a new Chrome window (though not a new entry in the App Switcher), and the problem can be reproduced with no differences in that window. |
OK, do you have |
Yes, I have
My
My
|
Try to make a symlink I hardcoded a few common paths which are checked even if $PATH is not set, |
This is almost certainly the problem. I had entirely forgotten that I had injected some custom code to fix the PATH into the old version of Browserpass, and didn't re-inject when I updated to the release version. Thanks. Would it be easy, do you think, to add a configuration file for Browserpass in |
I guess, but it feels like a terrible hack and is not simpler than making a symlink... Maybe as an alternative we could add a note to the README.md, saying that if it doesn't work on macOS and if running |
Just so you know, editing the contents of In my case, it would be possible for me to create a symlink into The whole idea of the PATH is that it's customizable. "Put all binaries into the same directory", to me, seems like a much worse hack than allowing a way to customize the PATH for a specific application. Ideally, we'd say that you should set up your PATH in the environment before launching the browser, but unfortunately macOS does not provide any way to do this. It's an unfortunate situation all around, but without the operating system providing a good system for handling the issue, I think it has to be handled at the application level. |
But if you have any version of GPG in The PATH issue can also be handled at the launcher level, for example I use Cerebro and I had someone confirm that on macOS it fixes PATH, i.e. if you launch a browser from it, it will get PATH propagated. |
Why not a configuration option to specify the actual path to the GPG binary? That seems more consistent with how other things handle external binary dependencies. It could be set in a .config file, but it could also be a setting in the browserpass addon itself as long as there's a way to send that path to the |
Because I don't know yet reasons against having a symlink to gpg binary in |
What if I do not have administrator access to the system and GPG is only installed in In any case, thanks for the pointer to Cerebro. I will check it out, since it sounds like the correct solution to PATH difficulties (although given that it's not a solution officially supported by the operating system, unlike on Linux where fixing this is more standard, it may or may not be reasonable to require people to install it for Browserpass). |
Valid idea about the lack of admin rights, I would however recommend anyone thinking about working on a PR to wait until we know of at least one person who is unable to create a symlink in Also, I've just realized that yet another workaround is to change the manifest file, and put here not path to the browserpass binary, but to a wrapper script https://github.com/dannyvankooten/browserpass/blob/master/chrome/host.json#L4 browserpass.sh:
|
Changing the manifest file is what I did last time, and it works. The downside is that it breaks and has to be fixed again when I update Browserpass. In this case I had forgotten about the workaround, since it had been a few months, and filed a spurious bug report ;) |
I have solved this problem to my satisfaction by using my For people who would prefer not to do this, I still think an |
General information
Exact steps to reproduce the problem
browserpass-darwinx64.zip
from the v2.0.8 release on GitHub.install.sh
and select1) Chrome
.What should happen?
I should be prompted for my passphrase via
gpg-agent
.What happened instead?
The error message
Error: Native host has exited
is displayed immediately.The text was updated successfully, but these errors were encountered: