我在IntelliJ Idea社区版中的svn更新或比较操作期间经常遇到同样的错误:
svn: E175002: Received fatal alert: unexpected_message
svn: E175002: OPTIONS request failed on '/projects/repo/home/.'
环境:
但是从命令行可以很好地工作:
D:\projects\repo\home>svn update
Updating '.':
At revision 382293.
有想法日志:
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
我已经尝试了以下步骤:
有人有其他建议吗?
答案 0 :(得分:20)
我和原版海报有一个非常相似的问题。上面拉曼的建议对我不起作用。我的问题很可能是由于在Java 7中运行IntelliJ以及服务于SVN的配置不当的Apache服务器引起的。 Java 7实现了SNI,这可能导致与错误配置的HTTPS服务器的连接失败(之前使用Java 6,它们可以正常工作)。
我以前解决此问题的解决方案是将以下行添加到$ IDEA_HOME / bin / idea64.vmoptions或$ IDEA_HOME / bin / idea64.vmoptions中:
-Djsse.enableSNIExtension=false
这将禁用运行IntelliJ的JVM的SNI扩展(不要在运行应用程序的生产服务器上使用此设置 - 对于运行dev IntelliJ的VM应该没问题)
此回复中的答案是从this generic stackoverflow post
中挑选出来的答案 1 :(得分:4)
在-Dsvnkit.http.sslProtocols=SSLv3
文件中添加IDEA_HOME\bin\idea.exe.vmoptions
选项解决了我的问题。
答案 2 :(得分:0)
关于这个的另一个注释,因为我刚刚遇到它。 Java 8 Update 60(8u60)的发行说明(此处:https://java.com/en/download/faq/release_changes.xml)中有关于禁用密码套件列表位置的说明,该文件位于$JAVA_HOME/jre/lib/security
文件{{1}中}}
您可以通过从禁用列表中删除它们来重新启用各种禁用密码。
某人HTH。