Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Goon protocol version error #18

Open
ericmj opened this issue Nov 28, 2015 · 12 comments
Open

Goon protocol version error #18

ericmj opened this issue Nov 28, 2015 · 12 comments

Comments

@ericmj
Copy link
Contributor

ericmj commented Nov 28, 2015

Getting the following error when trying to use the goon driver:

Could not start application porcelain: Porcelain.App.start(:normal, []) returned an error: "goon executable at /... does not support protocol version 2.0"
@alco
Copy link
Owner

alco commented Nov 28, 2015

What does goon -v say? Protocol version 2.0 is available since goon v1.1.0

@ericmj
Copy link
Contributor Author

ericmj commented Nov 28, 2015

goon -v returns 1.1.1.

@alco
Copy link
Owner

alco commented Nov 28, 2015

Should work. Could it be the case you have multiple goon executables on your system?

You can also do an isolated test: clone porcelain repo, check it out at the version you're using and put your goon executable into the project root. Then run iex -S mix. To make sure it uses goon, you can also add this to config.exs:

config :porcelain, :driver, Porcelain.Driver.Goon

It works for me in porcelain:master with goon:master.

@ericmj
Copy link
Contributor Author

ericmj commented Nov 29, 2015

It works when inside porcelain, but using the same goon executable doesn't work inside my project. Using porcelain v2.0.0.

@alco
Copy link
Owner

alco commented Dec 1, 2015

@ericmj Can you reproduce it in a test project? Or is your project available publicly?

@critch
Copy link

critch commented Feb 25, 2016

Testing under Windows. Looks like there is an issue with the ackstr. The crypto.rand_bytes seems to produce bytes outside of the ascii range. When passed through cmd.exe, they get munged. Any passes on this test is luck of the draw for getting a ackstr that is completely printable.

Examples of some ackstr values, and the return
<<54, 32, 160, 59, 62, 259, 53,2>> != <<54, 21, 194, 160, 59, 62, 195, 185, 53, 2>>
<<129, 4, 10, 49, 88, 109, 87, 65>> != <<194, 129, 4, 10, 49, 88, 109, 87, 65>>
<<105, 56, 35, 107, 207, 37, 28, 71>> != <<105, 56, 35, 107, 195, 143, 37, 28, 71>>

If I stub the ackstr to a static string that is printable, it passes the version check.

@alco
Copy link
Owner

alco commented Feb 26, 2016

@critch Thanks for the info! I can't say when I'll be able to address this, but I'll look into it at some point.

@critch
Copy link

critch commented Mar 11, 2016

@alco If you even have an idea you wish to toss out, I can spend a little time working on it at some point.

@harmon25
Copy link

harmon25 commented May 29, 2016

I had a similar problem, downloaded latest release from the goon repo for linux_amd64.
Got a protocol error launching porcelain.

I then pulled the goon repo, and built from source myself.
No longer receiving protocol error when launching porcelain app.

Might want to double check the release builds of goon are OK.

@alco
Copy link
Owner

alco commented May 29, 2016

@harmon25 Thanks for the info, I'll have to check it.

@zubairshokh
Copy link

Downloaded goon version 1.1.1 for windows 64. goon -v still shows 1.1.0,
moreover for iex, it shows "goon.exe does not support protocol version 2.0"

@samhstn
Copy link

samhstn commented Dec 24, 2017

I was having this error when running elixir tests when my goon path was inside my elixir project.

Changing:

git clone https://github.com/alco/goon.git && cd goon && go build && export PATH=$PATH:"$(pwd)" && cd -

To:

git clone https://github.com/alco/goon.git $HOME/goon && cd $HOME/goon && go build && export PATH=$PATH:"$(pwd)" && cd -

Fixed the error for me.

Not sure if this is the problem others are having though.

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

No branches or pull requests

6 participants