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 2008/07/23 16:58:27 UTC

svn 1.5 commit fails

Hi,

a simple

$ svn ci folder1 folder2 -m ""

crashes if the working copy is in the root drive.

To reproduce:
$ SUBST g: d:\development\myworkingcopy
$ cd g:
$ svn ci folder1 folder2 -m ""
This application has requested the Runtime to terminate it in an unusual 
way. Please contact the application's support team for more information.

The reason for this is in subversion\libsvn_client\commit.c, line 1555

Did I mention before that I really hate abort() calls? Instead of 
getting a usable crashdump which could have given me enough information 
to get a reproduction recipe, I got nothing. After several mails spread 
over several days I was finally able to get a reproduction recipe from a 
user who had this problem.

Stefan

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


Re: svn 1.5 commit fails

Posted by Jurko Gospodnetić <ju...@docte.hr>.
  Hi.

>> a simple
>>
>> $ svn ci folder1 folder2 -m ""
>>
>> crashes if the working copy is in the root drive.
>>
>> To reproduce:
>> $ SUBST g: d:\development\myworkingcopy
>> $ cd g:
>> $ svn ci folder1 folder2 -m ""
>> This application has requested the Runtime to terminate it in an 
>> unusual way. Please contact the application's support team for more 
>> information.
>>
>> The reason for this is in subversion\libsvn_client\commit.c, line 1555
>>
>> Did I mention before that I really hate abort() calls? Instead of 
>> getting a usable crashdump which could have given me enough 
>> information to get a reproduction recipe, I got nothing. After several 
>> mails spread over several days I was finally able to get a 
>> reproduction recipe from a user who had this problem.
> 
>   I could not reproduce this same behaviour as I do not have command 
> line svn available here on Windows but I keep encountering a similar 
> issue on Windows XP SP2 with TortoiseSVN 1.5.1 & 1.5.2. (Subversion 
> client library 1.5.1).
> 
>   It happens on some commits (not sure which but it happens only on 
> commits with many files involved) and then that commit can not go 
> through unless I manage to remove the correct file(s) from the list of 
> files to commit or I commit from the original non-substed folder.

   Ok, I reproduced this using TortoiseSVN 1.5.2. You just need to have 
a repository with two folders and in each of those folders you need to 
have a file. And after you update your sandbox, just modify both files 
and attempt to commit from the root folder.

   Using Windows XP SP3 and this is my exact version information 
collected from the TortoiseSVN about box:

> TortoiseSVN 1.5.2, Build 13595 - 32 Bit , 2008/07/31 17:04:57
> Subversion 1.5.1, 
> apr 1.2.12
> apr-utils 1.2.12
> berkeley db 4.4.20
> neon 0.28.2
> OpenSSL 0.9.8g 19 Oct 2007
> zlib 1.2.3


   This is the folder structure and files on which I can reproduce this 
behaviour every time:

   /
   |--BuildSystem/
   |    |--visualStudioBuild.cmd
   |    |--[...plus some extra files...]
   |
   |--Documentation/
   |    |--user_guide.txt
   |    |--[...plus some extra files...]
   |
   |--[...plus some extra folders here...]


   Using TortoiseSVN I just click on the root folder, choose commit, 
select the two modified files, enter the commit message, press ok and 
presto... 'your application has performed an illegal operation' + 
<send>/<don't send> buttons...

   Hope this helps.

   Best regards,
     Jurko Gospodnetić


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

Re: svn 1.5 commit fails

Posted by Jurko Gospodnetić <ju...@docte.hr>.
  Hi Stefan.

> Hi,
> 
> a simple
> 
> $ svn ci folder1 folder2 -m ""
> 
> crashes if the working copy is in the root drive.
> 
> To reproduce:
> $ SUBST g: d:\development\myworkingcopy
> $ cd g:
> $ svn ci folder1 folder2 -m ""
> This application has requested the Runtime to terminate it in an unusual 
> way. Please contact the application's support team for more information.
> 
> The reason for this is in subversion\libsvn_client\commit.c, line 1555
> 
> Did I mention before that I really hate abort() calls? Instead of 
> getting a usable crashdump which could have given me enough information 
> to get a reproduction recipe, I got nothing. After several mails spread 
> over several days I was finally able to get a reproduction recipe from a 
> user who had this problem.

   I could not reproduce this same behaviour as I do not have command 
line svn available here on Windows but I keep encountering a similar 
issue on Windows XP SP2 with TortoiseSVN 1.5.1 & 1.5.2. (Subversion 
client library 1.5.1).

   It happens on some commits (not sure which but it happens only on 
commits with many files involved) and then that commit can not go 
through unless I manage to remove the correct file(s) from the list of 
files to commit or I commit from the original non-substed folder.

   Just chiming in to get this issue dealt with... :-)

   Best regards,
     Jurko Gospodnetić


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

Re: svn 1.5 commit fails

Posted by Lieven Govaerts <sv...@mobsol.be>.
Stefan Küng wrote:
> Hi,
>
> a simple
>
> $ svn ci folder1 folder2 -m ""
>
> crashes if the working copy is in the root drive.
>
> To reproduce:
> $ SUBST g: d:\development\myworkingcopy
> $ cd g:
> $ svn ci folder1 folder2 -m ""
> This application has requested the Runtime to terminate it in an 
> unusual way. Please contact the application's support team for more 
> information.
You've encountered another example of issue #1711.

I've started fixing it on branch windows_dirents. While the fix isn't 
ready yet (far from it I'm afraid), this specific case is solved.

Note: this will not be releasable before 1.6. as it introduces a whole 
new set of APIs.

Lieven

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

Re: Aborts on Windows [was: svn 1.5 commit fails]

Posted by Julian Foad <ju...@btopenworld.com>.
On Wed, 2008-07-23 at 21:06 +0200, Stefan Küng wrote:
> Julian Foad wrote:
> > On Wed, 2008-07-23 at 18:58 +0200, Stefan Küng wrote:
> >> Hi,
> >>
> >> a simple
> >>
> >> $ svn ci folder1 folder2 -m ""
> >>
> >> crashes if the working copy is in the root drive.
> >>
> >> To reproduce:
> >> $ SUBST g: d:\development\myworkingcopy
> >> $ cd g:
> >> $ svn ci folder1 folder2 -m ""
> >> This application has requested the Runtime to terminate it in an unusual 
> >> way. Please contact the application's support team for more information.
> >>
> >> The reason for this is in subversion\libsvn_client\commit.c, line 1555

[...]

> Could you reproduce the problem I mentioned?

No. I don't have Windows. On Linux I tried:

[[[
edith:/ # svn st -v
                1        1 julianfoad   .
?                                       media
?                                       root
?                                       home
?                                       var
?                                       lost+found
?                                       sbin
?                                       mnt
?                                       tmp
?                                       opt
?                                       .qt
?                                       boot
?                                       proc
?                                       lib
?                                       bin
?                                       usr
?                                       srv
?                                       etc
?                                       sys
?                                       dev
                1        1 julianfoad   d-mod
                1        1 julianfoad   d-mod/d
                1        1 julianfoad   d-mod/f
                1        1 julianfoad   f-mod
                1        1 julianfoad   d-del
                1        1 julianfoad   d-del/d
                1        1 julianfoad   d-del/f
                1        1 julianfoad   f-del
edith:/ # svn ci d-mod d-del -m ""
edith:/ # svn rm d-del
D         d-del/d
D         d-del/f
D         d-del
edith:/ # echo Line2 >> d-mod/f
edith:/ # svn mkdir d-mod/d/d-add
A         d-mod/d/d-add
edith:/ # svn ci d-mod d-del -m ""
Deleting       d-del
Adding         d-mod/d/d-add
Sending        d-mod/f
Transmitting file data .
Committed revision 2.
]]]

There was no output from the first "ci" command (with no changes to
commit), and the second one (with some changes) succeeded.

- Julian



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


RE: Aborts on Windows [was: svn 1.5 commit fails]

Posted by Bert Huijben <be...@vmoo.com>.
> -----Original Message-----
> From: Stefan Küng <to...@gmail.com> [mailto:=?ISO-8859-
> 1?Q?Stefan_K=FCng_<to...@gmail.com>?=]
> Sent: woensdag 23 juli 2008 21:06
> To: dev@subversion.tigris.org
> Subject: Re: Aborts on Windows [was: svn 1.5 commit fails]
> 
> Julian Foad wrote:
> > On Wed, 2008-07-23 at 18:58 +0200, Stefan Küng wrote:
> >> Hi,
> >>
> >> a simple
> >>
> >> $ svn ci folder1 folder2 -m ""
> >>
> >> crashes if the working copy is in the root drive.
> >>
> >> To reproduce:
> >> $ SUBST g: d:\development\myworkingcopy
> >> $ cd g:
> >> $ svn ci folder1 folder2 -m ""
> >> This application has requested the Runtime to terminate it in an
> unusual
> >> way. Please contact the application's support team for more
> information.
> >>
> >> The reason for this is in subversion\libsvn_client\commit.c, line
> 1555
> >>
> >> Did I mention before that I really hate abort() calls? Instead of
> >> getting a usable crashdump which could have given me enough
> information
> >> to get a reproduction recipe, I got nothing. After several mails
> spread
> >> over several days I was finally able to get a reproduction recipe
> from a
> >> user who had this problem.
> >
> > You did mention before :-)

We see a few replaced abort()s per week on the AnkhSVN 2.0 error report
list. Since we only released 2.0 about two weeks ago this number will
probably grow over the next few weeks. All via svn_client_commit4()
(No usable reports yet for tracing the error, but the issue seems to be
reproducible for some users (with a few days in between))

I globally replaced the abort calls in subversion 1.5.0 by a call into c++
and throw an exception there, that eventually (several layers above the call
into subversion) is handled in a Visual Studio error handler.

We can't install a crash handler or allow crashing completely in Visual
Studio. (Too much source code to lose)

	Bert


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


Re: Aborts on Windows [was: svn 1.5 commit fails]

Posted by Stefan Küng <to...@gmail.com>.
Julian Foad wrote:
> On Wed, 2008-07-23 at 18:58 +0200, Stefan Küng wrote:
>> Hi,
>>
>> a simple
>>
>> $ svn ci folder1 folder2 -m ""
>>
>> crashes if the working copy is in the root drive.
>>
>> To reproduce:
>> $ SUBST g: d:\development\myworkingcopy
>> $ cd g:
>> $ svn ci folder1 folder2 -m ""
>> This application has requested the Runtime to terminate it in an unusual 
>> way. Please contact the application's support team for more information.
>>
>> The reason for this is in subversion\libsvn_client\commit.c, line 1555
>>
>> Did I mention before that I really hate abort() calls? Instead of 
>> getting a usable crashdump which could have given me enough information 
>> to get a reproduction recipe, I got nothing. After several mails spread 
>> over several days I was finally able to get a reproduction recipe from a 
>> user who had this problem.
> 
> You did mention before :-)
> 
> Have you tried the replacement for abort() which is now on the trunk?
> The line above has changed to:
> 
>                   SVN_ERR_ASSERT((target[0] != '\0') &&
>                                  !svn_dirent_is_root(target,
>                                         strlen(target)));
> 
> This by default calls svn_error_abort_on_malfunction(), which reports a
> Subversion error via svn_handle_error2(). If that's still not good and
> you need it to do something different on Windows to be helpful, let us
> know what that is and we can put it in.

Thanks for the info. Yes I think the changes on trunk will help a lot in 
such situations.

Could you reproduce the problem I mentioned?

Stefan


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


Aborts on Windows [was: svn 1.5 commit fails]

Posted by Julian Foad <ju...@btopenworld.com>.
On Wed, 2008-07-23 at 18:58 +0200, Stefan Küng wrote:
> Hi,
> 
> a simple
> 
> $ svn ci folder1 folder2 -m ""
> 
> crashes if the working copy is in the root drive.
> 
> To reproduce:
> $ SUBST g: d:\development\myworkingcopy
> $ cd g:
> $ svn ci folder1 folder2 -m ""
> This application has requested the Runtime to terminate it in an unusual 
> way. Please contact the application's support team for more information.
> 
> The reason for this is in subversion\libsvn_client\commit.c, line 1555
> 
> Did I mention before that I really hate abort() calls? Instead of 
> getting a usable crashdump which could have given me enough information 
> to get a reproduction recipe, I got nothing. After several mails spread 
> over several days I was finally able to get a reproduction recipe from a 
> user who had this problem.

You did mention before :-)

Have you tried the replacement for abort() which is now on the trunk?
The line above has changed to:

                  SVN_ERR_ASSERT((target[0] != '\0') &&
                                 !svn_dirent_is_root(target,
                                        strlen(target)));

This by default calls svn_error_abort_on_malfunction(), which reports a
Subversion error via svn_handle_error2(). If that's still not good and
you need it to do something different on Windows to be helpful, let us
know what that is and we can put it in.

Thanks.
- Julian



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