You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Julian Foad <ju...@btopenworld.com> on 2008/07/23 18:11:04 UTC

Aborts on Windows [was: svn 1.5 commit fails]

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


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