You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Erik Pilz <ep...@altastrada.com> on 2006/07/12 03:26:49 UTC

checkout, update, and commit are slow using WinXP client with a WebDav repo

Hello there. I'm looking for a bit of help troubleshooting a WinXP 
client problem. Executing any of the "checkout," "update," and "commit" 
commands against a WebDav repository is really slow (e.g., checking out 
a small repository takes about 7-8 minutes). The requests never fail, 
they just take a really long time to complete. I don't have any problems 
working with repositories that use the svn network protocal, just ones 
that use WebDav.

I've tried a few different versions of the SVN client for WinXP, 
TortoiseSVN, and Subclipse. All exhibit the same problem. Currently, I'm 
working with the SVN command line client, version 1.3.2 (r19776) on a 
machine running WinXP SP2 (with all current patches).

I ran Ethereal to capture some information about the conversation. 
Here's the only interesting HTTP request that I noticed:

--- Begin Ethereal Snip ---
REPORT /qed/!svn/vcc/default HTTP/1.1\r\n
Host: svn.pilzner.com
User-Agent: SVN/1.3.2 (r19776) neon/0.25.5
Connection: TE
TE: trailers
Content-Type: text/xml
Accept-Encoding: gzip
Accept-Encoding: gzip
<S:update-report send-all="true" 
xmlns:S="svn:"><S:src-path>http://svn.pilzner.com/qed</S:src-path>
<S:target-revision>3</S:target-revision><S:entry rev="3" 
start-empty="true"></S:entry></S:update-report
--- End Ethereal Snip ---

When the server receives the request it responds with a 400 status code 
(bad request). I'm assuming that this happens because the XML body isn't 
well-formed (the right angle bracket to close the <S:update-report> 
element is missing). The other interesting thing about this request is 
that after this there's no network traffic for several minutes.

Eventually the SVN client re-sends the request with a well-formed XML 
body and the server responds with a status code of 200. The SVN command 
then succeeds.

I'd appreciate any help troubleshooting this.

Thanks,
Erik




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by "D.J. Heap" <dj...@gmail.com>.
On 7/14/06, Garrett Rooney <ro...@electricjellyfish.net> wrote:
> On 7/13/06, D.J. Heap <dj...@gmail.com> wrote:
>
> > It looks like debugging is still turned off in neon on Win32 by
> > default -- you have to tweak neon\config.hw to add "#define
> > NE_DEBUGGING 1" manually and then rebuild neon.  After doing that,
> > setting the neon-debug-mask works for me.  I'm not sure if there is
> > some reason it is off by default -- performance concerns, maybe.
>
> I'm not sure if there's a reason for it, but I'd LOVE to get it
> changed.  It's quite irritating when debugging problems on windows to
> not be able to get the full neon dump.
>


I don't see a way to do it on Win32 other than patching the config.hw
or neon.mak files, but I sent a message to the neon list asking about
it.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On 7/13/06, D.J. Heap <dj...@gmail.com> wrote:

> It looks like debugging is still turned off in neon on Win32 by
> default -- you have to tweak neon\config.hw to add "#define
> NE_DEBUGGING 1" manually and then rebuild neon.  After doing that,
> setting the neon-debug-mask works for me.  I'm not sure if there is
> some reason it is off by default -- performance concerns, maybe.

I'm not sure if there's a reason for it, but I'd LOVE to get it
changed.  It's quite irritating when debugging problems on windows to
not be able to get the full neon dump.

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by "D.J. Heap" <dj...@gmail.com>.
On 7/20/06, Erik Pilz <ep...@altastrada.com> wrote:
[snip]
>
> I found the problem: Kaspersky Anti-Virus 6.0 (specifically version
> 6.0.0.300). KAV scans all network traffic and effectively acts as a
> proxy. However, when disabled KAV will continue to process all traffic,
> it just won't inspect the data.
>
> The solution for the problem is to add the Subversion executable as a
> trusted application. Here are the steps in case there's anyone else out
> there running into this problem:
>
> 1. Open up KAV and click on Settings.
> 2. Click on "Protection".
> 3. Click on the "Trusted Zones" button.
> 4. On the "Trusted Applications" tab click the "Add..." button.
> 5. Browse to the Subversion executable, check all of the options in the
> "Properties" section, and click the "OK" button.
>
> Still not sure why KAV doesn't like SVN, but I'm glad I have a solution.
> DJ, thanks for all your help. I really appreciate it.
>

Ah, glad you found the problem.  Was KAV just silently corrupting the
request?  No alerts or logging or anything?  That is pretty
horrid...but I guess we should be used to that from AV apps by now,
sigh.

Thanks for the info!

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Erik Pilz <ep...@altastrada.com>.
Erik Pilz wrote:
> [snip]
> Thanks for putting together the build, DJ. With the build I was able to 
> get the client to print the debug output.
> 
> Comparing the SVN debug output to the output from Ethereal there's one 
> interesting thing that I noticed: the content-length header is set to 
> 204 bytes, but the actual body size seems to be 205 bytes.
> 
> I'll keep testing to see if I can uncover any more info, but let me know 
> if you have any ideas. I've included the outputs from both tools at the 
> end of the message if you're interested.
> 
> Also, I've copied the mailing list to see if anyone in the community 
> might be able to provide some insight.
> 
> Cheers,
> Erik
> 

I found the problem: Kaspersky Anti-Virus 6.0 (specifically version 
6.0.0.300). KAV scans all network traffic and effectively acts as a 
proxy. However, when disabled KAV will continue to process all traffic, 
it just won't inspect the data.

The solution for the problem is to add the Subversion executable as a 
trusted application. Here are the steps in case there's anyone else out 
there running into this problem:

1. Open up KAV and click on Settings.
2. Click on "Protection".
3. Click on the "Trusted Zones" button.
4. On the "Trusted Applications" tab click the "Add..." button.
5. Browse to the Subversion executable, check all of the options in the 
"Properties" section, and click the "OK" button.

Still not sure why KAV doesn't like SVN, but I'm glad I have a solution. 
DJ, thanks for all your help. I really appreciate it.

Cheers,
Erik

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Gavin Lambert <ga...@compacsort.com>.
Quoth Erik Pilz <ma...@altastrada.com>:
> Comparing the SVN debug output to the output from Ethereal
> there's one interesting thing that I noticed: the 
> content-length header is set to 204 bytes, but the actual 
> body size seems to be 205 bytes.

That sounds like an HTTP quirk that's fairly common; technically a
request is supposed to end with a CRLF, but that shouldn't be part of
the request content itself (since it's part of the HTTP structure, not
the document).  So in theory it should be sending two bytes extra.  But
commonly implementations just use \n (sending LF only, not CRLF),
perhaps through ignorance, perhaps laziness, perhaps because under some
conditions the code compiled under Windows will magically translate \n
to CRLF for you (and sending LF only is better than sending CRCRLF)...

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Erik Pilz <ep...@altastrada.com>.
D.J. Heap wrote:
> 
> Yeah 1.3.2 didn't support the 2005 editions very well.  1.4.x and up
> will though.
> 
> I've put a minimal (no bindings, symbols, etc.) Subversion 1.3.2 with
> the tweaked neon for debugging up at:
> 
> http://xxxxxxxxxxxxxxxxxx
> 
> It's built with VC6 so there shouldn't be any C runtime stuff to worry
> about.  Let me know if anything is missing.
> 
> DJ

Thanks for putting together the build, DJ. With the build I was able to 
get the client to print the debug output.

Comparing the SVN debug output to the output from Ethereal there's one 
interesting thing that I noticed: the content-length header is set to 
204 bytes, but the actual body size seems to be 205 bytes.

I'll keep testing to see if I can uncover any more info, but let me know 
if you have any ideas. I've included the outputs from both tools at the 
end of the message if you're interested.

Also, I've copied the mailing list to see if anyone in the community 
might be able to provide some insight.

Cheers,
Erik


--- Begin SVN debug output ---
Running pre_send hooks
Sending request headers:
REPORT /qed/!svn/vcc/default HTTP/1.1
Host: svn.pilzner.com
User-Agent: SVN/1.3.2 (r19776) neon/0.26.1
Connection: TE
TE: trailers
Content-Length: 204
Content-Type: text/xml
Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Sending request-line and headers:
Sending request body:
Body block (204 bytes):
[<S:update-report send-all="true" 
xmlns:S="svn:"><S:src-path>http://svn.pilzner.
com/qed</S:src-path><S:target-revision>3</S:target-revision><S:entry 
rev="3"  start-empty="true"></S:entry></S:update-report>]
Request sent; retry is 1.
--- End SVN debug output ---

--- Begin Ethereal output ---
REPORT /qed/!svn/vcc/default HTTP/1.1
Host: svn.pilzner.com
User-Agent: SVN/1.3.2 (r19776) neon/0.26.1
Connection: TE
TE: trailers
Content-Length: 204
Content-Type: text/xml
Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

<S:update-report send-all="true" 
xmlns:S="svn:"><S:src-path>http://svn.pilzner.com/qed</S:src-path><S:target-revision>3</S:target-revision><S:entry 
rev="3"  start-empty="true"></S:entry></S:update-report
--- End Ethereal output ---

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by "D.J. Heap" <dj...@gmail.com>.
On 7/13/06, Erik Pilz <ep...@altastrada.com> wrote:
> D.J. Heap wrote:
> > I haven't used neon-debug-mask in a long time and I can't remember
> > much about it -- does it require a debug build or something?  I'll try
> > to play with it tonight.
> >
> > DJ
>
> I don't think a special build is needed, but I'm not 100% sure. I was
> reading through the mailing list archives and found a thread about
> problems using neon-debug-mask on Windows. The last message I found
> indicates that it's a problem with Neon; see
> http://svn.haxx.se/users/archive-2005-02/1178.shtml if you're
> interested. The Neon Mailman archive seems to be down, so I haven't been
> able to check if this issue has been resolved or not.
>

It looks like debugging is still turned off in neon on Win32 by
default -- you have to tweak neon\config.hw to add "#define
NE_DEBUGGING 1" manually and then rebuild neon.  After doing that,
setting the neon-debug-mask works for me.  I'm not sure if there is
some reason it is off by default -- performance concerns, maybe.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Erik Pilz <ep...@altastrada.com>.
D.J. Heap wrote:
> I haven't used neon-debug-mask in a long time and I can't remember
> much about it -- does it require a debug build or something?  I'll try
> to play with it tonight.
> 
> DJ

I don't think a special build is needed, but I'm not 100% sure. I was 
reading through the mailing list archives and found a thread about 
problems using neon-debug-mask on Windows. The last message I found 
indicates that it's a problem with Neon; see 
http://svn.haxx.se/users/archive-2005-02/1178.shtml if you're 
interested. The Neon Mailman archive seems to be down, so I haven't been 
able to check if this issue has been resolved or not.

- Erik



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by "D.J. Heap" <dj...@gmail.com>.
On 7/13/06, Erik Pilz <ep...@altastrada.com> wrote:
[snip]
>
> Hey DJ,
>
> The laptop is running SP2 and is up to date according to Microsoft
> Update, but I did find updates that had been applied to the working
> machine that were not installed on the laptop, including, a Hotfix for a
> TCP/IP DOS attack and another for an SMB exploit. I went ahead and
> manually installed the fixes, but the result from svn is still the same.
>
> By the way, any chance you know if there's any progress on enabling the
> neon-debug-mask on Windows? It'd be helpful to compare the request that
> Neon is sending ato the Ethereal capture.
>
> - Erik
>

I haven't used neon-debug-mask in a long time and I can't remember
much about it -- does it require a debug build or something?  I'll try
to play with it tonight.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Erik Pilz <ep...@altastrada.com>.
D.J. Heap wrote:
> On 7/13/06, Erik Pilz <ep...@altastrada.com> wrote:
>> D.J. Heap wrote:
>> > If it's working over HTTPS and not HTTP, that pretty strongly suggests
>> > a bad proxy.  Did you turn off proxy settings in TSVN or the
>> > Subversion configs when you tried from your office?
>> >
>> > DJ
>>
>> That's what I thought, too, but I can't figure out where a proxy would
>> be interfering. I just checked the config on the laptop to be sure and
>> found nothing in the proxy config. Also, if I understand the proxy
>> problem correctly the issue is that some proxies won't forward "REPORT"
>> requests, right?
> 
> 
> Yes, usually.  Have you got WinXP up to date with SP2 and hotfixes?  I
> vaguely remember some problem with WinXP where it would
> truncate/corrupt network traffic in some cases.
> 
> DJ

Hey DJ,

The laptop is running SP2 and is up to date according to Microsoft 
Update, but I did find updates that had been applied to the working 
machine that were not installed on the laptop, including, a Hotfix for a 
TCP/IP DOS attack and another for an SMB exploit. I went ahead and 
manually installed the fixes, but the result from svn is still the same.

By the way, any chance you know if there's any progress on enabling the 
neon-debug-mask on Windows? It'd be helpful to compare the request that 
Neon is sending ato the Ethereal capture.

- Erik

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by "D.J. Heap" <dj...@gmail.com>.
On 7/13/06, Erik Pilz <ep...@altastrada.com> wrote:
> D.J. Heap wrote:
> > If it's working over HTTPS and not HTTP, that pretty strongly suggests
> > a bad proxy.  Did you turn off proxy settings in TSVN or the
> > Subversion configs when you tried from your office?
> >
> > DJ
>
> That's what I thought, too, but I can't figure out where a proxy would
> be interfering. I just checked the config on the laptop to be sure and
> found nothing in the proxy config. Also, if I understand the proxy
> problem correctly the issue is that some proxies won't forward "REPORT"
> requests, right?


Yes, usually.  Have you got WinXP up to date with SP2 and hotfixes?  I
vaguely remember some problem with WinXP where it would
truncate/corrupt network traffic in some cases.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Erik Pilz <ep...@altastrada.com>.
D.J. Heap wrote:
> If it's working over HTTPS and not HTTP, that pretty strongly suggests
> a bad proxy.  Did you turn off proxy settings in TSVN or the
> Subversion configs when you tried from your office?
> 
> DJ

That's what I thought, too, but I can't figure out where a proxy would 
be interfering. I just checked the config on the laptop to be sure and 
found nothing in the proxy config. Also, if I understand the proxy 
problem correctly the issue is that some proxies won't forward "REPORT" 
requests, right?

I checked the HTTP access logs and it looks like the request is 
received. Here's an excerpt:

  XXX.XXX.XXX.XXX - erik [13/Jul/2006:14:09:06 -0700]
  REPORT /qed/!svn/vcc/default HTTP/1.1" 400 226 "-" "SVN/1.3.2 (r19776) 
neon/0.25.5"

The error log also shows the following around the same time:

  [Thu Jul 13 14:13:10 2006] [error] [client XXX.XXX.XXX.XXX] XML parser
  error (at end). status=20014

The XML error is consistent with the malformed XML that I saw in the 
Ethereal capture, but without seeing the actual XML body that the server 
is processing I can't confirm it.

- Erik

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by "D.J. Heap" <dj...@gmail.com>.
On 7/13/06, Erik Pilz <ep...@altastrada.com> wrote:
> I have a bit more info on this issue that might help.
>
>  From the mailing list archives a Server 400 ("Bad Request") response is
> usually caused by a proxy or firewall that doesn't allow REPORT
> requests. To test if this is a firewall/proxy issue I decided to take my
> laptop to the office. I also disabled the Windows firewall and the
> anti-virus software to make sure that they aren't interfering.
> Unfortunately, the problem still occurred.
>
> Since my office computer (an almost identical configuration) is able to
> successfully checkout the repository, I think it's safe to say that it
> is a problem that is specific to the laptop.
>
> I also tried to determine if perhaps there's a physical problem with the
> network interface on the laptop. To do this I connected using the WiFi
> interface and even a modem and found that the problem still occurs on
> those interfaces.
>
> There was one interesting find as I was troubleshooting this problem.
> Checking out a WebDav repository that is served over HTTPS doesn't
> exhibit the issue.
>
> Again, I'd appreciate any help figuring this one out.


If it's working over HTTPS and not HTTP, that pretty strongly suggests
a bad proxy.  Did you turn off proxy settings in TSVN or the
Subversion configs when you tried from your office?

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: checkout, update, and commit are slow using WinXP client with a WebDav repo

Posted by Erik Pilz <ep...@altastrada.com>.
I have a bit more info on this issue that might help.

 From the mailing list archives a Server 400 ("Bad Request") response is 
usually caused by a proxy or firewall that doesn't allow REPORT 
requests. To test if this is a firewall/proxy issue I decided to take my 
laptop to the office. I also disabled the Windows firewall and the 
anti-virus software to make sure that they aren't interfering. 
Unfortunately, the problem still occurred.

Since my office computer (an almost identical configuration) is able to 
successfully checkout the repository, I think it's safe to say that it 
is a problem that is specific to the laptop.

I also tried to determine if perhaps there's a physical problem with the 
network interface on the laptop. To do this I connected using the WiFi 
interface and even a modem and found that the problem still occurs on 
those interfaces.

There was one interesting find as I was troubleshooting this problem. 
Checking out a WebDav repository that is served over HTTPS doesn't 
exhibit the issue.

Again, I'd appreciate any help figuring this one out.

Thanks,
Erik

Erik Pilz wrote:
> Hello there. I'm looking for a bit of help troubleshooting a WinXP 
> client problem. Executing any of the "checkout," "update," and "commit" 
> commands against a WebDav repository is really slow (e.g., checking out 
> a small repository takes about 7-8 minutes). The requests never fail, 
> they just take a really long time to complete. I don't have any problems 
> working with repositories that use the svn network protocal, just ones 
> that use WebDav.
> 
> I've tried a few different versions of the SVN client for WinXP, 
> TortoiseSVN, and Subclipse. All exhibit the same problem. Currently, I'm 
> working with the SVN command line client, version 1.3.2 (r19776) on a 
> machine running WinXP SP2 (with all current patches).
> 
> I ran Ethereal to capture some information about the conversation. 
> Here's the only interesting HTTP request that I noticed:
> 
> --- Begin Ethereal Snip ---
> REPORT /qed/!svn/vcc/default HTTP/1.1\r\n
> Host: svn.pilzner.com
> User-Agent: SVN/1.3.2 (r19776) neon/0.25.5
> Connection: TE
> TE: trailers
> Content-Type: text/xml
> Accept-Encoding: gzip
> Accept-Encoding: gzip
> <S:update-report send-all="true" 
> xmlns:S="svn:"><S:src-path>http://svn.pilzner.com/qed</S:src-path>
> <S:target-revision>3</S:target-revision><S:entry rev="3" 
> start-empty="true"></S:entry></S:update-report
> --- End Ethereal Snip ---
> 
> When the server receives the request it responds with a 400 status code 
> (bad request). I'm assuming that this happens because the XML body isn't 
> well-formed (the right angle bracket to close the <S:update-report> 
> element is missing). The other interesting thing about this request is 
> that after this there's no network traffic for several minutes.
> 
> Eventually the SVN client re-sends the request with a well-formed XML 
> body and the server responds with a status code of 200. The SVN command 
> then succeeds.
> 
> I'd appreciate any help troubleshooting this.
> 
> Thanks,
> Erik
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org