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

Re: Crash when updating with 1.8

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Mon, 12 Aug 2013 19:06:32 +0400

On Wed, Jun 19, 2013 at 11:55 PM, Stefan K√ľng <tortoisesvn_at_gmail.com> wrote:
> Hi,
>
> After the release of 1.8, the crash reports for TortoiseSVN are already
> coming in.
>
> Number one crash is during an update.
>
> In libsvn_wc/update_editor.c, window_handler(), line 1012:
>
> if (err)
> {
> /* We failed to apply the delta; clean up the temporary file. */
>
> svn_error_clear(svn_io_remove_file2(hb->new_text_base_tmp_abspath, TRUE,
> hb->pool));
> }
>
> here the hb->new_text_base_tmp_abspath is NULL, which results later in a
> null-pointer access exception.
>
> Is it possible to get there without a temp file being created?
>
Yes, it's possible that temp file is not created because lazy stream
used to open temp file:
[[[
r1470936 | philip
Significantly reduce the number of open files during a typical update
over ra_serf by using lazy-opening streams to delay opening until the
HTTP response is received. This changes the new-in-1.8 lazy-open API.
]]]

Thus Subversion will crash if we got error before first write to
target stream. I've added check for this case in r1513156 and going
nominate it for backport to 1.8.x. Thanks for bug report!

-- 
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com
Received on 2013-08-12 17:07:32 CEST

This is an archived mail posted to the Subversion Dev mailing list.