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

Re: Subversion 1.5 beta1, "malformed URL for repository"

From: David Huang <david.huang_at_alterity.com>
Date: Thu, 28 Aug 2008 15:44:49 -0500

Julian Foad wrote:
>
> If you can't spend much time on it, putting a breakpoint there and
> showing us the call stack might be useful. Otherwise, a reproduction
> script to create a small repository that exhibits the problem would
> definitely be useful, as we could turn that into a regression test.
>

It looks like Fyodor Sheremetyev was able to create a repro script...
here's the call stack:

> svn.exe!parse_url(ne_uri * uri=0x0000000001e4a220, const char *
url=0x0000000002060e40) Line 952 C
     svn.exe!svn_ra_neon__reparent(svn_ra_session_t *
session=0x0000000001e23130, const char * url=0x0000000002060e40,
apr_pool_t * pool=0x00000000020374f8) Line 1269 + 0x12 bytes C
     svn.exe!svn_ra_reparent(svn_ra_session_t *
session=0x0000000001e23130, const char * url=0x0000000002060e40,
apr_pool_t * pool=0x00000000020374f8) Line 548 C
     svn.exe!svn_client__ensure_ra_session_url(const char * *
old_session_url=0x000000000012ecf8, svn_ra_session_t *
ra_session=0x0000000001e23130, const char *
session_url=0x0000000002060e40, apr_pool_t * pool=0x00000000020374f8)
Line 509 + 0x14 bytes C
     svn.exe!get_mergeinfo_walk_cb(const char * path=0x0000000002037568,
const svn_wc_entry_t * entry=0x0000000001ee8508, void *
walk_baton=0x000000000012f200, apr_pool_t * pool=0x00000000020374f8)
Line 3398 + 0x29 bytes C
     svn.exe!walker_helper(const char * dirpath=0x0000000002037568,
svn_wc_adm_access_t * adm_access=0x0000000001ee83c8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x00000000020374f8) Line 2881 + 0x27 bytes C
     svn.exe!walker_helper(const char * dirpath=0x0000000001e51d18,
svn_wc_adm_access_t * adm_access=0x0000000001e17da8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e51ca8) Line 2938 + 0x5f bytes C
     svn.exe!walker_helper(const char * dirpath=0x0000000001e26a08,
svn_wc_adm_access_t * adm_access=0x0000000001e17910, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e26998) Line 2938 + 0x5f bytes C
     svn.exe!walker_helper(const char * dirpath=0x0000000140320500,
svn_wc_adm_access_t * adm_access=0x0000000001e34af8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e228b8) Line 2938 + 0x5f bytes C
     svn.exe!svn_wc_walk_entries3(const char * path=0x0000000140320500,
svn_wc_adm_access_t * adm_access=0x0000000001e34af8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e228b8) Line 3016 + 0x5c bytes C
     svn.exe!get_mergeinfo_paths(apr_array_header_t *
children_with_mergeinfo=0x0000000001e24770, merge_cmd_baton_t *
merge_cmd_baton=0x000000000012f6a0, const char *
merge_src_canon_path=0x0000000001e3dc70, const svn_wc_entry_t *
entry=0x0000000001e34c08, const char *
source_root_url=0x0000000001e3dc08, const char *
url1=0x0000000001e62798, const char * url2=0x0000000001e627f8, long
revision1=21595, long revision2=21596, svn_ra_session_t *
ra_session=0x0000000001e23130, svn_wc_adm_access_t *
adm_access=0x0000000001e34af8, svn_client_ctx_t *
ctx=0x0000000001dfcf40, svn_depth_t depth=svn_depth_infinity, apr_pool_t
* pool=0x0000000001e228b8) Line 3802 + 0x6f bytes C
     svn.exe!do_directory_merge(const char * url1=0x0000000001e62798,
long revision1=21595, const char * url2=0x0000000001e627f8, long
revision2=21596, const svn_wc_entry_t * parent_entry=0x0000000001e34c08,
svn_wc_adm_access_t * adm_access=0x0000000001e34af8, svn_depth_t
depth=svn_depth_infinity, notification_receiver_baton_t *
notify_b=0x000000000012f740, merge_cmd_baton_t *
merge_b=0x000000000012f6a0, apr_pool_t * pool=0x0000000001e228b8) Line
4923 + 0xa2 bytes C
     svn.exe!do_merge(apr_array_header_t *
merge_sources=0x0000000001e61548, const char *
target=0x0000000140320500, const svn_wc_entry_t *
target_entry=0x0000000001e34c08, svn_wc_adm_access_t *
adm_access=0x0000000001e34af8, int sources_ancestral=1, int
sources_related=1, int same_repos=1, int ignore_ancestry=0, int force=0,
int dry_run=0, int record_only=0, svn_depth_t depth=svn_depth_infinity,
const apr_array_header_t * merge_options=0x0000000000000000,
svn_client_ctx_t * ctx=0x0000000001dfcf40, apr_pool_t *
pool=0x0000000001dfc378) Line 5522 + 0x6d bytes C
     svn.exe!svn_client_merge_peg3(const char *
source=0x0000000001e17558, const apr_array_header_t *
ranges_to_merge=0x0000000001dfc598, const svn_opt_revision_t *
peg_revision=0x000000000012f9d8, const char *
target_wcpath=0x0000000140320500, svn_depth_t depth=-2, int
ignore_ancestry=0, int force=0, int record_only=0, int dry_run=0, const
apr_array_header_t * merge_options=0x0000000000000000, svn_client_ctx_t
* ctx=0x0000000001dfcf40, apr_pool_t * pool=0x0000000001dfc378) Line
6468 + 0xcf bytes C
     svn.exe!svn_cl__merge(apr_getopt_t * os=0x0000000001dfc5c0, void *
baton=0x000000000012fcd8, apr_pool_t * pool=0x0000000001dfc378) Line
318 + 0x8e bytes C
     svn.exe!main(int argc=5, const char * * argv=0x000000000045ad10)
Line 2018 + 0x23 bytes C
     svn.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
     svn.exe!mainCRTStartup() Line 403 C
     kernel32.dll!0000000077d5964c()
     [Frames below may be incorrect and/or missing, no symbols loaded
for kernel32.dll]

It looks like the URL with the spaces is being generated by
get_mergeinfo_walk_cb():

              const char *mergeinfo_url =
                svn_path_join(wb->source_root_url,
                              /* Skip leading '/' or join won't work. */
                              ++(merge_src_child_path->data),
                              pool);

wb->source_root_url = 0x0000000001e3dc08 "https://dev.alterity.com/svn"
merge_src_child_path->data = 0x0000000002060b91
"ACCTivate/Installers/Projects/ACCTivate CIMS Cumulative Update"

Hopefully that gives some hints as to what the problem is :)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-28 22:48:02 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.