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

Subversion Exception

From: Walser Markus <MarkusWalser_at_schleuniger.ch>
Date: Tue, 29 Sep 2009 11:18:58 +0200

Hi
Using Tortoise 1.6.99.17310 (snapshot 29th of September 2009) on WinXP SP3 I encountered a subversion exception by doing the following:

1. Having a branch A with some minor local modification.
2. Merged a range of revisions from another branch B into the branch A 3. During merging I got some conflicts in branch A. (Not related to the local modification) 4. Aborted branch process.
5. Saved the local modification form point 1 to a patch.
6. Did a revert on the root of the branch A selecting everything.
   (containing all conflicted files and all modified files from point 1.)

I'd expected either the whole working copy to be resetted to it's base revision or a message box requesting to do a cleanup first.

What happened was message box containg the text:

        Subversion encountered a serious problem.
        Please take the time to report this on our mailing list
        With as much information as possible about what
        you were trying to do.

        Subversion reported the following:

        In file
        'D:\Development\SVN\Releases\TortoiseSVN-1.6.5\ext\subversion\subversion\libsvn_wc\tree_conflicts.c'
        line 568: assertion failed (strcmp(dir_path, svn_path_dirname(victim_path,
        pool)) == 0)

Looking a bit closer to the problem I noticed, that the exception occurs only when reverting a file with:
"Text status" = "normal, tree conflict" and "Property status" "normal". Having "Property status" "normal"
removed (happened after aborting a svn command during debug session) revert doesn't report the exception anymore.
Instead a message box requesting a cleanup is shown.

With Visual Studio I can get the following callstack:
_____________________________________________________________________________________________________________________________________________________
         TortoiseProc.exe!SVN::GetErrorString(svn_error_t * Err=0x029fcb40, int wrap=32176688) Zeile 348 + 0xd Bytes
         TortoiseProc.exe!svn_error_handle_malfunction(int can_return=1, const char * file=0x0071af28, int line=570, const char * expr=0x0071b134) Zeile 2935
         TortoiseProc.exe!svn_wc__loggy_del_tree_conflict(svn_stringbuf_t * * log_accum=0x01eafb54, const char * victim_path=0x02920180, svn_wc_adm_access_t * adm_access=0x01451880, apr_pool_t * pool=0x01451760) Zeile 570 + 0x50 Bytes
         TortoiseProc.exe!svn_wc__del_tree_conflict(const char * victim_path=0x02920180, svn_wc_adm_access_t * adm_access=0x01451880, apr_pool_t * pool=0x01451760) Zeile 492 + 0x23 Bytes
         TortoiseProc.exe!revert_internal(const char * path=0x02920180, svn_wc_adm_access_t * parent_access=0x01451880, svn_depth_t depth=svn_depth_empty, int use_commit_times=0, apr_hash_t * changelist_hash=0x00000000, svn_error_t * (void *)* cancel_func=0x0044eba0, void * cancel_baton=0x0012eeb0, void (void *, const svn_wc_notify_t *, apr_pool_t *)* notify_func=0x0044e877, void * notify_baton=0x0012eeb0, apr_pool_t * pool=0x01451760) Zeile 2267 + 0x8 Bytes
         TortoiseProc.exe!svn_wc_revert3(const char * path=0x02920180, svn_wc_adm_access_t * parent_access=0x01451880, svn_depth_t depth=svn_depth_empty, int use_commit_times=0, const apr_array_header_t * changelists=0x014607c8, svn_error_t * (void *)* cancel_func=0x0044eba0, void * cancel_baton=0x0012eeb0, void (void *, const svn_wc_notify_t *, apr_pool_t *)* notify_func=0x0044e877, void * notify_baton=0x0012eeb0, apr_pool_t * pool=0x01451760) Zeile 2384 + 0x33 Bytes
         TortoiseProc.exe!revert(const char * path=0x02920180, svn_depth_t depth=svn_depth_empty, int use_commit_times=0, const apr_array_header_t * changelists=0x014607c8, svn_client_ctx_t * ctx=0x00000000, apr_pool_t * pool=0x01451760) Zeile 78 + 0x27 Bytes
         TortoiseProc.exe!svn_client_revert2(const apr_array_header_t * paths=0x014607e8, svn_depth_t depth=svn_depth_empty, const apr_array_header_t * changelists=0x014607c8, svn_client_ctx_t * ctx=0x00000000, apr_pool_t * pool=0x01460788) Zeile 136 + 0x14 Bytes
         TortoiseProc.exe!SVN::Revert(const CTSVNPathList & pathlist={...}, const CStringArray & changelists={...}, bool recurse=false) Zeile 455 + 0x3f Bytes
_____________________________________________________________________________________________________________________________________________________

Whereas:

        victim_path 0x02920180 "C:/SVNDaten/cssw/Branches/Generation_2007/PS9550_PDB_Servo_Rev2/CS_Commons/Tools" const char *
        adm_access 0x01451880 {wc_format=10 path=0x014518a8 "C:/SVNDaten/cssw/Branches/Generation_2007/PS9550_PDB_Servo_Rev2/CS_Commons/Tools" type=svn_wc__adm_access_write_lock ...} svn_wc_adm_access_t *
                wc_format 10 int
                path 0x014518a8 "C:/SVNDaten/cssw/Branches/Generation_2007/PS9550_PDB_Servo_Rev2/CS_Commons/Tools" const char *
                type svn_wc__adm_access_write_lock svn_wc__adm_access_type
                lock_exists 1 int
                shared 0x00000000 {set=??? } svn_wc__adm_shared_t *
                set_owner 0 int
                entries 0x01abc758 apr_hash_t *
                entries_hidden 0x01abc758 apr_hash_t *
                wcprops 0x00000000 apr_hash_t *
                pool 0x01451760 apr_pool_t *
        pool 0x01451760 apr_pool_t *
        log_accum 0x01eafb54 svn_stringbuf_t * *
        dir_path 0x014518a8 "C:/SVNDaten/cssw/Branches/Generation_2007/PS9550_PDB_Servo_Rev2/CS_Commons/Tools" const char *

The client is connected via https to a VisualSVN server version 1.6.5 with FSFS database on a Win2003 server.
Is there a chance to get this bug fixed?

Kind regards,

Markus

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2401539

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-09-29 11:27:25 CEST

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