tisdag 23 maj 2023 kl. 18:53:06 UTC+2 skrev Stefan:

I made a few changes to the log caching, but those changes are mostly 
refactoring.
Unfortunately, I can't reproduce a crash of the error message on my machine 
here.

Maybe you guys can debug the problem on your machine?'


I found a way to reproduce it: when I deleted the log cache, the error also 
occured within Visual Studio.

I believe the error is the following change. Please note the comment, it 
was added in r14384 when the arguments was changed from const CString& to 
CString (ie, the opposite of the change below). I'm supporting the analysis 
that the parameters may come from a cache entry being deleted, in this case 
from a call in CLogCachePool::AutoRemoveUnused() where the 
repositoryInfo->data object is iterated and then the very same object is 
deleted by DropEntry. Suddenly the uuid and urls are unreachable.

[[[
Index: src/LogCache/RepositoryInfo.h
===================================================================
--- src/LogCache/RepositoryInfo.h (revision 29553)
+++ src/LogCache/RepositoryInfo.h (revision 29554)
[...]
@@ -232,27 +232,27 @@
     /// Parameters must be copied because they may stem from the
     /// info object being deleted.
 
-    void DropEntry(CString uuid, CString url);
+    void                   DropEntry(const CString& uuid, const CString& 
url);
 ]]]

I've reverted this in r29564 and the crash seems to be gone.

Kind regards,
Daniel

-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn-dev/0e750ce8-a193-446f-be55-2c34f9578552n%40googlegroups.com.

Reply via email to