Community
Participate
Working Groups
Steps to reproduce: 1. in Eclipse preferences under General -> Network Connections -> SSH2 point SSH2 home to an empty folder (you may need to restart Eclipse afterwards) 2. try to clone a repository via SSH, this is expected to fails since no SSH key is available for the user, the clone wizard fails on the second page with a 'Tansport Error': "Cannot list the available branches. Reason: ssh://<user>@<host>:<port>/<path>: Auth fail". Looking at the error details just says 'Auth fail'. Expected: The error message should directly tell the user that he has no SSH key configured and this is why SSH communication is not possible. Ideally it should be possible to directly open the SSH preferences from the error dialog. 'Auth fail' is quite generic and doesn't point the user directly to the root cause.
We really should do something about this error, during the last days I saw many users who made their first steps with EGit/Gerrit who got simply stuck with this error. It looks like there can be various reasons to cause it (no SSH key, wrong proxy settings etc.).
I've just pushed patch for a review[1] which add proper error message to clone wizard when there is no SSH key configured. I don't have any idea how we could verify mentioned proxy configuration, any hints would be appreciated [1] https://git.eclipse.org/r/5976
The message when the SSH keys can't be found is definitely helpful as it points you in the right direction. Other problems, such as when the SSH key is found but is invalid, still result in a confusing "Session is down" error. I can't think of any way that we could recognize proxy configuration problems or any of the other specific things that could possibly lead to the transport error, but maybe it would be helpful if a customized error dialog was displayed (rather than the Transport Error ErrorDialog), with a somewhat generic message suggesting that you might want to review Network Connection -> SSH2 preferences. I kind of like the idea of even having a link to this preference page, but this might get a little window happy, and certainly wouldn't be worthwhile if it's necessary to restart Eclipse to have changed SSH2 preference settings take effect anyway.
It seams that JGit JschConfigSessionFactory is swallowing JSchException "Auth fail" exceptions. I've proposed fix for this issue[1], with it users will get message like: Cannot list the available branches. Reason: ssh://<user>@<host>:<port>/<path>: Auth fail Not "Session is down" Idea of having specialized dialog window for ssh connection problem sounds good. I'll try to come up with a proposition of such dialog in separate commit. [1] https://git.eclipse.org/r/5988
EGit fix https://git.eclipse.org/r/5976 merged as af8199e2a1d70f28f280c9f6319d073f5861d1ac JGit fix https://git.eclipse.org/r/5988 merged as 28d48b87ad41153ba3d53e75258e2bbbaaa0ab44 still keeping this open since Dariusz promised to also show the full error message in the error dialog the EGit clone wizard raises (with these 2 patches it's shown in the notification area of the underlying wizard page but not in the modal error dialog popping up on top of the wizard page)
Created attachment 215743 [details] proposed new ls-branches failure dialog
I've just pushed change[1] for a review with contains new custom error dialog for failed ls-branches operation. You can also view it in attached screenshot. [1] https://git.eclipse.org/r/6006
I think this is great. A few minor suggestions: "Please check yours:" -> "Please check your:" And, since not everybody realizes where Eclipse gets the SSH settings: "SSH settings" -> "Network Connection -> SSH2 Eclipse preferences" (or something to that effect) Thanks! Steve
(In reply to comment #8) > I think this is great. A few minor suggestions: > > "Please check yours:" -> "Please check your:" > > And, since not everybody realizes where Eclipse gets the SSH settings: > > "SSH settings" -> "Network Connection -> SSH2 Eclipse preferences" > (or something to that effect) I've applied your suggestions in second patch set.
merged change 6006 as f8982e557ce997c0c12846ef12ff360d53cd5b5f
The fix caused bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=381910 which we consider to be more severe because it affects functionality. Therefore we reverted the change 1b3ef1e68951000f791a1e355 before the stable-2.0 release.
I proposed new change[1] that improves "Auth fail" message. Unfortunately we cannot check whenever users is using password or ssh keys to authenticate them selves in EclipseSshSessionFactory therefore I decided to simply improve error message by adding information about potential error cause (invalid password or missing ssh keys) [1] https://git.eclipse.org/r/#/c/6304/
merged as 6f9181f35a93974c1533044d3a6b854161206fd2