Hi

I have a problem getting the svn log in a branch after sync-merging a commit 
from trunk.
This commit in trunk is a merge of an old and complex branch with many commits.

The client accessing the repository over svn:// url.
(paths and text is redacted)
The  head revision is: 10801

When I run the following command on the client (in the working copy), it prints 
a long partial xml-log output, then hangs.
/usr/bin/svn log --xml -g -v -r 10701:HEAD /path/to/branch-wc

When observing in "top", the command uses no visible CPU resources on hang. (I 
waited ca. 2 minutes)
The hanging command does mot exits on CTRL-c, it does not exits on "kill -TERM 
pid", I have to send "kill -KILL pid" to terminate it.

When I run the command with strace it hangs at read(4,
...SNIP...
read(4, " ( ) ( 4:file true false ) ) ( 1"..., 16384) = 16384
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d83000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d81000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d7f000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d7d000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d7b000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d79000
read(4, "***/****-***_redacted_*****_****"..., 16384) = 14773
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d77000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d75000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d73000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d71000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d6f000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x7f63f1d6d000
read(4,

When I observe the server, there is a CPU activity at the begin, but when the 
client hangs, the server seems to be in idle.
Just a corresponding svnserve process is there with no visible cpu usage.
In svnserve.log is nothing relevant to see.

The svnserve command is:
svnserve -d -r /path/to/repositories \
--log-file=/var/log/svnserve.log \
--memory-cache-size 1024 \
--cache-txdeltas yes \
--cache-fulltexts yes

When I try to get the xml-log on the server with the corresponding file:// 
repository URL:
/usr/bin/svn log --xml -g -v -r 10701:HEAD 
file://path/to/local/repositories/project/branch
The command finishes in ca 5-10 seconds and I get the xml output, but the 
output has a way too many </logentry> lines.

There are 1217 occurrences of the string “<logentry" and 33191 occurrences of 
the string "</logentry>" in the output xml.
There are several thousand lines of </logentry> in a row in many places in 
repeated blocks.

Details:
Client and Server OS:
Linux 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1+deb10u1 (2020-04-27) x86_64 
GNU/Linux

The repository is ca. 4 GB.
Running "svnadmin verify" on the server founds no errors.
I have no other problems with the server, checkout and commit works normal.

svn --version
svn, version 1.10.4 (r1850624)
   compiled Feb 10 2021, 20:15:45 on x86_64-pc-linux-gnu
 
Copyright (C) 2019 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
 
The following repository access (RA) modules are available:
 
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme
 
The following authentication credential caches are available:
 
* Plaintext cache in /home/username/.subversion
* Gnome Keyring
* GPG-Agent
* KWallet (KDE)


Googling around gives me these two somewhat related hits:
https://issues.apache.org/jira/browse/SVN-4856
https://issues.apache.org/jira/browse/SVN-4711

But I do'nt use the --search parameter.

Is this a bug or are there any suggestions how to solve this problem?

Thanks,

Attila


Reply via email to