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

Re: Log caching: Crash in `Get merge logs' without access to the repository root

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 10 Mar 2016 19:14:19 +0100

On 09.03.2016 15:24, Evgeny Kotkov wrote:
> The `Get merge logs' command can cause a segfault in TortoiseSVN 1.9.3.
>
> The crash is also reproducible in trunk_at_r27234 and is caused by an access
> violation (out of bounds access in an std::vector) in the implementation of
> the log caching. Please note that it should be reproducible irrespectively
> of whether the log caching feature is enabled or disabled in the settings.
>
> Reproduction script:
>
> 1. Create a repository with a /trunk folder hosted by httpd
> 2. Prohibit access to the root of the repository
> 3. Allow rw access to /trunk
> 4. In the TortoiseSVN log viewer, click `Get merge logs' for /trunk or,
> alternatively, run the following command:
> TortoiseProc /command:log /path:"http://localhost/repository/trunk" /merge

No crash for me with a nightly build.
And I also don't get a crash with 1.9.3 x64.
Testing against a VisualSVN server 3.5, both with an existing repo and a
completely new one with only revision 1 where trunk/branches/tags was
created.

I denied access to root (verified using the repo browser) but allowed rw
access to trunk/branches/tags. Showed the log for trunk, clicked
"include merged revisions", and I also tried with the command line.

no crash in all tests.

disabled log cache in the settings, retried all the tests. Again: no crash.

> Another thing worth mentioning is the overall performance of the operation.
> If I allow access to the repository root, the `Get merge logs' command does
> a huge amount of REPORT requests to the server, and that can be very slow,
> especially considering that every REPORT creates a new TCP connection.

Well, that's not really an issue with TSVN but with the svn library.
You would get the same if you run
svn log https://server/svn/trunk -v -g

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=3165227
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2016-03-10 19:13:40 CET

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.