5
votes

I constantly get the same error during svn update or compare operations in IntelliJ Idea Community edition:

svn: E175002: Received fatal alert: unexpected_message
svn: E175002: OPTIONS request failed on '/projects/repo/home/.'

Environment:

  • IntelliJ Idea Community edition 12.0.3
  • SVN 1.7.7
  • Windows 7 x64

But it pretty good works from command line:

D:\projects\repo\home>svn update
Updating '.':
At revision 382293.

There is Idea log:

2013-02-05 00:43:53,684 [  17976]   INFO -  org.jetbrains.idea.svn.SvnVcs - SENT
OPTIONS /projects/repo/home HTTP/1.1
Host: subversion.repo.home.com
User-Agent: SVN/1.7.7 SVNKit/1.7.7-SNAPSHOT (http://svnkit.com/) r9513_v20121218_1752
Keep-Alive:
Connection: TE, Keep-Alive
TE: trailers
Content-Length: 0
Accept-Encoding: gzip
Content-Type: text/xml; charset="utf-8"
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
DAV: http://subversion.tigris.org/xmlns/dav/svn/mergeinfo
DAV: http://subversion.tigris.org/xmlns/dav/svn/log-revprops


2013-02-05 00:43:53,957 [  18249]   INFO -  org.jetbrains.idea.svn.SvnVcs - socket output stream requested... 
2013-02-05 00:43:53,957 [  18249]   INFO -  org.jetbrains.idea.svn.SvnVcs - Received fatal alert: unexpected_message 
javax.net.ssl.SSLException: Received fatal alert: unexpected_message
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
    at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1977)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1093)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328)
    at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
    at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    at org.tmatesoft.svn.core.internal.util.SVNLogOutputStream.flush(SVNLogOutputStream.java:48)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:316)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:168)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:449)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:367)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:355)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:708)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:628)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1016)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
    at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:46)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:31)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:291)
    at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2461)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.validationImpl(SvnAuthenticationNotifier.java:319)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.passiveValidation(SvnAuthenticationNotifier.java:303)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.isAuthenticatedFor(SvnAuthenticationNotifier.java:227)
    at org.jetbrains.idea.svn.SvnVcs.isVcsBackgroundOperationsAllowed(SvnVcs.java:1177)
    at com.intellij.openapi.vcs.changes.committed.CommittedChangesCache.loadIncomingChanges(CommittedChangesCache.java:589)
    at com.intellij.openapi.vcs.changes.committed.CommittedChangesCache$8.run(CommittedChangesCache.java:693)
    at com.intellij.openapi.progress.ProgressManagerQueue.runStuff(ProgressManagerQueue.java:62)
    at com.intellij.openapi.progress.ProgressManagerQueue.runStuff(ProgressManagerQueue.java:23)
    at com.intellij.openapi.progress.AbstractTaskQueue$MyWorker.run(AbstractTaskQueue.java:78)
    at com.intellij.openapi.progress.ProgressManagerQueue$1.run(ProgressManagerQueue.java:33)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:191)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:406)
    at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:465)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153)
2013-02-05 00:43:53,959 [  18251]   INFO -  org.jetbrains.idea.svn.SvnVcs - svn: E175002: Received fatal alert: unexpected_message 
java.lang.Exception: svn: E175002: Received fatal alert: unexpected_message
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:739)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:367)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:355)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:708)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:628)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1016)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
    at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:46)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:31)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:291)
    at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2461)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.validationImpl(SvnAuthenticationNotifier.java:319)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.passiveValidation(SvnAuthenticationNotifier.java:303)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.isAuthenticatedFor(SvnAuthenticationNotifier.java:227)
    at org.jetbrains.idea.svn.SvnVcs.isVcsBackgroundOperationsAllowed(SvnVcs.java:1177)
    at com.intellij.openapi.vcs.changes.committed.CommittedChangesCache.loadIncomingChanges(CommittedChangesCache.java:589)
    at com.intellij.openapi.vcs.changes.committed.CommittedChangesCache$8.run(CommittedChangesCache.java:693)
    at com.intellij.openapi.progress.ProgressManagerQueue.runStuff(ProgressManagerQueue.java:62)
    at com.intellij.openapi.progress.ProgressManagerQueue.runStuff(ProgressManagerQueue.java:23)
    at com.intellij.openapi.progress.AbstractTaskQueue$MyWorker.run(AbstractTaskQueue.java:78)
    at com.intellij.openapi.progress.ProgressManagerQueue$1.run(ProgressManagerQueue.java:33)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:191)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:406)
    at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:465)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153)
2013-02-05 00:43:53,960 [  18252]   INFO -  org.jetbrains.idea.svn.SvnVcs - svn: E175002: Received fatal alert: unexpected_message 
2013-02-05 00:43:53,960 [  18252]   INFO - .svn.SvnAuthenticationNotifier - some other exc 
org.tmatesoft.svn.core.SVNException: svn: E175002: Received fatal alert: unexpected_message
svn: E175002: OPTIONS request failed on '/projects/repo/home'
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:106)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:90)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:741)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:367)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:355)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:708)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:628)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1016)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
    at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:46)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteGetInfo.run(SvnRemoteGetInfo.java:31)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:291)
    at org.tmatesoft.svn.core.wc.SVNWCClient.doInfo(SVNWCClient.java:2461)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.validationImpl(SvnAuthenticationNotifier.java:319)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.passiveValidation(SvnAuthenticationNotifier.java:303)
    at org.jetbrains.idea.svn.SvnAuthenticationNotifier.isAuthenticatedFor(SvnAuthenticationNotifier.java:227)
    at org.jetbrains.idea.svn.SvnVcs.isVcsBackgroundOperationsAllowed(SvnVcs.java:1177)
    at com.intellij.openapi.vcs.changes.committed.CommittedChangesCache.loadIncomingChanges(CommittedChangesCache.java:589)
    at com.intellij.openapi.vcs.changes.committed.CommittedChangesCache$8.run(CommittedChangesCache.java:693)
    at com.intellij.openapi.progress.ProgressManagerQueue.runStuff(ProgressManagerQueue.java:62)
    at com.intellij.openapi.progress.ProgressManagerQueue.runStuff(ProgressManagerQueue.java:23)
    at com.intellij.openapi.progress.AbstractTaskQueue$MyWorker.run(AbstractTaskQueue.java:78)
    at com.intellij.openapi.progress.ProgressManagerQueue$1.run(ProgressManagerQueue.java:33)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:191)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:406)
    at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:465)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:153)
Caused by: javax.net.ssl.SSLException: Received fatal alert: unexpected_message
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
    at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1977)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1093)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328)
    at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
    at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    at org.tmatesoft.svn.core.internal.util.SVNLogOutputStream.flush(SVNLogOutputStream.java:48)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:316)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:168)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:449)
    ... 39 more

I have already tried following steps:

  1. Restart Idea;
  2. Re-checkout project;
  3. Re-install svn client;

Does anybody have additional suggestion?

3

3 Answers

20
votes

I have had a very similar problem to the original poster. The suggestion by Raman above did not work for me. My problem was most likely caused by running IntelliJ in Java 7 combined with a badly configured Apache server serving the SVN. Java 7 implements SNI which can cause connections to incorrectly configured HTTPS servers to fail (where previously with Java 6 they would work just fine).

The solution I used to get around this problem was to add the following line to $IDEA_HOME/bin/idea64.vmoptions or $IDEA_HOME/bin/idea64.vmoptions as appropriate:

-Djsse.enableSNIExtension=false

This will disable SNI extensions for the JVM running IntelliJ (don't use this setting on production server running application - should be ok for VM running dev IntelliJ)

The answer in this reply was culled from this generic stackoverflow post

4
votes

Adding -Dsvnkit.http.sslProtocols=SSLv3 option in IDEA_HOME\bin\idea.exe.vmoptions file resolved issue for me.

See http://youtrack.jetbrains.com/issue/IDEA-90335

0
votes

Just another note on this as I just ran into it. There is a note about this in the release notes for Java 8 Update 60 (8u60) (here: https://java.com/en/download/faq/release_changes.xml) about where the disabled cipher suites are listed, which is in $JAVA_HOME/jre/lib/security in the file java.security.

You can re-enable various disabled ciphers by removing them from the disabled list.

HTH someone.