Hi,
here's another one from the crash reports sent for TSVN:
When doing an 'svn st -u' there's a crash happening in
svn_relpath_join(). Stacktrace attached.
in status.c:1579, make_file_baton() there's this:
f->repos_relpath = svn_relpath_join(find_dir_repos_relpath(pb, pool),
f->name, pool);
and in find_dir_repos_relpath:
/* Note that status->repos_relpath could be NULL in the case of a missing
* directory, which means we need to recurse up another level to get
* a useful relpath. */
if (status && status->repos_relpath)
return status->repos_relpath;
repos_relpath = find_dir_repos_relpath(pb, pool);
return svn_relpath_join(repos_relpath, db->name, pool);
The comment explains that status->repos_relpath can be NULL. In that
case, the parent dir is used, but maybe
db->edit_baton->anchor_status->repos_relpath can be NULL as well?
full dump available here:
https://www.crash-server.com/DumpGroup.aspx?ClientID=tsvn&DumpGroupID=4517
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
libsvn_tsvn32.dll!svn_relpath_join(const char * base=0x00000000, const
char * component=0x0229b0c0, apr_pool_t * pool=0x0229b010) Line 1158 C
> libsvn_tsvn32.dll!make_file_baton(dir_baton *
> parent_dir_baton=0x02297048, const char * path=0x022998c0, apr_pool_t *
> pool=0x0229b010) Line 1580 C
libsvn_tsvn32.dll!add_file(const char * path=0x022998c0, void *
parent_baton=0x02297048, const char * copyfrom_path=0x00000000, long
copyfrom_revision=-1, apr_pool_t * pool=0x0229b010, void * *
file_baton=0x0229b054) Line 2037 C
libsvn_tsvn32.dll!add_file(const char * path=0x022998c0, void *
parent_baton=0x02297040, const char * copyfrom_path=0x00000000, long
copyfrom_revision=-1, apr_pool_t * pool=0x0229b010, void * *
file_baton=0x02289a1c) Line 172 C
libsvn_tsvn32.dll!start_element(int * elem=0x03faf4d0, void *
userdata=0x022899f8, int parent=239, const char * nspace=0x02257248, const char
* elt_name=0x0230a018, const char * * atts=0x0231ea38) Line 1691 C
libsvn_tsvn32.dll!wrapper_startelm_cb(void * baton=0x022930a8, int
parent=239, const char * nspace=0x02257248, const char * name=0x0230a018, const
char * * atts=0x0231ea38) Line 1097 C
libsvn_tsvn32.dll!start_element(void * userdata=0x0230d3d0, const char
* name=0x0230dd28, const char * * atts=0x0231ea38) Line 330 C
libaprutil_tsvn32.dll!doContent(XML_ParserStruct * parser=0x023197c0,
int startTagLevel=0, const encoding * enc=0x02339238, const char *
s=0x0233922d, const char * end=0x02339489, const char * * nextPtr=0x023197d8)
Line 2148 C
libaprutil_tsvn32.dll!contentProcessor(XML_ParserStruct *
parser=0x023197c0, const char * start=0x0233915f, const char * end=0x02339489,
const char * * endPtr=0x023197d8) Line 1816 C
libaprutil_tsvn32.dll!doProlog(XML_ParserStruct * parser=0x02319701,
const encoding * enc=0x6503b470, const char * s=0x0233915f, const char *
end=0x02339489, int tok=2, const char * next=0x0233915f, const char * *
nextPtr=0x023197d8) Line 3541 C
libaprutil_tsvn32.dll!prologInitProcessor(XML_ParserStruct *
parser=0x0233915e, const char * s=0x02339138, const char * end=0x02339489,
const char * * nextPtr=0x023197d8) Line 3132 C
libaprutil_tsvn32.dll!XML_ParseBuffer(XML_ParserStruct *
parser=0x023197c0, int len=849, int isFinal=0) Line 1482 C
libaprutil_tsvn32.dll!XML_Parse(XML_ParserStruct * parser=0x023197c0,
const char * s=0x0230e400, int len=849, int isFinal=0) Line 1469 C
libsvn_tsvn32.dll!ne_xml_parse(ne_xml_parser_s * p=0x0230d3d0, const
char * block=0x0230e400, unsigned int len=849) Line 588 C
libsvn_tsvn32.dll!cancellation_callback(void * userdata=0x02299878,
const char * block=0x0230e400, unsigned int len=849) Line 1241 C
libsvn_tsvn32.dll!do_inflate(ne_decompress_s * ctx=0x0230e3f8, const
char * buf=0x00000000, unsigned int len=0) Line 220 C
libsvn_tsvn32.dll!gz_reader(void * ud=0x0230e3f8, const char *
buf=0x0230b2d8, unsigned int len=458) Line 336 C
libsvn_tsvn32.dll!ne_discard_response(ne_request_s * req=0x000001ca)
Line 1389 C
libsvn_tsvn32.dll!ne_request_dispatch(ne_request_s * req=0x0230b2b0)
Line 1401 C
libsvn_tsvn32.dll!svn_ra_neon__request_dispatch(int *
code_p=0x00000000, svn_ra_neon__request_t * req=0x649b8780, apr_hash_t *
extra_headers=0x649b8790, const char * body=0x00000000, int okay_1=200, int
okay_2=0, apr_pool_t * pool=0x02284fb8) Line 1535 C
libsvn_tsvn32.dll!parsed_request(svn_ra_neon__request_t *
req=0x02293030, svn_ra_neon__session_t * ras=0x022870f8, const char *
method=0x649b8764, const char * url=0x02287680, const char * body=0x00000000,
apr_file_t * body_file=0x02291078, void (ne_xml_parser_s *, void *) *
set_parser=0x00000000, svn_error_t * (int *, void *, int, const char *, const
char *, const char * *) * startelm_cb=0x647de540, svn_error_t * (void *, int,
const char *, unsigned int) * cdata_cb=0x647df250, svn_error_t * (void *, int,
const char *, const char *) * endelm_cb=0x647df380, void * baton=0x022899f8,
apr_hash_t * extra_headers=0x02299700, int * status_code=0x00000000, int
spool_response=0, apr_pool_t * pool=0x02284fb8) Line 1323 C
libsvn_tsvn32.dll!svn_ra_neon__parsed_request(svn_ra_neon__session_t *
sess=0x022870f8, const char * method=0x649b8764, const char * url=0x02287680,
const char * body=0x00000000, apr_file_t * body_file=0x02291078, void
(ne_xml_parser_s *, void *) * set_parser=0x00000000, svn_error_t * (int *, void
*, int, const char *, const char *, const char * *) * startelm_cb=0x647de540,
svn_error_t * (void *, int, const char *, unsigned int) * cdata_cb=0x647df250,
svn_error_t * (void *, int, const char *, const char *) * endelm_cb=0x647df380,
void * baton=0x022899f8, apr_hash_t * extra_headers=0x02299700, int *
status_code=0x00000000, int spool_response=0, apr_pool_t * pool=0x02284fb8)
Line 1378 C
libsvn_tsvn32.dll!reporter_finish_report(void *
report_baton=0x022899f8, apr_pool_t * pool=0x02284fb8) Line 2424 C
libsvn_tsvn32.dll!reporter_finish_report(void *
report_baton=0x03faf924, apr_pool_t * pool=0x02284fb8) Line 217 C
libsvn_tsvn32.dll!svn_wc_crawl_revisions5(svn_wc_context_t *
wc_ctx=0x02292490, const char * local_abspath=0x022858f8, const
svn_ra_reporter3_t * reporter=0x64a43028, void * report_baton=0x03faf924, int
restore_files=0, svn_depth_t depth=svn_depth_unknown, int
honor_depth_exclude=0, int depth_compatibility_trick=0, int use_commit_times=0,
svn_error_t * (void *) * cancel_func=0x00c80984, void *
cancel_baton=0x0028f534, void (void *, const svn_wc_notify_t *, apr_pool_t *) *
notify_func=0x00000000, void * notify_baton=0x00000000, apr_pool_t *
scratch_pool=0x02284fb8) Line 865 C
libsvn_tsvn32.dll!svn_client_status5(long * result_rev=0x03fafc74,
svn_client_ctx_t * ctx=0x02284ff8, const char * path=0x02268db0, const
svn_opt_revision_t * revision=0x03fafa1c, svn_depth_t depth=svn_depth_unknown,
int get_all=1, int update=1, int no_ignore=0, 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=0x00c8059e, void * status_baton=0x03faf9fc, apr_pool_t *
pool=0x02284fb8) Line 456 C