IndexOutOfBound Exception With Subversion Configuration
症状
When configuring Subversion repository or checking out source code, this error is written in the logs:
java.lang.IndexOutOfBoundsException
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:88)
at org.tmatesoft.svn.core.internal.wc.SVNWCProperties.readProperty(SVNWCProperties.java:473)
at org.tmatesoft.svn.core.internal.wc.SVNWCProperties.asMap(SVNWCProperties.java:88)
at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager$PersistentAuthenticationProvider.saveAuthentication(DefaultSVNAuthenticationManager.java:603)
at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.acknowledgeAuthentication(DefaultSVNAuthenticationManager.java:216)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:530)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:257)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:245)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:454)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:97)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:643)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:172)
at com.atlassian.bamboo.repository.svn.SvnRepository.detectCommitsForUrl(SvnRepository.java:261)
原因
A SVN proprietary file that persists user credentials for authentication and authorization against SVN repository is corrupt.
For further information, see the SVNKit bug report below:
ソリューション
The solution is to remove <USER-HOME>/.subversion
. To prevent this issue from occurring again, upgrade your SVNKit library version to 1.2.3 or above.
Upgrading SVNKit might not be straight forward for older Bamboo releases, if the SVNKit API has changed.
In any case, upgrading to latest Bamboo release should resolve this issue. If in doubt contact Atlassian Support for further assistance.