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

Re: segmentation fault with --parents option

From: Matthias Hoertzsch <m.hoertzsch_at_t-online.de>
Date: Mon, 13 Oct 2008 07:15:03 -0700 (PDT)

The latest 1.5.3 release gives me still the same bug.
I am not able to reproduce this with the current trunk as it is not building
on my machine.
make stops with:

../../subversion/libsvn_wc/.libs/libsvn_wc-1.so: undefined reference to
`svn_txdelta_run'
../../subversion/libsvn_wc/.libs/libsvn_wc-1.so: undefined reference to
`svn_diff_file_output_merge2'
../../subversion/libsvn_wc/.libs/libsvn_wc-1.so: undefined reference to
`svn_diff_mem_string_output_merge2'
collect2: ld returned 1 exit status
make: *** [subversion/svnversion/svnversion] Fehler 1

regards,

Matthias

Karl Fogel-2 wrote:
>
> Matthias Hoertzsch <m.hoertzsch_at_t-online.de> writes:
>> thank you for the script. I used it for the creation, import and copy and
>> it
>> shows the
>> same behavior as in my posting:
>
> Wait -- you mean my script reproduces the problem for you, but not for
> me? Using the exact same script... Oh, hmmm, I wonder if this change
> (by me!) is about this bug:
>
>
> ------------------------------------------------------------------------
> r31314 | kfogel | 2008-05-20 14:08:11 -0400 (Tue, 20 May 2008) | 12
> lines
>
> Fix bug whereby 'svn cp --parents URL/TO/EXISTING/FILE
> URL/TO/EXISTING/DIR'
> would seg fault. This follows up to the regression test added in
> r31311.
>
> Found by: Alexander Kitaev <alex_at_tmate.org>
>
> * subversion/libsvn_client/copy.c
> (repos_to_repos_copy): Specially handle the case where dir is an
> immediate child of top_url.
>
> * subversion/tests/cmdline/copy_tests.py
> (test_list): Expect 'unneeded_parents' to pass now.
>
> If so, then you should not be able to reproduce this bug with latest
> trunk Subversion. Can you try that?
>
> -Karl
>
>> copy without --parents works fine, while --parents gives again:
>>
>> 7379 Segmentation fault (core dumped) ${SVN} copy --parents
>> ${URL}/branches/a_branch ${URL}/branches/b_branch -m "CORE-1000: create
>> branch with --parents."
>>
>> and the apport.log on the machine shows only:
>>
>> called for pid 7379, signal 11
>>
>> I tested this again for both machines, one with 1.5.0 debian and 1.5.2 on
>> ubuntu 7.10 .
>> Also it does not matter if the repository is completely new created and
>> empty or an
>> already existing one.
>>
>> Regards,
>>
>> Matthias
>>
>>
>> Karl Fogel-2 wrote:
>>>
>>> Matthias Hoertzsch <m.hoertzsch_at_t-online.de> writes:
>>>> Hello,
>>>>
>>>> while using the svn copy command I encountered an error:
>>>>
>>>> svn copy --parents http://svnhost/repo/branches/a_branch
>>>> http://svnhost/repo/branches/b_branch -m "copy branch"
>>>>
>>>> gives a segmentation fault while:
>>>>
>>>> svn copy http://svnhost/repo/branches/a_branch
>>>> http://svnhost/repo/branches/b_branch -m "copy branch"
>>>>
>>>> works perfect
>>>>
>>>> The same fault occurs for:
>>>>
>>>> svn copy --parents http://svnhost/repo/branches/a_branch/subdir
>>>> http://svnhost/repo/branches/b_branch -m "copy branch"
>>>>
>>>> while:
>>>>
>>>> svn copy --parents http://svnhost/repo/branches/a_branch/subdir
>>>> http://svnhost/repo/branches/b_branch/subdir -m "copy branch"
>>>>
>>>> works fine again.
>>>
>>> I cannot reproduce this with r33554 of trunk Subversion, using the
>>> script below. Can you use this to make a script that reproduces the bug
>>> reliably for you? Thanks.
>>>
>>> -Karl
>>>
>>> --------------------------------------------------------------------------
>>> #!/bin/sh
>>>
>>> # The next line is the only line you should need to adjust.
>>> SVNDIR=/home/kfogel/src/subversion
>>>
>>> SVN=${SVNDIR}/subversion/svn/svn
>>> SVNSERVE=${SVNDIR}/subversion/svnserve/svnserve
>>> SVNADMIN=${SVNDIR}/subversion/svnadmin/svnadmin
>>>
>>> # Select an access method. If svn://, the svnserve setup is
>>> # handled automagically by this script; but if http://, then
>>> # you'll have to configure it yourself first.
>>> #
>>> URL=http://localhost/mh/repos
>>> # URL=svn://localhost/repos
>>> # URL=file:///`pwd`/repos
>>>
>>> rm -rf repos wc import-me
>>>
>>> ${SVNADMIN} create repos
>>>
>>> # These are for svnserve only.
>>> echo "[general]" > repos/conf/svnserve.conf
>>> echo "anon-access = write" >> repos/conf/svnserve.conf
>>> echo "auth-access = write" >> repos/conf/svnserve.conf
>>>
>>> # The server will only be contacted if $URL is svn://foo, of course.
>>> ${SVNSERVE} --pid-file svnserve-pid -d -r `pwd`
>>> # And put the kill command in a file, in case need to run it manually.
>>> echo "kill -9 `cat svnserve-pid`" > k
>>> chmod a+rwx k
>>>
>>> echo "### Making a Greek Tree for import..."
>>> mkdir import-me
>>> mkdir import-me/trunk
>>> mkdir import-me/tags
>>> mkdir import-me/branches
>>> mkdir import-me/trunk/A
>>> mkdir import-me/trunk/A/B/
>>> mkdir import-me/trunk/A/C/
>>> mkdir import-me/trunk/A/D/
>>> mkdir import-me/trunk/A/B/E/
>>> mkdir import-me/trunk/A/B/F/
>>> mkdir import-me/trunk/A/D/G/
>>> mkdir import-me/trunk/A/D/H/
>>> echo "This is the file 'iota'." > import-me/trunk/iota
>>> echo "This is the file 'A/mu'." > import-me/trunk/A/mu
>>> echo "This is the file 'A/B/lambda'." > import-me/trunk/A/B/lambda
>>> echo "This is the file 'A/B/E/alpha'." > import-me/trunk/A/B/E/alpha
>>> echo "This is the file 'A/B/E/beta'." > import-me/trunk/A/B/E/beta
>>> echo "This is the file 'A/D/gamma'." > import-me/trunk/A/D/gamma
>>> echo "This is the file 'A/D/G/pi'." > import-me/trunk/A/D/G/pi
>>> echo "This is the file 'A/D/G/rho'." > import-me/trunk/A/D/G/rho
>>> echo "This is the file 'A/D/G/tau'." > import-me/trunk/A/D/G/tau
>>> echo "This is the file 'A/D/H/chi'." > import-me/trunk/A/D/H/chi
>>> echo "This is the file 'A/D/H/omega'." > import-me/trunk/A/D/H/omega
>>> echo "This is the file 'A/D/H/psi'." > import-me/trunk/A/D/H/psi
>>> echo "### Done."
>>> echo ""
>>> echo "### Importing it..."
>>> (cd import-me; ${SVN} import -q -m "Initial import." ${URL})
>>> echo "### Done."
>>> echo ""
>>>
>>> ${SVN} copy -q -m "create branch" ${URL}/trunk ${URL}/branches/a_branch
>>>
>>> ${SVN} copy --parents ${URL}/branches/a_branch ${URL}/branches/b_branch
>>> \
>>> -m "copy branch"
>>>
>>> ./k
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
>>> For additional commands, e-mail: users-help_at_subversion.tigris.org
>>>
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: users-help_at_subversion.tigris.org
>
>
>

-- 
View this message in context: http://www.nabble.com/segmentation-fault-with---parents-option-tp19880657p19955740.html
Sent from the Subversion Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-10-13 16:15:28 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.