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

segfault during merge

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 15 Apr 2009 19:53:49 +0200

Hi,

A strange one from a crashdump for TSVN:

file libsvn_ra\compat.c, line 802, function log_path_del_receiver():

  for (hi = apr_hash_first(pool, log_entry->changed_paths2);
       hi != NULL;
       hi = apr_hash_next(hi))
    {

The 'log_entry->changed_paths2' is NULL.
(changed_paths and revprops of log_entry are also NULL).

But I have no idea why there would be no changed paths in a revision?

Maybe the callstack might help?

         TortoiseProc.exe!log_path_del_receiver(void * baton=0x01ddf8dc,
svn_log_entry_t * log_entry=0x02278af8, apr_pool_t * pool=0x02282868)
Line 801 + 0x17 bytes C
> TortoiseProc.exe!log_end_element(void * baton=0x01ddf814, int
state=237, const char * nspace=0x01ae57b0, const char * name=0x02177c90)
 Line 305 + 0x11 bytes C
         TortoiseProc.exe!wrapper_endelm_cb(void * baton=0x0227c818, int
state=237, const char * nspace=0x01ae57b0, const char * name=0x02177c90)
 Line 1070 + 0x16 bytes C
         TortoiseProc.exe!end_element(void * userdata=0x0218e978, const char *
name=0x0218c52a) Line 391 + 0x16 bytes C
         TortoiseProc.exe!doContent(void * parser=0x0219a5bf, int
startTagLevel=0, const encoding * enc=0x00715600, const char *
s=0x0219a5bd, const char * end=0x0219a99a, const char * *
nextPtr=0x0146f220) Line 1744 + 0xd bytes C
         TortoiseProc.exe!contentProcessor(void * parser=0x0146f208, const char
* start=0x0219a3d9, const char * end=0x0219a99a, const char * *
endPtr=0x0146f220) Line 1354 + 0x22 bytes C
         TortoiseProc.exe!XML_ParseBuffer(void * parser=0x0146f208, int
len=1460, int isFinal=0) Line 1156 + 0x38 bytes C
         TortoiseProc.exe!XML_Parse(void * parser=0x0146f208, const char *
s=0x02280758, int len=1460, int isFinal=0) Line 1145 + 0xc bytes C
         TortoiseProc.exe!ne_xml_parse(ne_xml_parser_s * p=0x0218e978, const
char * block=0x02280758, unsigned int len=1460) Line 546 + 0xc bytes C
         TortoiseProc.exe!cancellation_callback(void * userdata=0x02279480,
const char * block=0x02280758, unsigned int len=1460) Line 1149 +
0x12 bytes C
         TortoiseProc.exe!ne_read_response_block(ne_request_s * req=0x02280730,
char * buffer=0x02280758, unsigned int buflen=1460) Line 790 + 0x10 bytes C
         TortoiseProc.exe!ne_request_dispatch(ne_request_s * req=0x02280730)
Line 1377 + 0x13 bytes C
         TortoiseProc.exe!svn_ra_neon__request_dispatch(int *
code_p=0x00000000, svn_ra_neon__request_t * req=0x0227c778, apr_hash_t *
extra_headers=0x00000000, const char * body=0x022789c0, int okay_1=200,
int okay_2=0, apr_pool_t * pool=0x02276720) Line 1451 C
         TortoiseProc.exe!parsed_request(svn_ra_neon__request_t *
req=0x00000000, svn_ra_neon__session_t * ras=0x01450528, const char *
method=0x00717444, const char * url=0x02279438, const char *
body=0x022789c0, apr_file_t * body_file=0x00000000, void
(ne_xml_parser_s *, void *)* set_parser=0x00000000, svn_error_t * (int
*, void *, int, const char *, const char *, const char * *)*
startelm_cb=0x005c9bb0, svn_error_t * (void *, int, const char *,
unsigned int)* cdata_cb=0x005cfd10, svn_error_t * (void *, int, const
char *, const char *)* endelm_cb=0x005c9de0, void * baton=0x01ddf814,
apr_hash_t * extra_headers=0x00000000, int * status_code=0x00000000, int
spool_response=0, apr_pool_t * pool=0x02276720) Line 1234 + 0x58 bytes C
         TortoiseProc.exe!svn_ra_neon__parsed_request(svn_ra_neon__session_t *
sess=0x01450528, const char * method=0x00717444, const char *
url=0x02279438, const char * body=0x022789c0, apr_file_t *
body_file=0x00000000, void (ne_xml_parser_s *, void *)*
set_parser=0x00000000, svn_error_t * (int *, void *, int, const char *,
const char *, const char * *)* startelm_cb=0x005c9bb0, svn_error_t *
(void *, int, const char *, unsigned int)* cdata_cb=0x005cfd10,
svn_error_t * (void *, int, const char *, const char *)*
endelm_cb=0x005c9de0, void * baton=0x01ddf814, apr_hash_t *
extra_headers=0x00000000, int * status_code=0x00000000, int
spool_response=0, apr_pool_t * pool=0x02276720) Line 1293 C
         TortoiseProc.exe!svn_ra_neon__get_log(svn_ra_session_t *
session=0x01450470, const apr_array_header_t * paths=0x00000000, long
start=68814, long end=70347, int limit=0, int discover_changed_paths=0,
int strict_node_history=1, int include_merged_revisions=0, const
apr_array_header_t * revprops=0x02278870, svn_error_t * (void *,
svn_log_entry_t *, apr_pool_t *)* receiver=0x0053ad90, void *
receiver_baton=0x01ddf8dc, apr_pool_t * pool=0x02276720) Line 508 +
0x2a bytes C
         TortoiseProc.exe!svn_ra_get_log2(svn_ra_session_t *
session=0x01450470, const apr_array_header_t * paths=0x00000000, long
start=68814, long end=70347, int limit=0, int discover_changed_paths=1,
int strict_node_history=1, int include_merged_revisions=0, const
apr_array_header_t * revprops=0x02278870, svn_error_t * (void *,
svn_log_entry_t *, apr_pool_t *)* receiver=0x0053ad90, void *
receiver_baton=0x01ddf8dc, apr_pool_t * pool=0x02276720) Line 769 +
0x33 bytes C
         TortoiseProc.exe!svn_ra__get_deleted_rev_from_log(svn_ra_session_t *
session=0x01450470, const char * rel_deleted_path=0x02278638, long
peg_revision=68814, long end_revision=70347, long *
revision_deleted=0x01ddf964, apr_pool_t * pool=0x02276720) Line 860 +
0x39 bytes C
         TortoiseProc.exe!svn_ra_get_deleted_rev(svn_ra_session_t *
session=0x01450470, const char * path=0x022767d0, long
peg_revision=68814, long end_revision=70347, long *
revision_deleted=0x01ddf964, apr_pool_t * pool=0x02276720) Line 1079 +
0x13 bytes C

TortoiseProc.exe!adjust_deleted_subtree_ranges(svn_client__merge_path_t
* child=0x013bb5b0, svn_client__merge_path_t * parent=0x013bb420, const
char * mergeinfo_path=0x00594cb7, long revision1=-1, long revision2=0,
const char * primary_url=0x02194f58, svn_ra_session_t *
ra_session=0x00000000, svn_client_ctx_t * ctx=0x013dcb20, apr_pool_t *
pool=0x01447030) Line 2546 + 0x12 bytes C
         TortoiseProc.exe!calculate_remaining_ranges(svn_client__merge_path_t *
parent=0x013bb420, svn_client__merge_path_t * child=0x013bb5b0, const
char * source_root_url=0x01448a68, const char * url1=0x02194f58, long
revision1=0, const char * url2=0x00000000, long revision2=0, apr_hash_t
* target_mergeinfo=0x02267940, apr_hash_t *
implicit_mergeinfo=0x02258bd8, int is_subtree=1, svn_ra_session_t *
ra_session=0x01450470, const svn_wc_entry_t * entry=0x013cbc00,
svn_client_ctx_t * ctx=0x013dcb20, apr_pool_t * pool=0x01447030) Line
2943 + 0x1d bytes C
         TortoiseProc.exe!populate_remaining_ranges(apr_array_header_t *
children_with_mergeinfo=0x01447d20, const char *
source_root_url=0x01448a68, const char * url1=0x01450368, long
revision1=70347, const char * url2=0x014502c0, long revision2=68814, int
inheritable=1, int honor_mergeinfo=1, svn_ra_session_t *
ra_session=0x01450470, const char *
parent_merge_src_canon_path=0x0059818b, svn_wc_adm_access_t *
adm_access=0x013ebd18, merge_cmd_baton_t * merge_b=0x01ddfb18) Line
3284 + 0x47 bytes C
         TortoiseProc.exe!do_directory_merge(const char * url1=0x01450368, long
revision1=70347, const char * url2=0x014502c0, long revision2=68814,
const svn_wc_entry_t * target_entry=0x013ebdc8, svn_wc_adm_access_t *
adm_access=0x013ebd18, svn_depth_t depth=svn_depth_infinity,
notification_receiver_baton_t * notify_b=0x00000001, merge_cmd_baton_t *
merge_b=0x01ddfb18, apr_pool_t * pool=0x01447030) Line 6019 + 0x2f bytes C
         TortoiseProc.exe!do_merge(apr_array_header_t *
merge_sources=0x0144f4c8, const char * target=0x0218c068, const
svn_wc_entry_t * target_entry=0x013ebdc8, svn_wc_adm_access_t *
adm_access=0x013ebd18, int sources_ancestral=1, int sources_related=1,
int same_repos=1, int ignore_ancestry=0, int force=1, int dry_run=0, int
record_only=0, svn_depth_t depth=svn_depth_infinity, const
apr_array_header_t * merge_options=0x01440060, int *
use_sleep=0x01ddfc24, svn_client_ctx_t * ctx=0x013dcb20, apr_pool_t *
pool=0x01440020) Line 6689 + 0x34 bytes C
         TortoiseProc.exe!svn_client_merge_peg3(const char * source=0x0218c658,
const apr_array_header_t * ranges_to_merge=0x013ebd18, const
svn_opt_revision_t * peg_revision=0x0012c764, const char *
target_wcpath=0x0218c068, svn_depth_t depth=-2, int ignore_ancestry=0,
int force=1, int record_only=0, int dry_run=0, const apr_array_header_t
* merge_options=0x01440060, svn_client_ctx_t * ctx=0x013dcb20,
apr_pool_t * pool=0x01440020) Line 8058 + 0x43 bytes C

Stefan

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1730622

Received on 2009-04-15 19:54:16 CEST

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