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]].