I started receiving an SSLv3 Handshake error message when using SourceTree to synchronize a Mercurial repository to Bitbucket. In this post, I’ll show how the issue can be resolved.
The error message is a bit cryptic:
abort:error:_ssl.c:504:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Earlier versions of Mercurial used SSL V3.0 and are now failing when connecting to Bitbucket as a result.
My SourceTree application is up-to-date, but that doesn’t take care of the problem. The issue is that the underlying version of Mercurial needed to be updated.
Fortunately, the solution is an easy one.
You can check the version of Mercurial being used by SourceTree by selecting Tools > Options and then clicking on the Mercurial tab.
In my configuration, SourceTree is set up to use the system version of Mercurial, which was at version 2.7.1. I switched to the embedded version and ran the update via the button on the right of the screen, but the embedded version was only updated to Mercurial 2.6.1.
Ultimately, I had to download the latest version of Mercurial from Selenic’s site.
After I ran the installation, the problem was fixed.