svn: Processing REPORT request response failed: XML document structures must start and end within the same entity

Still need help?

The Atlassian Community is here for you.

Ask the community

Problem

Indexing an SVN repository fails with the following error:

ERROR [InitPing1 < repository_name>] fisheye BaseRepositoryScanner-handleSlurpException - Problem processing revisions from repo < repository_name> due to class com.cenqua.fisheye.rep.RepositoryClientException - org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (<PATH_TO_FILE>) 
svn: REPORT request failed on '<PATH_TO_FILE>'
com.cenqua.fisheye.rep.RepositoryClientException: org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (<PATH_TO_FILE>) 
svn: REPORT request failed on '<PATH_TO_FILE>'
...
    Caused by: org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (<PATH_TO_FILE>) 
svn: REPORT request failed on '<PATH_TO_FILE>'
...
    Caused by: org.tmatesoft.svn.core.SVNException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (<PATH_TO_FILE>) 
svn: REPORT request failed on '<PATH_TO_FILE>'  

Cause

SVNKit is failing to retrieve the entire response from the SVN server.

This may be caused by the following options.

Cause #1 - Authentication

SVNKit is using negotiated authentication rather than Basic Authentication.

Cause #2 - Connection truncated

The connection from SVNKit to the svn server is truncated.

This is usually the case when the changeset to be indexed is significantly big.

Resolution

Resolution for Cause #1 - Authentication

  • Force SVNKit to use Basic Authentication by setting the system property -Dsvnkit.http.methods=Basic (in addition to any system properties that are already provided via that environment variable) in FISHEYE_OPTS (see Environment variables for reference).
  • Restart Fisheye/Crucible

Resolution for Cause #2 - Connection truncated

  • Add the -Dsvnkit.http.spoolDirectory=<path_to_a_temporary_folder> in the FISHEYE_OPTS (see Environment variables for reference). For example: 
-Dsvnkit.http.spoolDirectory=/tmp/fisheye/spooldirectory
  • Restart Fisheye/Crucible


If your Fisheye instance is started as a Windows service, the Windows Environment Variables are not picked and these settings need to be adjusted in the service. Therefore, can you please try the following steps:

  1. Stop the FishEye/Crucible instance;
  2. Go to Windows Start Menu > All Programs > FishEye > Configure FishEye. If you can't find this, please do as follows:
    1. Go to the FishEye Windows service properties, in order to determine its Service Name;
    2. Using Command Prompt, go to <FishEye Installation Directory>\bin;
    3. Run prunmgr.exe "//ES//Fisheye" or prunmgr.exe "//ES//Atlassian Fisheye" or prunmgr.exe "//ES//Atlassian Crucible", depending on the Service Name determined right above.
  3. In the Atlassian FeCru Properties window, go to Java tab;
  4. Configure the parameters:

    -Dsvnkit.http.methods=Basic -Dsvnkit.http.spoolDirectory=c:\Atlassian\spoolDirectory
  5. Close the Atlassian FeCru Properties window;
  6. Start the FishEye/Crucible service.


Alternative resolution

Alternatively, the Native Subversion Client can be used instead.


Last modified on Apr 4, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.