You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Collins <bc...@debian.org> on 2002/03/08 04:41:05 UTC

[patch] better error return

Trying to track the out of memory "while deleting string" I found that
this was not where the original error occurs. Instead, this happens
after the original failure in libsvn_ra_local/commit_editor.c(close_edit),
which eventually gets to the above error during the txn abort. Here's a
patch to make the original error get returned:


  * libsvn_ra_local/commit_editor.c:

    (close_edit): If svn_repos_fs_commit_txn fails, we do not want to
      return an error from svn_fs_abort_txn. Instead, call
      svn_fs_abort_txn without error checking, and return what
      svn_repos_fs_commit_txn returned to us.

-- 
 .----------=======-=-======-=========-----------=====------------=-=-----.
/       Ben Collins    --    Debian GNU/Linux    --    WatchGuard.com      \
`          bcollins@debian.org   --   Ben.Collins@watchguard.com           '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'

Re: [patch] better error return

Posted by Kevin Pilch-Bisson <ke...@pilch-bisson.net>.
There are similar problems in libsvn_wc/adm_crawler.c at the least.

grep for "abort_report"

On Thu, Mar 07, 2002 at 11:41:05PM -0500, Ben Collins wrote:
> Trying to track the out of memory "while deleting string" I found that
> this was not where the original error occurs. Instead, this happens
> after the original failure in libsvn_ra_local/commit_editor.c(close_edit),
> which eventually gets to the above error during the txn abort. Here's a
> patch to make the original error get returned:
> 
> 
>   * libsvn_ra_local/commit_editor.c:
> 
>     (close_edit): If svn_repos_fs_commit_txn fails, we do not want to
>       return an error from svn_fs_abort_txn. Instead, call
>       svn_fs_abort_txn without error checking, and return what
>       svn_repos_fs_commit_txn returned to us.
> 
> -- 
>  .----------=======-=-======-=========-----------=====------------=-=-----.
> /       Ben Collins    --    Debian GNU/Linux    --    WatchGuard.com      \
> `          bcollins@debian.org   --   Ben.Collins@watchguard.com           '
>  `---=========------=======-------------=-=-----=-===-======-------=--=---'

> Index: subversion/libsvn_ra_local/commit_editor.c
> ===================================================================
> --- subversion/libsvn_ra_local/commit_editor.c
> +++ subversion/libsvn_ra_local/commit_editor.c	Thu Mar  7 23:23:49 2002
> @@ -474,7 +474,10 @@
>           aborted completely.  No second chances;  the user simply
>           needs to update and commit again  :) */
>  
> -      SVN_ERR (svn_fs_abort_txn (eb->txn));
> +      /* We don't care about the error return here, we want to return the
> +         orignal error. There's likely something seriously wrong already, and
> +         we don't want to cover it up.  */
> +      svn_fs_abort_txn (eb->txn);
>        return err;
>      }
>  
> 

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

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kevin Pilch-Bisson                    http://www.pilch-bisson.net
     "Historically speaking, the presences of wheels in Unix
     has never precluded their reinvention." - Larry Wall
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~