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

Obstructed update or crash when doing svn switch

From: Mats Nilsson <mats.nilsson_at_xware.se>
Date: 2002-05-14 18:00:08 CEST

Just built a trunk@1949 svn on windows, checked out another fresh trunk@1949
sandbox and tried to do a switch, but it reported an obstructed update on
./subversion/libsvn_ra_pipe. I didn't expect this.

But the real problem occurred when I removed this directory and tried the
switch again: svn crashed.

Transcript:

$ svn co http://svn.collab.net/repos/svn/trunk -d s2
A s2/svn_check.dsp
A s2/COMMITTERS
[snip]
_U s2/subversion/bindings/java/jni/org/tigris/subversion
_U s2/subversion/bindings/java
A s2/subversion/libsvn_ra_pipe
A s2/subversion/libsvn_ra_pipe/ra_pipe.c
_U s2/subversion/libsvn_ra_pipe
_U s2/subversion
_U s2
Checked out revision 1949.

$ cd s2

$ svn st

$ svn switch . http://svn.collab.net/repos/svn/branches/issue-654-dev
U ./ac-helpers/find_apr.m4
U ./ac-helpers/find_apu.m4
[snip]
U ./subversion/libsvn_client/add.c
U ./subversion/svnlook/main.c

svn_error: #21036 : <Obstructed update>
  failed to add dir`./subversion/libsvn_ra_pipe': object already exists

At this point I removed the entire subversion/libsvn_ra_pipe directory and
re-issued the switch command. It then crashes after this sequence:

$ rm -rf subversion/libsvn_ra_pipe/

$ svn switch . http://svn.collab.net/repos/svn/branches/issue-654-dev
U ./ac-helpers/find_apr.m4
U ./ac-helpers/find_apu.m4
[snip]
U ./subversion/libsvn_client/add.c
U ./subversion/svnlook/main.c
A ./subversion/libsvn_ra_pipe
A ./subversion/libsvn_ra_pipe/ra_pipe.c

And the VC6 stack trace looks like this:

strlen() line 78
svn_ra_dav__get_props_resource(svn_ra_dav_resource_t * * 0x0012f58c,
ne_session_s * 0x0039c628, const char * 0x00000000, const char * 0x00000000,
const ne_propname * 0x00000000, apr_pool_t * 0x003985c8) line 374 + 9 bytes
add_node_props(report_baton_t * 0x00a40280) line 1445 + 59 bytes
end_element(void * 0x00a40280, const ne_xml_elm * 0x0052d360, const char *
0x00a4b420) line 1470 + 9 bytes
end_element(void * 0x00a904e0, const char * 0x0039e049) line 556 + 64 bytes
doContent(void * 0x00a4b658, int 0, const encoding * 0x0052b250
utf8_encoding, const char * 0x00ae4872, const char * 0x00ae4a62, const char
* * 0x00a4b670) line 1744 + 20 bytes
contentProcessor(void * 0x00a4b658, const char * 0x00ae4850, const char *
0x00ae4a62, const char * * 0x00a4b670) line 1354 + 33 bytes
XML_ParseBuffer(void * 0x00a4b658, int 511, int 0) line 1156 + 64 bytes
XML_Parse(void * 0x00a4b658, const char * 0x0012f7a0, int 511, int 0) line
1145 + 17 bytes
ne_xml_parse(ne_xml_parser_s * 0x00a904e0, const char * 0x0012f7a0, unsigned
int 511) line 786 + 24 bytes
ne_xml_parse_v(void * 0x00a904e0, const char * 0x0012f7a0, unsigned int 511)
line 761 + 17 bytes
ne_read_response_block(ne_request_s * 0x00a51a38, char * 0x0012f7a0,
unsigned int 512) line 745 + 20 bytes
ne_request_dispatch(ne_request_s * 0x00a51a38) line 1286 + 21 bytes
svn_ra_dav__parsed_request(svn_ra_session_t * 0x00a40190, const char *
0x0052d258 `string', const char * 0x00a32120, const char * 0x00000000, int
3, const ne_xml_elm * 0x0052d320 report_elements, int (void *, int, int)*
0x004785c0 validate_element(void *, int, int), int (void *, const ne_xml_elm
*, const char * *)* ...) line 265 + 9 bytes
reporter_finish_report(void * 0x00a40280) line 1715 + 63 bytes
svn_wc_crawl_revisions(svn_stringbuf_t * 0x00398b88, const svn_ra_reporter_t
* 0x0052d450 ra_dav_reporter, void * 0x00a40280, int 1, int 1, void (void *,
int, const char *)* 0x0040106e _svn_cl__notify_func, void * 0x00a374b0,
apr_pool_t * 0x003985c8) line 408 + 12 bytes
svn_client_switch(const svn_delta_editor_t * 0x00000000, void * 0x00000000,
const svn_delta_editor_t * 0x00a37478, void * 0x00a30148,
svn_client_auth_baton_t * 0x00a37460, svn_stringbuf_t * 0x00398b88,
svn_stringbuf_t * 0x00398bd8, const svn_client_revision_t * 0x0012fef0, int
1, void (void *, int, const char *)* 0x0040106e _svn_cl__notify_func, void *
0x00a374b0, ...) line 178 + 3
svn_cl__switch(apr_getopt_t * 0x003986e0, svn_cl__opt_state_t * 0x0012fef0,
apr_pool_t * 0x003985c8) line 113 + 82 bytes
main(int 4, const char * const * 0x003943d0) line 1109 + 23 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e7eb69()

This is repeatable, at least for revision 1949.

/Mats

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 14 18:02:08 2002

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