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

RE: TSCNCache.exe goes into infinite loop

From: ROUET, Jean Michel <jean-michel.rouet_at_philips.com>
Date: Mon, 7 Jul 2014 13:49:55 +0000

Hi Stefan,

Thanks for your reply. Actually, the problem is still the same on a fresh checkout. So I don't think it's a wc.db corruption issue.

From my debugging session, I can see that two threads are mainly active:
- One looping in DirectoryWatcher::WorkerThread() (keep calling FolderCrawler->AddPathForUpdate() with the same path again and again)

- The other one looping in CFolderCrawler::WorkerThread() => CCachedDirectory::RefreshStatus()
        Which Invalidate and refresh the same root folder again and again

There should be some bugs there... CFolderCrawler thinks that some files where modified while they are not.

By the way, I want also to draw your attention on some hazardous codein TSVNPath.cpp (in UpdateAttributes())
        m_lastWriteTime = *(__int64*)&attribs.ftLastWriteTime;

this is dangerous and Microsoft do not recommend that (see MSDN documentation on FILETIME structure http://msdn.microsoft.com/en-us/library/windows/desktop/ms724284%28v=vs.85%29.aspx):
        "Do not cast a pointer to a FILETIME structure to either a ULARGE_INTEGER* or __int64* value because it can cause alignment faults on 64-bit Windows."
Although this may not be related to my problem.

Best Regards,
Jean-Michel.

-----Original Message-----
From: Stefan Küng [mailto:tortoisesvn_at_gmail.com]
Sent: 04 July 2014 17:39
To: users_at_tortoisesvn.tigris.org
Subject: Re: TSCNCache.exe goes into infinite loop

Reading the status should not modify the db at all (it's a read operation!). If it does, then your working copy might be corrupt and a fresh checkout might be a good idea. At least, run a cleanup and see if that fixes the problem.

And no: the cache must not ignore change notifications for the wc db because if you run a commit, that db is the only thing that changes but the status of all committed files changes from 'modified' to 'normal'.
That's why the cache must react to changes in the wc db file.

Stefan

--
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3084542
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
________________________________
The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3084690
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2014-07-07 15:50:11 CEST

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

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