porcelain icon indicating copy to clipboard operation
porcelain copied to clipboard

Goon protocol version error

Open ericmj opened this issue 8 years ago • 12 comments

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"

ericmj avatar Nov 28 '15 10:11 ericmj

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

alco avatar Nov 28 '15 16:11 alco

goon -v returns 1.1.1.

ericmj avatar Nov 28 '15 17:11 ericmj

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.

alco avatar Nov 28 '15 18:11 alco

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

ericmj avatar Nov 29 '15 00:11 ericmj

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

alco avatar Dec 01 '15 09:12 alco

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.

critch avatar Feb 25 '16 07:02 critch

@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.

alco avatar Feb 26 '16 13:02 alco

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

critch avatar Mar 11 '16 18:03 critch

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.

harmon25 avatar May 29 '16 16:05 harmon25

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

alco avatar May 29 '16 16:05 alco

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"

zubairshokh avatar Mar 24 '17 09:03 zubairshokh

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.

samhstn avatar Dec 24 '17 16:12 samhstn