Upgrading Fisheye/Crucible to 3.2.0, error when communicating with git repositories using SSH
Asked by fcbeyer:

I cannot use the upload private ssh key method as it always fails to save the private key. I tried generating a pair of keys (as recommended), I placed the public key in my user on Stash. whenever I test the connection it fails.

Error testing connection.  
CreateProcess error=2, The system cannot find the file specified  
at java.lang.ProcessImpl.create(Native Method)  
at java.lang.ProcessImpl.\<init\>(ProcessImpl.java:385)  
at java.lang.ProcessImpl.start(ProcessImpl.java:136)  
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)  
at com.atlassian.utils.process.ExternalProcessImpl.createDefaultProcess(ExternalProcessImpl.java:196)

Connection failed.


Answers:
author: Nick
body: Which file can the system not find?

If you are running FishEye on windows, you may have hit <https://jira.atlassian.com/browse/FE-4984> which has been fixed in 3.2.1.

Otherwise we will need to see more of you stacktrace and logs. Also please ensure tha the git executable is still available on your instance to the fisheye runuser.

Feel free to raise a support request immediately and reference this question with more information and logs if you don't wish to add those things publicly here.


author: fcbeyer
body: Hi Nick,

We upgraded on Friday and that seems to have fixed our problem. Thanks!


author: fcbeyer
body: Hi Nick,

Thanks for answering so quickly. I am going to try upgrading to 3.2.1 and see if that fixes the problem. If it does not I will update this question with more logs and more information. As to your question "Which file can the system not find?" I am guessing it can't find "echo" I have no idea. Here are more errors

Caused by: com.atlassian.utils.process.ProcessNotStartedException: echo could not be started

at com.atlassian.utils.process.ExternalProcessImpl.start(ExternalProcessImpl.java:256)

at com.atlassian.utils.process.ExternalProcessImpl.execute(ExternalProcessImpl.java:377)

at com.cenqua.fisheye.util.FileSystemUtils.privatise(FileSystemUtils.java:71)

... 165 more

Caused by: java.io.IOException: Cannot run program "echo": CreateProcess error=2, The system cannot find the file specified

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)

at com.atlassian.utils.process.ExternalProcessImpl.createDefaultProcess(ExternalProcessImpl.java:196)

at com.atlassian.utils.process.ExternalProcessImpl.createProcess(ExternalProcessImpl.java:204)

at com.atlassian.utils.process.ExternalProcessImpl.start(ExternalProcessImpl.java:253)

comments: author: Nick
body: Hi Rick,

That definitely looks like the same bug as fixed in 3.2.1. Can you please try 3.2.1 and update this question with the result.

Thanks,

Nick


author: Mark Lokowich
body: I'm having git/gitolite communication errors on Crucible 3.1.5. I generated SSH keys, and uploaded the public key per gitolite convention. But when testing the connection I get this error:

Fisheye is using '/usr/bin/ssh' to authenticate with SSH authenticated repositories.  

Error testing connection.  
Error talking to repository:  

at com.atlassian.fisheye.git.GitScmConfig.testConnection(GitScmConfig.java:148)  
at com.cenqua.fisheye.RepositoryConfig.testConnection(RepositoryConfig.java:444)  
at com.atlassian.fisheye.spi.admin.impl.DefaultRepositoryAdminService.testConnectionFor(DefaultRepositoryAdminService.java:567)  
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  

Connection failed.


Tags: fisheye-crucible-administration