[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Check-out fails with LANG=C

From: Michael Pruemm <mpruemm_at_gmail.com>
Date: Tue, 9 Jul 2013 12:55:29 +0000 (UTC)

When checking out one of the subsystems from our repository, the
check-out always fails for one of my colleagues with the following
error messages after about 2/3 of the files:

svn: E155009: Failed to run the WC DB work queue associated with
'$HOME/C8-32-C-serf/CCS/db/src', work item 9694 (file-install
CCS/db/src/dbBackupSingleAttr.c 1 0 1 1)
svn: E000012: Can't create a character converter from 'UTF-8' to native encoding

The same check-out works for me without any problems using the same
svn client on the same machine.

The difference is in the setting of the LANG environment variable.
When set to "en_US.UTF-8", everything works as it should, but with
LANG=C, the check-out always fails.

The svn client is version 1.8.0 (from the CollabNet rpms), 32-bit(!),
running on a 64-bit Linux installation.

I ran several experiments with both 32-bit and 64-bit installs of
1.7.10 and 1.8.0, all on the same and all checking out to a local
disk, with both language settings. The results are below.

Summary: the 64-bit clients worked in both versions, only the 32-bit
1.8.0 client fails. The 1.7.10 client failed with a different error
when I tried to use serf for better comparison to the 1.8.0 client,
but worked fine with the default neon library.

We would like to switch to 1.8.x but are unfortunately forced to run
32-bit clients because we need to interface with a 32-bit Exclipse
installation for vxWorks.

But I don't see why 64-bit client should be required in the first
place. A simple thing like a check-out should not consume large
amounts of memory. I suspect that there is some kind of memory leak
here. The results below show that 1.8.0 requires much more memory than
1.7.10 with neon (see the numbers for "maxresident").

- Michael

The language settings used in the commands below:

l1=en_US.UTF-8
l2=C

The check-out is always from the same URL to a fresh working copy. The
name of the wc is on the line below the command. The following lines
are the output of the "time" command or the error message from svn.

1.7.10 x64
----------

LANG=$l1 time svn co $url -r244060 C7-$l1-neon
C7-en_US.UTF-8-neon
23.79user 17.07system 2:13.26elapsed 30%CPU (0avgtext+0avgdata
78416maxresident)k
568inputs+1697520outputs (0major+5039minor)pagefaults 0swaps

LANG=$l2 time svn co $url -r244060 C7-$l2-neon
C7-C17.73user 12.47system 0:35.69elapsed 84%CPU (0avgtext+0avgdata
79008maxresident)k
5208inputs+1696848outputs (0major+5070minor)pagefaults 0swaps
-neon

LANG=$l1 time svn co $url -r244060 C7-$l21serf --config-option
servers:global:http-library=serf
svn: E120190: Error running context: APR does not understand this error code
0.01user 0.00system 0:00.03elapsed 64%CPU (0avgtext+0avgdata 16208maxresident)k
0inputs+0outputs (0major+1137minor)pagefaults 0swaps

1.7.10 i386
-----------

LANG=$l1 time svn co $url -r244060 C7-32-$l1-neon
C7-32-en_US.UTF-8-neon
19.79user 11.30system 0:37.14elapsed 83%CPU (0avgtext+0avgdata
71760maxresident)k
1008inputs+1697720outputs (2major+4589minor)pagefaults 0swaps

LANG=$l2 time svn co $url -r244060 C7-32-$l2-neon
C7-32-C-neon
19.65user 12.69system 0:36.54elapsed 88%CPU (0avgtext+0avgdata
71200maxresident)k
2624inputs+1696488outputs (17major+4547minor)pagefaults 0swaps

LANG=$l1 time svn co $url -r244060 C7-32-$l1-serf --config-option
servers:global:http-library=serf
svn: E120190: Error running context: APR does not understand this error code
0.00user 0.00system 0:00.13elapsed 13%CPU (0avgtext+0avgdata 12496maxresident)k
664inputs+0outputs (5major+881minor)pagefaults 0swaps

1.8.0 x64
---------

LANG=$l1 time svn co $url -r244060 C8-64-$l1-serf
C8-64-en_US.UTF-8-serf
17.40user 12.76system 0:35.28elapsed 85%CPU (0avgtext+0avgdata
391952maxresident)k
1360inputs+1772808outputs (1major+24635minor)pagefaults 0swaps

LANG=$l2 time svn co $url -r244060 C8-64-$l2-serf
C8-64-C-serf
18.30user 13.53system 0:36.52elapsed 87%CPU (0avgtext+0avgdata
4858336maxresident)k
11992inputs+1771488outputs (50major+303908minor)pagefaults 0swaps

1.8.0 x32
---------

LANG=$l1 time svn co $url -r244060 C8-32-$l1-serf
C8-32-en_US.UTF-8-serf
16.56user 10.61system 0:31.15elapsed 87%CPU (0avgtext+0avgdata
336768maxresident)k
2136inputs+1772992outputs (3major+21161minor)pagefaults 0swaps

LANG=$l2 time svn co $url -r244060 C8-32-$l2-serf
svn: E155009: Failed to run the WC DB work queue associated with
'$HOME/C8-32-C-serf/CCS/db/src', work item 9694 (file-install
CCS/db/src/dbBackupSingleAttr.c 1 0 1 1)
svn: E000012: Can't create a character converter from 'UTF-8' to native encoding
12.61user 9.24system 0:24.90elapsed 87%CPU (0avgtext+0avgdata
3369152maxresident)k
928inputs+1279336outputs (1major+210678minor)pagefaults 0swaps
Received on 2013-07-09 14:56:25 CEST

This is an archived mail posted to the Subversion Users mailing list.