Hi,
Another one from the TSVN crash reports:
Several reports because of a call to SVN_ERR_MALFUNCTION_NO_RETURN()
when doing an 'svn st'. Stacktrace attached.
The call is in libsvn_subr/token.c:51
int
svn_token__from_word_strict(const svn_token_map_t *map,
const char *word)
{
int value = svn_token__from_word(map, word);
if (value == SVN_TOKEN_UNKNOWN)
SVN_ERR_MALFUNCTION_NO_RETURN();
return value;
}
but there's already a function svn_token__from_word_err() which does not
abort but return an error.
For an operation that's maybe the most used one (svn st) I'd rather have
an error than an abort().
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
> libsvn_tsvn32.dll!svn_token__from_word_strict(const svn_token_map_t *
> map=0x6f578ed4, const char * word=0x007bdde8) Line 51 C
libsvn_tsvn32.dll!svn_sqlite__column_token(svn_sqlite__stmt_t *
stmt=0x00765bd8, int column=4, const svn_token_map_t * map=0x6f578ed4) Line 509
C
libsvn_tsvn32.dll!read_children_info(void * baton=0x00765bd8,
svn_wc__db_wcroot_t * wcroot=0x007654f0, const char * dir_relpath=0x007750e8,
apr_pool_t * scratch_pool=0x00774ac0) Line 6848 C
libsvn_tsvn32.dll!run_txn(void * baton=0x0216ecf0, svn_sqlite__db_t *
db=0x00765178, apr_pool_t * scratch_pool=0x00774ac0) Line 185 C
libsvn_tsvn32.dll!svn_sqlite__with_lock(svn_sqlite__db_t *
db=0x00765178, svn_error_t * (void *, svn_sqlite__db_t *, apr_pool_t *) *
cb_func=0x6f425ba0, void * cb_baton=0x0216ecf0, apr_pool_t *
scratch_pool=0x00774ac0) Line 1111 C
libsvn_tsvn32.dll!svn_wc__db_with_txn(svn_wc__db_wcroot_t *
wcroot=0x007654f0, const char * local_relpath=0x007750e8, svn_error_t * (void
*, svn_wc__db_wcroot_t *, const char *, apr_pool_t *) * cb_func=0x6f422c50,
void * cb_baton=0x0216ed30, apr_pool_t * scratch_pool=0x00774ac0) Line 203
C
libsvn_tsvn32.dll!svn_wc__db_read_children_info(apr_hash_t * *
nodes=0x0216ed78, apr_hash_t * * conflicts=0x0216ed70, svn_wc__db_t *
db=0x00764b80, const char * dir_abspath=0x00764d18, apr_pool_t *
result_pool=0x00772ab8, apr_pool_t * scratch_pool=0x00774ac0) Line 7068 C
libsvn_tsvn32.dll!get_dir_status(const walk_status_baton *
wb=0x0216edfc, const char * local_abspath=0x00764d18, const char *
selected=0x00000000, int skip_this_dir=0, const char *
parent_repos_root_url=0x00000000, const char * parent_repos_relpath=0x00000000,
const char * parent_repos_uuid=0x00000000, const svn_wc__db_info_t *
dir_info=0x00765a08, const svn_io_dirent2_t * dirent=0x00765bc0, const
apr_array_header_t * ignore_patterns=0x00765898, svn_depth_t
depth=svn_depth_immediates, int get_all=1, int no_ignore=1, svn_error_t * (void
*, const char *, const svn_wc_status3_t *, apr_pool_t *) *
status_func=0x6f34e5b0, void * status_baton=0x0216ee90, svn_error_t * (void *)
* cancel_func=0x009d9010, void * cancel_baton=0x00741858, apr_pool_t *
scratch_pool=0x00764a80) Line 1067 C
libsvn_tsvn32.dll!svn_wc__internal_walk_status(svn_wc__db_t *
db=0x00765a08, const char * local_abspath=0x00000000, svn_depth_t
depth=svn_depth_immediates, int get_all=1, int no_ignore=1, int
ignore_text_mods=0, const apr_array_header_t * ignore_patterns=0x00765898,
svn_error_t * (void *, const char *, const svn_wc_status3_t *, apr_pool_t *) *
status_func=0x6f34e5b0, void * status_baton=0x0216ee90, svn_error_t * (void *)
* cancel_func=0x009d9010, void * cancel_baton=0x00741858, apr_pool_t *
scratch_pool=0x00764a80) Line 2421 C
libsvn_tsvn32.dll!svn_client_status5(long * result_rev=0x00000000,
svn_client_ctx_t * ctx=0x00764b10, const char * path=0x003afcb8, const
svn_opt_revision_t * revision=0x0216ef24, svn_depth_t
depth=svn_depth_immediates, int get_all=1, int update=0, int no_ignore=1, int
ignore_externals=0, int depth_as_sticky=1, const apr_array_header_t *
changelists=0x00000000, svn_error_t * (void *, const char *, const
svn_client_status_t *, apr_pool_t *) * status_func=0x009cb360, void *
status_baton=0x007f9ae8, apr_pool_t * pool=0x00764a80) Line 478 C