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

Re: [TSVN] 100% CPU event

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2005-11-22 19:39:27 CET

Peter McNab wrote:

> I have zipped up the wc (45MB), too big to send by mail.

I guess so ;)

> Have removed the WC because the cache keeps trawling it endlessly as
> evidenced by double clicking on the trayicon and watching the same
> folders loop past in the filemon view.

I hope you can recreate that wc again!

I've analyzed your filemon logs, but I haven't found the reason for the
endless loop. The debug output of the cache window showing "Invalidating
and refreshing folder: xxx" comes from a change notification from the
file system watcher thread. That means that while the cache fetches the
status of a folder, a file inside that folder gets
modified/created/renamed for some reason (the cache already filters out
changes to inside the /tmp/ folder). The filemon log doesn't show such a
modification outside a /tmp/ folder. So I'm a little lost here.

The only thing I can think of would be another application modifying the
last-write-time of a file due to the cache accessing those files when
fetching the status, but IMHO that would be even completely insane for a
virus scanner (which are known to be stupid and evil).

So to corner the problem, I've uploaded two versions of the cache
especially for you :)

http://mapcar.org/tsvn-snapshots/Debug/

The TSVNCache_dbgoutput.zip contains the cache as it is now, but with
some OutputDebugString() lines which you can catch with the DbgView tool
from sysinternals. You should see a line
TSVNCache.exe : change notification : path\to\changed\file

If you see that line, then fire up filemon again and filter for that
file - I'd like to know if it's really TSVNCache.exe modifying that file
or some other process.

The TSVNCache_noloop.zip contains a newer version of the cache where I
simply reject all change notifications below a currently crawled path.
This should hopefully work around such evil apps (if it really is
another app causing this). Unfortunately, I can't commit those changes
to the repository right now, because the repo is down (already notified
tigris.org about the problem, but it usually takes a while until its
fixed). So the next nightly either won't be up at all or won't have
those changes included.

Note: to test those new TSVNCache.exe files, you either have to rename
the original (already running) file in the tsvn installation folder,
then copy the new one there and kill the running cache process.
Or you can open a console window, kill the running cache process, then
start the new cache exe from the console *without* making the explorer
window active first.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue Nov 22 19:40:07 2005

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.