Hi,
Again a post about some crash dumps that were sent for TSVN:
When upgrading a working copy, there's an abort() called here:
subversion\subversion\libsvn_wc\util.c, 300:
(svn_uri_is_canonical(repos_url, pool) &&
svn_relpath_is_canonical(path_in_repos) && SVN_IS_VALID_REVNUM(peg_rev))
problem in this case: the 'repos_url' looks like this:
https://xxx.xx.xxx.192:443/svn/
now, in 1.6.x this was a valid canonical url. In 1.7 however, having the
port number in the url if it's the default port makes
svn_uri_is_canonical() return FALSE.
Fine by me, but when upgrading, this should be handled much better than
with an abort() call!
stacktrace attached.
crash dumps (26) available here:
https://www.crash-server.com/Problem.aspx?ClientID=tsvn&ProblemID=1170
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
TortoiseProc.exe!svn_error_handle_malfunction(int can_return=0, const
char * file=0x68a88df8, int line=300, const char * expr=0x68a88e58) Line 2981
C++
> libsvn_tsvn32.dll!svn_wc_conflict_version_create(const char *
> repos_url=0x01b94698, const char * path_in_repos=0x01b946c8, long
> peg_rev=1426, svn_node_kind_t node_kind=svn_node_file (1), apr_pool_t *
> pool=0x01b94250) Line 300 C
libsvn_tsvn32.dll!read_node_version_info(const
svn_wc_conflict_version_t * * version_info=0x0018f050, const svn_skel_t *
skel=0x01b94400, apr_pool_t * result_pool=0x01b94250, apr_pool_t *
scratch_pool=0x01b94250) Line 183 C
libsvn_tsvn32.dll!svn_wc__deserialize_conflict(const
svn_wc_conflict_description2_t * * conflict=0x0018f09c, const svn_skel_t *
skel=0x01b944a8, const char * dir_path=0x01b944d8, apr_pool_t *
result_pool=0x01b94250, apr_pool_t * scratch_pool=0x01b94250) Line 254 C
libsvn_tsvn32.dll!write_entry(write_baton * * entry_node=0x0018f118,
const write_baton * parent_node=0x01ba85b8, svn_wc__db_t * db=0x01bb75e8,
svn_sqlite__db_t * sdb=0x01bc1668, __int64 wc_id=1, __int64 repos_id=1, const
svn_wc_entry_t * entry=0x02ae00c0, const svn_wc__text_base_info_t *
text_base_info=0x00000000, const char * local_relpath=0x01ba83a7, const char *
tmp_entry_abspath=0x01b94290, const char * root_abspath=0x05e110b8, const
svn_wc_entry_t * this_dir=0x02ae00c0, int create_locks=0, apr_pool_t *
result_pool=0x01b781e0, apr_pool_t * scratch_pool=0x01b94250) Line 1828 C
libsvn_tsvn32.dll!svn_wc__write_upgraded_entries(void * *
dir_baton=0x0018f1cc, void * parent_baton=0x01ba85b8, svn_wc__db_t *
db=0x01bb75e8, svn_sqlite__db_t * sdb=0x01bc1668, __int64 repos_id=1, __int64
wc_id=1, const char * dir_abspath=0x01ba8398, const char *
new_root_abspath=0x01bc15c8, apr_hash_t * entries=0x063b3ac8, apr_hash_t *
text_bases_info=0x063c2f68, apr_pool_t * result_pool=0x01b781e0, apr_pool_t *
scratch_pool=0x05e23740) Line 2301 C
libsvn_tsvn32.dll!upgrade_to_wcng(void * * dir_baton=0x0018f1cc, void *
parent_baton=0x01ba85b8, svn_wc__db_t * db=0x01bb75e8, const char *
dir_abspath=0x0018ee80, int old_format=10, __int64 wc_id=1, svn_error_t *
(const char * *, const char * *, void *, const char *, apr_pool_t *, apr_pool_t
*) * repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c, apr_hash_t
* repos_cache=0x01b6c248, const upgrade_data_t * data=0x0018f3e0, apr_pool_t *
result_pool=0x01b781e0, apr_pool_t * scratch_pool=0x05e23740) Line 1483 C
libsvn_tsvn32.dll!upgrade_working_copy(void * parent_baton=0x01ba85b8,
svn_wc__db_t * db=0x01bb75e8, const char * dir_abspath=0x01ba8398, svn_error_t
* (const char * *, const char * *, void *, const char *, apr_pool_t *,
apr_pool_t *) * repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c,
apr_hash_t * repos_cache=0x01b6c248, const upgrade_data_t * data=0x0018f3e0,
svn_error_t * (void *) * cancel_func=0x004ad9e6, void *
cancel_baton=0x01af8ca8, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func=0x004adbbb, void * notify_baton=0x01af8ca8, apr_pool_t *
result_pool=0x01b781e0, apr_pool_t * scratch_pool=0x01b781e0) Line 1731 C
libsvn_tsvn32.dll!upgrade_working_copy(void * parent_baton=0x01b766d8,
svn_wc__db_t * db=0x01bb75e8, const char * dir_abspath=0x01b76570, svn_error_t
* (const char * *, const char * *, void *, const char *, apr_pool_t *,
apr_pool_t *) * repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c,
apr_hash_t * repos_cache=0x01b6c248, const upgrade_data_t * data=0x0018f3e0,
svn_error_t * (void *) * cancel_func=0x004ad9e6, void *
cancel_baton=0x01af8ca8, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func=0x004adbbb, void * notify_baton=0x01af8ca8, apr_pool_t *
result_pool=0x01ba82a0, apr_pool_t * scratch_pool=0x01ba82a0) Line 1750 C
libsvn_tsvn32.dll!upgrade_working_copy(void * parent_baton=0x01b74468,
svn_wc__db_t * db=0x01bb75e8, const char * dir_abspath=0x01b74368, svn_error_t
* (const char * *, const char * *, void *, const char *, apr_pool_t *,
apr_pool_t *) * repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c,
apr_hash_t * repos_cache=0x01b6c248, const upgrade_data_t * data=0x0018f3e0,
svn_error_t * (void *) * cancel_func=0x004ad9e6, void *
cancel_baton=0x01af8ca8, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func=0x004adbbb, void * notify_baton=0x01af8ca8, apr_pool_t *
result_pool=0x01b761d8, apr_pool_t * scratch_pool=0x01b761d8) Line 1750 C
libsvn_tsvn32.dll!upgrade_working_copy(void * parent_baton=0x01bc1d88,
svn_wc__db_t * db=0x01bb75e8, const char * dir_abspath=0x01bc1cf8, svn_error_t
* (const char * *, const char * *, void *, const char *, apr_pool_t *,
apr_pool_t *) * repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c,
apr_hash_t * repos_cache=0x01b6c248, const upgrade_data_t * data=0x0018f3e0,
svn_error_t * (void *) * cancel_func=0x004ad9e6, void *
cancel_baton=0x01af8ca8, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func=0x004adbbb, void * notify_baton=0x01af8ca8, apr_pool_t *
result_pool=0x01b741d0, apr_pool_t * scratch_pool=0x01b741d0) Line 1750 C
libsvn_tsvn32.dll!upgrade_working_copy(void * parent_baton=0x00000000,
svn_wc__db_t * db=0x01bb75e8, const char * dir_abspath=0x01b6c238, svn_error_t
* (const char * *, const char * *, void *, const char *, apr_pool_t *,
apr_pool_t *) * repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c,
apr_hash_t * repos_cache=0x01b6c248, const upgrade_data_t * data=0x0018f3e0,
svn_error_t * (void *) * cancel_func=0x004ad9e6, void *
cancel_baton=0x01af8ca8, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func=0x004adbbb, void * notify_baton=0x01af8ca8, apr_pool_t *
result_pool=0x01b6c1b0, apr_pool_t * scratch_pool=0x01b6c1b0) Line 1750 C
libsvn_tsvn32.dll!upgrade_working_copy_txn(void * baton=0x0018f3f8,
svn_sqlite__db_t * sdb=0x01bc1668, apr_pool_t * scratch_pool=0x01b6c1b0) Line
1860 C
libsvn_tsvn32.dll!svn_sqlite__with_lock(svn_sqlite__db_t *
db=0x01bc1668, svn_error_t * (void *, svn_sqlite__db_t *, apr_pool_t *) *
cb_func=0x6891fb60, void * cb_baton=0x0018f3f8, apr_pool_t *
scratch_pool=0x01b6c1b0) Line 1111 C
libsvn_tsvn32.dll!svn_wc_upgrade(svn_wc_context_t * wc_ctx=0x01afb038,
const char * local_abspath=0x01b6c238, svn_error_t * (const char * *, const
char * *, void *, const char *, apr_pool_t *, apr_pool_t *) *
repos_info_func=0x688340b0, void * repos_info_baton=0x0018f47c, svn_error_t *
(void *) * cancel_func=0x004ad9e6, void * cancel_baton=0x01af8ca8, void (void
*, const svn_wc_notify_t *, apr_pool_t *) * notify_func=0x004adbbb, void *
notify_baton=0x01af8ca8, apr_pool_t * scratch_pool=0x01b6c1b0) Line 1956
C
libsvn_tsvn32.dll!svn_client_upgrade(const char * path=0x0033a488,
svn_client_ctx_t * ctx=0x01afafd8, apr_pool_t * scratch_pool=0x01b6c1b0) Line
141 C