You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Stefan Küng <to...@gmail.com> on 2013/03/15 18:23:14 UTC

segfault when reverse merging in trunk

Hi,

using a build from todays trunk:

$ svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts wc
$ cd wc
$ svn merge -r23995:23994 
http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js 
diff-doc.js

this segfaults in libsvn_client/merge.c, line 7407 because 
'merge_target' is NULL.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net

Re: segfault when reverse merging in trunk

Posted by Stefan Küng <to...@gmail.com>.
On 15.03.2013 19:29, Paul Burba wrote:

>> [snip]
>>
>>> C:\SVN\diff-scripts-1.8-dev>svn merge -r24000:23999
>>>
>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
>>> diff-xls.js
>>
>>
>> Argh! I forgot the --ignore-ancestry flag: you have to pass
>> --ignore-ancestry when merging, then it will crash.
>
> That's it!  I can replicate.  Fixed in r1457046.
>

Thanks! Rebuild with r1457046, fix confirmed.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net

Re: segfault when reverse merging in trunk

Posted by Paul Burba <pt...@gmail.com>.
On Fri, Mar 15, 2013 at 2:03 PM, Stefan Küng <to...@gmail.com> wrote:
> On 15.03.2013 18:59, Paul Burba wrote:
>>
>> On Fri, Mar 15, 2013 at 1:52 PM, Stefan Küng <to...@gmail.com>
>> wrote:
>>>
>>> On 15.03.2013 18:46, Paul Burba wrote:
>>>>
>>>>
>>>> On Fri, Mar 15, 2013 at 1:23 PM, Stefan Küng <to...@gmail.com>
>>>> wrote:
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> using a build from todays trunk:
>>>>>
>>>>> $ svn co
>>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>>>> wc
>>>>> $ cd wc
>>>>> $ svn merge -r23995:23994
>>>>>
>>>>>
>>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>>>> diff-doc.js
>>>>>
>>>>> this segfaults in libsvn_client/merge.c, line 7407 because
>>>>> 'merge_target'
>>>>> is
>>>>> NULL.
>>>>
>>>>
>>>>
>>>> Hi Stefan,
>>>>
>>>> I cannot replicate this with ^/subversion/trunk@1457030.  Exactly what
>>>> revision are you building?
>>>>
>>>> C:\SVN>svn --version
>>>> svn, version 1.8.0-dev (under development)
>>>>      compiled Mar 14 2013, 16:57:07 on
>>>> x86/x86_64-microsoft-windows6.1.7601
>>>>
>>>> Copyright (C) 2013 The Apache Software Foundation.
>>>> This software consists of contributions made by many people;
>>>> see the NOTICE file for more information.
>>>> Subversion is open source software, see http://subversion.apache.org/
>>>>
>>>> The following repository access (RA) modules are available:
>>>>
>>>> * ra_svn : Module for accessing a repository using the svn network
>>>> protocol.
>>>>     - handles 'svn' scheme
>>>> * ra_local : Module for accessing a repository on local disk.
>>>>     - handles 'file' scheme
>>>> * ra_serf : Module for accessing a repository via WebDAV protocol using
>>>> serf.
>>>>     - handles 'http' scheme
>>>>     - handles 'https' scheme
>>>>
>>>>
>>>> C:\SVN>svn co
>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>>> wc
>>>> A    wc\diff-sxw.vbs
>>>> A    wc\diff-ppt.js
>>>> A    wc\diff-odt.vbs
>>>> A    wc\diff-doc.js
>>>> A    wc\diff-xls.js
>>>> A    wc\diff-dll.vbs
>>>> A    wc\merge-ods.vbs
>>>> A    wc\Readme.txt
>>>> A    wc\merge-doc.js
>>>> A    wc\diff-nb.vbs
>>>>    U   wc
>>>> Checked out revision 23999.
>>>>
>>>> C:\SVN>cd wc
>>>>
>>>> C:\SVN\wc>svn merge -r23995:23994
>>>>
>>>>
>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>>> diff-doc.js
>>>> --- Reverse-merging r23995 into 'diff-doc.js':
>>>> C    diff-doc.js
>>>> --- Recording mergeinfo for reverse merge of r23995 into 'diff-doc.js':
>>>>    G   diff-doc.js
>>>> --- Eliding mergeinfo from 'diff-doc.js':
>>>>    U   diff-doc.js
>>>> Summary of conflicts:
>>>>     Text conflicts: 1
>>>> Conflict discovered in file 'diff-doc.js'.
>>>> Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
>>>>           (mc) mine-conflict, (tc) theirs-conflict, (s) show all
>>>> options: p
>>>
>>>
>>>
>>> Ups, sorry about that. There were some commits to that folder in the mean
>>> time, so it doesn't crash anymore with this merge command.
>>>
>>> Try this instead:
>>> $ svn merge -r24000:23999
>>>
>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
>>> diff-xls.js
>>>
>>> seems you have to reverse-merge the latest revision.
>>
>>
>> Hmmm, I still can't replicate:
>
> [snip]
>
>> C:\SVN\diff-scripts-1.8-dev>svn merge -r24000:23999
>>
>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
>> diff-xls.js
>
>
> Argh! I forgot the --ignore-ancestry flag: you have to pass
> --ignore-ancestry when merging, then it will crash.

That's it!  I can replicate.  Fixed in r1457046.

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba

Re: segfault when reverse merging in trunk

Posted by Stefan Küng <to...@gmail.com>.
On 15.03.2013 18:59, Paul Burba wrote:
> On Fri, Mar 15, 2013 at 1:52 PM, Stefan Küng <to...@gmail.com> wrote:
>> On 15.03.2013 18:46, Paul Burba wrote:
>>>
>>> On Fri, Mar 15, 2013 at 1:23 PM, Stefan Küng <to...@gmail.com>
>>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> using a build from todays trunk:
>>>>
>>>> $ svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>>> wc
>>>> $ cd wc
>>>> $ svn merge -r23995:23994
>>>>
>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>>> diff-doc.js
>>>>
>>>> this segfaults in libsvn_client/merge.c, line 7407 because 'merge_target'
>>>> is
>>>> NULL.
>>>
>>>
>>> Hi Stefan,
>>>
>>> I cannot replicate this with ^/subversion/trunk@1457030.  Exactly what
>>> revision are you building?
>>>
>>> C:\SVN>svn --version
>>> svn, version 1.8.0-dev (under development)
>>>      compiled Mar 14 2013, 16:57:07 on x86/x86_64-microsoft-windows6.1.7601
>>>
>>> Copyright (C) 2013 The Apache Software Foundation.
>>> This software consists of contributions made by many people;
>>> see the NOTICE file for more information.
>>> Subversion is open source software, see http://subversion.apache.org/
>>>
>>> The following repository access (RA) modules are available:
>>>
>>> * ra_svn : Module for accessing a repository using the svn network
>>> protocol.
>>>     - handles 'svn' scheme
>>> * ra_local : Module for accessing a repository on local disk.
>>>     - handles 'file' scheme
>>> * ra_serf : Module for accessing a repository via WebDAV protocol using
>>> serf.
>>>     - handles 'http' scheme
>>>     - handles 'https' scheme
>>>
>>>
>>> C:\SVN>svn co
>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>> wc
>>> A    wc\diff-sxw.vbs
>>> A    wc\diff-ppt.js
>>> A    wc\diff-odt.vbs
>>> A    wc\diff-doc.js
>>> A    wc\diff-xls.js
>>> A    wc\diff-dll.vbs
>>> A    wc\merge-ods.vbs
>>> A    wc\Readme.txt
>>> A    wc\merge-doc.js
>>> A    wc\diff-nb.vbs
>>>    U   wc
>>> Checked out revision 23999.
>>>
>>> C:\SVN>cd wc
>>>
>>> C:\SVN\wc>svn merge -r23995:23994
>>>
>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>> diff-doc.js
>>> --- Reverse-merging r23995 into 'diff-doc.js':
>>> C    diff-doc.js
>>> --- Recording mergeinfo for reverse merge of r23995 into 'diff-doc.js':
>>>    G   diff-doc.js
>>> --- Eliding mergeinfo from 'diff-doc.js':
>>>    U   diff-doc.js
>>> Summary of conflicts:
>>>     Text conflicts: 1
>>> Conflict discovered in file 'diff-doc.js'.
>>> Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
>>>           (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p
>>
>>
>> Ups, sorry about that. There were some commits to that folder in the mean
>> time, so it doesn't crash anymore with this merge command.
>>
>> Try this instead:
>> $ svn merge -r24000:23999
>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
>> diff-xls.js
>>
>> seems you have to reverse-merge the latest revision.
>
> Hmmm, I still can't replicate:
[snip]
> C:\SVN\diff-scripts-1.8-dev>svn merge -r24000:23999
> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
> diff-xls.js

Argh! I forgot the --ignore-ancestry flag: you have to pass 
--ignore-ancestry when merging, then it will crash.

Stefan


-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net

Re: segfault when reverse merging in trunk

Posted by Paul Burba <pt...@gmail.com>.
On Fri, Mar 15, 2013 at 1:52 PM, Stefan Küng <to...@gmail.com> wrote:
> On 15.03.2013 18:46, Paul Burba wrote:
>>
>> On Fri, Mar 15, 2013 at 1:23 PM, Stefan Küng <to...@gmail.com>
>> wrote:
>>>
>>> Hi,
>>>
>>> using a build from todays trunk:
>>>
>>> $ svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>> wc
>>> $ cd wc
>>> $ svn merge -r23995:23994
>>>
>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>> diff-doc.js
>>>
>>> this segfaults in libsvn_client/merge.c, line 7407 because 'merge_target'
>>> is
>>> NULL.
>>
>>
>> Hi Stefan,
>>
>> I cannot replicate this with ^/subversion/trunk@1457030.  Exactly what
>> revision are you building?
>>
>> C:\SVN>svn --version
>> svn, version 1.8.0-dev (under development)
>>     compiled Mar 14 2013, 16:57:07 on x86/x86_64-microsoft-windows6.1.7601
>>
>> Copyright (C) 2013 The Apache Software Foundation.
>> This software consists of contributions made by many people;
>> see the NOTICE file for more information.
>> Subversion is open source software, see http://subversion.apache.org/
>>
>> The following repository access (RA) modules are available:
>>
>> * ra_svn : Module for accessing a repository using the svn network
>> protocol.
>>    - handles 'svn' scheme
>> * ra_local : Module for accessing a repository on local disk.
>>    - handles 'file' scheme
>> * ra_serf : Module for accessing a repository via WebDAV protocol using
>> serf.
>>    - handles 'http' scheme
>>    - handles 'https' scheme
>>
>>
>> C:\SVN>svn co
>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>> wc
>> A    wc\diff-sxw.vbs
>> A    wc\diff-ppt.js
>> A    wc\diff-odt.vbs
>> A    wc\diff-doc.js
>> A    wc\diff-xls.js
>> A    wc\diff-dll.vbs
>> A    wc\merge-ods.vbs
>> A    wc\Readme.txt
>> A    wc\merge-doc.js
>> A    wc\diff-nb.vbs
>>   U   wc
>> Checked out revision 23999.
>>
>> C:\SVN>cd wc
>>
>> C:\SVN\wc>svn merge -r23995:23994
>>
>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>> diff-doc.js
>> --- Reverse-merging r23995 into 'diff-doc.js':
>> C    diff-doc.js
>> --- Recording mergeinfo for reverse merge of r23995 into 'diff-doc.js':
>>   G   diff-doc.js
>> --- Eliding mergeinfo from 'diff-doc.js':
>>   U   diff-doc.js
>> Summary of conflicts:
>>    Text conflicts: 1
>> Conflict discovered in file 'diff-doc.js'.
>> Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
>>          (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p
>
>
> Ups, sorry about that. There were some commits to that folder in the mean
> time, so it doesn't crash anymore with this merge command.
>
> Try this instead:
> $ svn merge -r24000:23999
> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
> diff-xls.js
>
> seems you have to reverse-merge the latest revision.

Hmmm, I still can't replicate:

C:\SVN>svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
diff-scripts-1.8-dev
A    diff-scripts-1.8-dev\diff-sxw.vbs
A    diff-scripts-1.8-dev\diff-ppt.js
A    diff-scripts-1.8-dev\diff-odt.vbs
A    diff-scripts-1.8-dev\diff-doc.js
A    diff-scripts-1.8-dev\diff-xls.js
A    diff-scripts-1.8-dev\diff-dll.vbs
A    diff-scripts-1.8-dev\merge-ods.vbs
A    diff-scripts-1.8-dev\Readme.txt
A    diff-scripts-1.8-dev\merge-doc.js
A    diff-scripts-1.8-dev\diff-nb.vbs
 U   diff-scripts-1.8-dev
Checked out revision 24001.

C:\SVN>cd diff-scripts-1.8-dev

C:\SVN\diff-scripts-1.8-dev>svn merge -r24000:23999
http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
diff-xls.js
--- Reverse-merging r24000 into 'diff-xls.js':
U    diff-xls.js
--- Recording mergeinfo for reverse merge of r24000 into 'diff-xls.js':
 G   diff-xls.js
--- Eliding mergeinfo from 'diff-xls.js':
 U   diff-xls.js

C:\SVN\diff-scripts-1.8-dev>svn log -rHEAD:0 -v --limit 1 diff-xls.js
------------------------------------------------------------------------
r24000 | XhmikosR | 2013-03-15 13:43:59 -0400 (Fri, 15 Mar 2013) | 1 line
Changed paths:
   M /trunk/contrib/diff-scripts/diff-xls.js

diff-xls.js: fix typo in comment
------------------------------------------------------------------------

C:\SVN\diff-scripts-1.8-dev>

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba

Re: segfault when reverse merging in trunk

Posted by Stefan Küng <to...@gmail.com>.
On 15.03.2013 18:46, Paul Burba wrote:
> On Fri, Mar 15, 2013 at 1:23 PM, Stefan Küng <to...@gmail.com> wrote:
>> Hi,
>>
>> using a build from todays trunk:
>>
>> $ svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts wc
>> $ cd wc
>> $ svn merge -r23995:23994
>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>> diff-doc.js
>>
>> this segfaults in libsvn_client/merge.c, line 7407 because 'merge_target' is
>> NULL.
>
> Hi Stefan,
>
> I cannot replicate this with ^/subversion/trunk@1457030.  Exactly what
> revision are you building?
>
> C:\SVN>svn --version
> svn, version 1.8.0-dev (under development)
>     compiled Mar 14 2013, 16:57:07 on x86/x86_64-microsoft-windows6.1.7601
>
> Copyright (C) 2013 The Apache Software Foundation.
> This software consists of contributions made by many people;
> see the NOTICE file for more information.
> Subversion is open source software, see http://subversion.apache.org/
>
> The following repository access (RA) modules are available:
>
> * ra_svn : Module for accessing a repository using the svn network protocol.
>    - handles 'svn' scheme
> * ra_local : Module for accessing a repository on local disk.
>    - handles 'file' scheme
> * ra_serf : Module for accessing a repository via WebDAV protocol using serf.
>    - handles 'http' scheme
>    - handles 'https' scheme
>
>
> C:\SVN>svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
> wc
> A    wc\diff-sxw.vbs
> A    wc\diff-ppt.js
> A    wc\diff-odt.vbs
> A    wc\diff-doc.js
> A    wc\diff-xls.js
> A    wc\diff-dll.vbs
> A    wc\merge-ods.vbs
> A    wc\Readme.txt
> A    wc\merge-doc.js
> A    wc\diff-nb.vbs
>   U   wc
> Checked out revision 23999.
>
> C:\SVN>cd wc
>
> C:\SVN\wc>svn merge -r23995:23994
> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
> diff-doc.js
> --- Reverse-merging r23995 into 'diff-doc.js':
> C    diff-doc.js
> --- Recording mergeinfo for reverse merge of r23995 into 'diff-doc.js':
>   G   diff-doc.js
> --- Eliding mergeinfo from 'diff-doc.js':
>   U   diff-doc.js
> Summary of conflicts:
>    Text conflicts: 1
> Conflict discovered in file 'diff-doc.js'.
> Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
>          (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p

Ups, sorry about that. There were some commits to that folder in the 
mean time, so it doesn't crash anymore with this merge command.

Try this instead:
$ svn merge -r24000:23999 
http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js 
diff-xls.js

seems you have to reverse-merge the latest revision.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net

Re: segfault when reverse merging in trunk

Posted by Paul Burba <pt...@gmail.com>.
On Fri, Mar 15, 2013 at 1:23 PM, Stefan Küng <to...@gmail.com> wrote:
> Hi,
>
> using a build from todays trunk:
>
> $ svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts wc
> $ cd wc
> $ svn merge -r23995:23994
> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
> diff-doc.js
>
> this segfaults in libsvn_client/merge.c, line 7407 because 'merge_target' is
> NULL.

Hi Stefan,

I cannot replicate this with ^/subversion/trunk@1457030.  Exactly what
revision are you building?

C:\SVN>svn --version
svn, version 1.8.0-dev (under development)
   compiled Mar 14 2013, 16:57:07 on x86/x86_64-microsoft-windows6.1.7601

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - handles 'http' scheme
  - handles 'https' scheme


C:\SVN>svn co http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
wc
A    wc\diff-sxw.vbs
A    wc\diff-ppt.js
A    wc\diff-odt.vbs
A    wc\diff-doc.js
A    wc\diff-xls.js
A    wc\diff-dll.vbs
A    wc\merge-ods.vbs
A    wc\Readme.txt
A    wc\merge-doc.js
A    wc\diff-nb.vbs
 U   wc
Checked out revision 23999.

C:\SVN>cd wc

C:\SVN\wc>svn merge -r23995:23994
http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
diff-doc.js
--- Reverse-merging r23995 into 'diff-doc.js':
C    diff-doc.js
--- Recording mergeinfo for reverse merge of r23995 into 'diff-doc.js':
 G   diff-doc.js
--- Eliding mergeinfo from 'diff-doc.js':
 U   diff-doc.js
Summary of conflicts:
  Text conflicts: 1
Conflict discovered in file 'diff-doc.js'.
Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
        (mc) mine-conflict, (tc) theirs-conflict, (s) show all options: p

C:\SVN\wc>

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba