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

Crash in make_copy_txn()

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Thu, 10 Sep 2015 15:58:27 +0300

TortoiseSVN crash reporter service has several crashes in
libsvn_wc/wc_db.c:make_copy_txn():
[[[
  SVN_ERR(svn_wc__db_base_get_info_internal(NULL, &kind, &revision,
                                            &repos_relpath, &repos_id, NULL,
                                            NULL, NULL, NULL, NULL, NULL, NULL,
                                            NULL, NULL, NULL,
                                            wcroot, local_relpath,
                                            scratch_pool, scratch_pool));

  if (last_repos_relpath
      && repos_id == last_repos_id
      && revision == last_revision)
    {
      const char *name = svn_relpath_skip_ancestor(last_repos_relpath,
                                                   repos_relpath);

      if (strcmp(name, svn_relpath_basename(local_relpath, NULL)) == 0)
       ^^^^^^^^^^ crash here.
        op_depth = last_op_depth;
    }
]]]

Stack trace is:
[[[
> libsvn_tsvn.dll!make_copy_txn(svn_wc__db_wcroot_t * wcroot, const char * local_relpath, __int64 last_repos_id, const char * last_repos_relpath, long last_revision, int last_op_depth, int shadowed, int root_shadow_depth, apr_pool_t * scratch_pool) Line 15120 C
     libsvn_tsvn.dll!make_copy_txn(svn_wc__db_wcroot_t * wcroot, const
char * local_relpath, __int64 last_repos_id, const char *
last_repos_relpath, long last_revision, int last_op_depth, int
shadowed, int root_shadow_depth, apr_pool_t * scratch_pool) Line 15158
   C
     libsvn_tsvn.dll!svn_wc__db_op_make_copy_internal(svn_wc__db_wcroot_t
* wcroot, const char * local_relpath, int move_move_info, const
svn_skel_t * conflicts, const svn_skel_t * work_items, apr_pool_t *
scratch_pool) Line 15285 C
     libsvn_tsvn.dll!db_base_remove(svn_wc__db_wcroot_t * wcroot,
const char * local_relpath, svn_wc__db_t * db, int keep_as_working,
int mark_not_present, int mark_excluded, long marker_revision,
svn_skel_t * conflict, svn_skel_t * scratch_pool, apr_pool_t *) Line
2175 C
     libsvn_tsvn.dll!svn_wc__db_base_remove(svn_wc__db_t * db, const
char * local_abspath, int keep_as_working, int mark_not_present, int
mark_excluded, long marker_revision, svn_skel_t * conflict, svn_skel_t
* scratch_pool, apr_pool_t *) Line 2459 C
     libsvn_tsvn.dll!delete_entry(const char * path, long revision,
void * parent_baton, apr_pool_t * pool) Line 1791 C
     libsvn_tsvn.dll!delete_entry(const char * path, long
base_revision, void * parent_baton, apr_pool_t * pool) Line 99 C
     libsvn_tsvn.dll!ra_svn_handle_delete_entry(svn_ra_svn_conn_st *
conn, apr_pool_t * pool, const apr_array_header_t * params,
ra_svn_driver_state_t * ds) Line 543 C
     libsvn_tsvn.dll!svn_ra_svn_drive_editor2(svn_ra_svn_conn_st *
conn, apr_pool_t * pool, const svn_delta_editor_t * editor, void *
edit_baton, int * aborted, int for_replay) Line 959 C
     libsvn_tsvn.dll!ra_svn_finish_report(void * baton, apr_pool_t *
pool) Line 299 C
     libsvn_tsvn.dll!svn_wc_crawl_revisions5(svn_wc_context_t *
wc_ctx, const char * local_abspath, const svn_ra_reporter3_t *
reporter, void * report_baton, int restore_files, svn_depth_t depth,
int honor_depth_exclude, int depth_compatibility_trick, int
use_commit_times, svn_error_t * (void *) * cancel_func, void *
cancel_baton, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func, void * notify_baton, apr_pool_t * scratch_pool) Line 695
  C
     libsvn_tsvn.dll!update_internal(long * result_rev, int *
timestamp_sleep, apr_hash_t * conflicted_paths, svn_ra_session_t * *
ra_session_p, const char * local_abspath, const char * anchor_abspath,
const svn_opt_revision_t * revision, svn_depth_t depth, int
depth_is_sticky, int ignore_externals, int allow_unver_obstructions,
int adds_as_modification, int notify_summary, svn_client_ctx_t * ctx,
apr_pool_t * result_pool, apr_pool_t * scratch_pool) Line 501 C
     libsvn_tsvn.dll!svn_client__update_internal(long * result_rev,
int * timestamp_sleep, const char * local_abspath, const
svn_opt_revision_t * revision, svn_depth_t depth, int depth_is_sticky,
int ignore_externals, int allow_unver_obstructions, int
adds_as_modification, int make_parents, int innerupdate,
svn_ra_session_t * ra_session, svn_client_ctx_t * ctx, apr_pool_t *
pool) Line 648 C
]]]

Local variables are not available because there is no full dumps for this crash.

-- 
Ivan Zhakov
Received on 2015-09-10 14:58:59 CEST

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