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

Stefan Küng <[email protected]>
Newsgroups gmane.comp.version-control.subversion.tortoisesvn.devel
Message-ID <[email protected]>
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@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: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.