You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by SteveKing <st...@gmx.ch> on 2005/04/26 19:29:29 UTC

crash in svn_client_merge_peg()

Hi,

While analyzing a crashreport I've received for TSVN I found that 
svn_client_merge_peg() sometimes can crash.

Here's the stacktrace, for Subversion 1.1.4 (linenumbers relate to that 
version):

subversion/libsvn_wc/lock.c, line 621 :
   if (associated->set) // with associated as 0!!
subversion/libsvn_wc/entries.c, line 711
subversion/libsvn_wc/props.c, line 279
subversion/libsvn_client/diff.c, line 1168
subversion/libsvn_client/repos_diff.c, line 817
subversion/libsvn_delta/cancel.c, line 237
subversion/libsvn_ra_svn/editorp.c, line 688
subversion/libsvn_ra_svn/editorp.c, line 794
subversion/libsvn_ra_svn/editor.c, line 730
subversion/libsvn_ra_svn/client.c, line 382
subversion/libsvn_client/diff.c, line 1393
subversion/libsvn_client/diff.c, line 2491

Maybe this is useful for one of you guys?

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: crash in svn_client_merge_peg()

Posted by SteveKing <st...@gmx.ch>.
Philip Martin wrote:
> SteveKing <st...@gmx.ch> writes:
> 
>>While analyzing a crashreport I've received for TSVN I found that
>>svn_client_merge_peg() sometimes can crash.
>>
>>Here's the stacktrace, for Subversion 1.1.4 (linenumbers relate to
>>that version):
>>
>>subversion/libsvn_wc/lock.c, line 621 :
>>   if (associated->set) // with associated as 0!!
>>subversion/libsvn_wc/entries.c, line 711
>>subversion/libsvn_wc/props.c, line 279
>>subversion/libsvn_client/diff.c, line 1168
>>subversion/libsvn_client/repos_diff.c, line 817
> 
> 
> This looks the most likely culprit, it's probably passing a NULL
> access baton.

That's what I thought too. But I don't know the code of Subversion as 
well as you devs.

>>subversion/libsvn_delta/cancel.c, line 237
>>subversion/libsvn_ra_svn/editorp.c, line 688
>>subversion/libsvn_ra_svn/editorp.c, line 794
>>subversion/libsvn_ra_svn/editor.c, line 730
>>subversion/libsvn_ra_svn/client.c, line 382
>>subversion/libsvn_client/diff.c, line 1393
>>subversion/libsvn_client/diff.c, line 2491
>>
>>Maybe this is useful for one of you guys?
> 
> 
> As ever, it would be more useful if you told us how to reproduce it.
> Perhaps repos_diff.c:close_file should be catching the NULL, but I
> don't know for certain, maybe that's just a symptom.  Is this a
> dry-run merge?

Unfortunately, most people sending me crashreports don't give more 
information than the bare crashdump. But from what I can gather from 
that: yes, it's a dry-run merge.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: crash in svn_client_merge_peg()

Posted by Philip Martin <ph...@codematters.co.uk>.
SteveKing <st...@gmx.ch> writes:

> While analyzing a crashreport I've received for TSVN I found that
> svn_client_merge_peg() sometimes can crash.
>
> Here's the stacktrace, for Subversion 1.1.4 (linenumbers relate to
> that version):
>
> subversion/libsvn_wc/lock.c, line 621 :
>    if (associated->set) // with associated as 0!!
> subversion/libsvn_wc/entries.c, line 711
> subversion/libsvn_wc/props.c, line 279
> subversion/libsvn_client/diff.c, line 1168
> subversion/libsvn_client/repos_diff.c, line 817

This looks the most likely culprit, it's probably passing a NULL
access baton.

> subversion/libsvn_delta/cancel.c, line 237
> subversion/libsvn_ra_svn/editorp.c, line 688
> subversion/libsvn_ra_svn/editorp.c, line 794
> subversion/libsvn_ra_svn/editor.c, line 730
> subversion/libsvn_ra_svn/client.c, line 382
> subversion/libsvn_client/diff.c, line 1393
> subversion/libsvn_client/diff.c, line 2491
>
> Maybe this is useful for one of you guys?

As ever, it would be more useful if you told us how to reproduce it.
Perhaps repos_diff.c:close_file should be catching the NULL, but I
don't know for certain, maybe that's just a symptom.  Is this a
dry-run merge?

-- 
Philip Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org