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

RE: r37413 and basic test 14

From: Bert Huijben <rhuijben_at_sharpsvn.net>
Date: Thu, 23 Apr 2009 10:01:17 +0200

> -----Original Message-----
> From: Hyrum K. Wright [mailto:hyrum_at_hyrumwright.org]
> Sent: woensdag 22 april 2009 23:17
> To: Bert Huijben
> Cc: dev_at_subversion.tigris.org
> Subject: Re: r37413 and basic test 14
>
> On Apr 22, 2009, at 3:14 PM, Bert Huijben wrote:
>
> >> -----Original Message-----
> >> From: Hyrum K. Wright [mailto:hyrum_wright_at_mail.utexas.edu]
> >> Sent: woensdag 22 april 2009 21:52
> >> To: Bert Huijben
> >> Cc: dev_at_subversion.tigris.org
> >> Subject: Re: r37413 and basic test 14
> >>
> >>
> >> On Apr 22, 2009, at 6:14 AM, Bert Huijben wrote:
> >>
> >>>> -----Original Message-----
> >>>> From: Hyrum K. Wright [mailto:hyrum_wright_at_mail.utexas.edu]
> >>>> Sent: dinsdag 21 april 2009 22:57
> >>>> To: Bert Huijben
> >>>> Cc: dev_at_subversion.tigris.org
> >>>> Subject: r37413 and basic test 14
> >>>>
> >>>> Bert,
> >>>> I think that r37413 will solve the wc-ng windows problems with
> >>>> basic
> >>>> test 14, and possibly others. Can you check and let me know how it
> >>>> goes?
> >>>
> >>> My last status on Windows is:
> >>>
> >>> At least one test FAILED, checking F:\svn-2008\dev\Debug\tests.log
> >>> FAIL: update_tests.py 8: update after add/rm of deleted state
> >>> FAIL: update_tests.py 34: update handles obstructing paths
> >>> scheduled for
> >>> add
> >>> FAIL: switch_tests.py 1: test some basic switching operations
> >>> FAIL: switch_tests.py 2: commits after some basic switching
> >>> operations
> >>> FAIL: switch_tests.py 3: update wc that contains switched things
> >>> FAIL: switch_tests.py 4: reverse update wc that contains switched
> >>> things
> >>> FAIL: switch_tests.py 5: update switched wc things to HEAD
> >>> FAIL: switch_tests.py 6: reverse update switched wc things to an
> >>> older rev
> >>> FAIL: switch_tests.py 7: show logs for a switched file
> >>> FAIL: switch_tests.py 25: basic tests to verify switch along with
> >>> depth
> >>> FAIL: switch_tests.py 30: tolerate deletion of a directory with
> >>> local mods
> >>> FAIL: merge_tests.py 4: some simple property merges
> >>> FAIL: tree_conflict_tests.py 7: up/sw dir: del/rpl/mv onto
> >> del/rpl/mv
> >>> FAIL: upgrade_tests.py 1: basic upgrade behavior
> >>> FAIL: upgrade_tests.py 2: test upgrading from a 1.5-era working
> >>> copy
> >>> Summary of test results:
> >>> 798 tests PASSED
> >>> 40 tests SKIPPED
> >>> 28 tests XFAILED
> >>> 15 tests FAILED
> >>>
> >>> update_tests.py 8 is now a new wc.db deletion error (file in use:
> >>> can't
> >>> delete); I haven't investigated this one further.
> >>>
> >>> Update_tests.py 34 is the tree conflict discussed in the "bug in
> >>> add/
> >>> add
> >>> tree conflict?" thread on dev_at_s.t.o.
> >>>
> >>> All the switch tests, the merge test and the tree conflict test go
> >>> through
> >>> the same shortcut in update_editor.c (around line 2141).
> >>>
> >>> Described in:
> >>> if (eb->switch_url)
> >>> {
> >>> /* The SVN_WC__LOG_DELETE_ENTRY log item will cause
> >>> * svn_wc_remove_from_revision_control() to be run. But that
> >>> * function checks whether the deletion target's URL is child of
> >>> * its parent directory's URL, and if it's not, then the entry
> >>> * in parent won't be deleted (because presumably the child
> >>> * represents a disjoint working copy, i.e., it is a wc_root).
> >>> *
> >>> * However, during a switch this works against us, because by
> >>> * the time we get here, the parent's URL has already been
> >>> * changed. So we manually remove the child from revision
> >>> * control after the delete-entry item has been written in the
> >>> * parent's log, but before it is run, so the only work left for
> >>> * the log item is to remove the entry in the parent directory.
> >>> */
> >>>
> >>> And it then continues with unversioning the directory without
> >>> closing the
> >>> handles first.
> >>
> >> Do you have a stack trace for the error for this? In tracing the
> >> calls, it appears that this eventually gets into
> >> svn_wc__adm_destroy(), which does close the baton before removing
> >> the .svn directory. Somewhere we are still holding on to that baton
> >> when we blow it away.

I annotated the trace at the bottom to add some details. But you would get
much more details if you use the traces while debugging from a (visual)
debugger. Just put a breakpoint on the delete code with a check on the
specific filename. (I'm not sure how you would do this in gdb, but in Visual
Studio it's just a few mouseclicks).

> >
> > CMD: svn.exe switch
> >
"file:///F%3A/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/loca
> > l_tmp/repos/A/D/G" "svn-test-work\working_copies\switch_tests-1\A\B"
> > --config-dir
> > "F:\svn-2008\dev\Debug\subversion\tests\cmdline\svn-test-work
> > \local_tmp\conf
> > ig" --password rayjandom --no-auth-cache --username jrandom <TIME =
> > 0.149000>
> > D svn-test-work\working_copies\switch_tests-1\A\B\lambda
> > ..\..\..\subversion\libsvn_client\switch.c:237: (apr_err=720032)
> > ..\..\..\subversion\libsvn_repos\reporter.c:1192: (apr_err=720032)
> > ..\..\..\subversion\libsvn_repos\reporter.c:846: (apr_err=720032)
> > ..\..\..\subversion\libsvn_repos\reporter.c:1077: (apr_err=720032)
> > ..\..\..\subversion\libsvn_wc\update_editor.c:2159: (apr_err=720032)
> > ..\..\..\subversion\libsvn_wc\adm_ops.c:2625: (apr_err=720032)
> > ..\..\..\subversion\libsvn_wc\adm_files.c:723: (apr_err=720032)
> > ..\..\..\subversion\libsvn_subr\io.c:1939: (apr_err=720032)
> > svn: Can't remove
> > 'svn-test-work\working_copies\switch_tests-1\A\B\E\.svn\wc.db'
> > ..\..\..\subversion\libsvn_subr\io.c:1807: (apr_err=720032)
> > svn: Can't remove file
> > 'svn-test-work\working_copies\switch_tests-1\A\B\E\.svn\wc.db': The
> > process
> > cannot access the file because it is being used by another process.
> >
> > This is the error trace.. when you enable the DBG lines in sqlite.c
> > you
> > should see what battons are open in which pool. (Maybe a bit skewed
> > by the
> > unbuffered stderr output between the buffered stdout output)
> >
> >
> > I'll add the more complete dump here as well:
> >
> >
> > CMD: svn.exe switch
> >
"file:///F%3A/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/loca
> > l_tmp/repos/A/D/G" "svn-test-work\working_copies\switch_tests-1\A\B"
> > --config-dir
> > "F:\svn-2008\dev\Debug\subversion\tests\cmdline\svn-test-work
> > \local_tmp\conf
> > ig" --password rayjandom --no-auth-cache --username jrandom <TIME =
> > 0.159000>
> >
> > DBG: sqlite.c: 851: Open 00E5EA88_at_003E0148 1/1/1
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E6BED8_at_003E0148 2/2/2
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E6BED8_at_003E0148 1/2/2
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E5EA88_at_003E0148 0/2/2
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E81880_at_003F7188 1/2/3
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E845A8_at_003F7188 2/2/4
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E845A8_at_003F7188 1/2/4
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E81880_at_003F7188 0/2/4
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E81880_at_003E0148 1/2/5
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7CEA0_at_003E0148 2/2/6
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7D5D0_at_003E0148 3/3/7
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA3FF0_at_003E0148 4/4/8
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EC0640_at_003E0148 5/5/9
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7D5D0_at_003E0148 4/5/9
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7D5D0_at_003E0148 5/5/10
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA3C48_at_003E0148 6/6/11
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA3C48_at_003E0148 5/6/11
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7D5D0_at_003E0148 4/6/11
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7D5D0_at_003F7188 5/6/12
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA7AD0_at_003F7188 6/6/13
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA7AD0_at_003F7188 5/6/13
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7D5D0_at_003F7188 4/6/13
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7D5D0_at_003E0148 5/6/14
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA7AD0_at_003E0148 6/6/15
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA2900_at_003F7188 7/7/16
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EEABE8_at_003E0148 8/8/17
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A0B828_at_003E0148 9/9/18
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA2900_at_003F7188 8/9/18
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA2900_at_004041A8 9/9/19
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A0DBD0_at_004041A8 10/10/20
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A0DBD0_at_004041A8 9/10/20
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA2900_at_004041A8 8/10/20
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA2900_at_004041A8 9/10/21
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA2900_at_004041A8 8/10/21
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA2900_at_004041A8 9/10/22
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A0DBD0_at_004041A8 10/10/23
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A0DBD0_at_004041A8 9/10/23
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA2900_at_004041A8 8/10/23
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA2900_at_004041A8 9/10/24
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA2900_at_004041A8 8/10/24
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7D5D0_at_003E0148 7/10/24
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7D5D0_at_003E0148 8/10/25
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A0DBD0_at_003E0148 9/10/26
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/D/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00EA1648_at_003E0148 10/10/27
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/C/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A48B28_at_003E0148 11/11/28
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7D5D0_at_003E0148 10/11/28
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 00E7D5D0_at_003E0148 11/11/29
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > local_tmp/repos
> > /db/rep-cache.db
> >
> > DBG: sqlite.c: 851: Open 00EEA990_at_003E0148 12/12/30
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_003E0148 13/13/31
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_003E0148 12/13/31
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_003E0148 13/13/32
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_003E0148 12/13/32
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_003E0148 13/13/33
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_003E0148 12/13/33
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_003E0148 13/13/34
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_003E0148 12/13/34
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_004542D8 13/13/35
> > svn-test-work/working_copies/switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_004542D8 12/13/35
> > svn-test-work/working_copies/switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_02D48098 13/13/36
> > svn-test-work/working_copies/switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_02D48098 12/13/36
> > svn-test-work/working_copies/switch_tests-1/A/B/.svn/wc.db
> >
> > D svn-test-work\working_copies\switch_tests-1\A\B\lambda
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_02D40078 13/13/37
> > svn-test-work/working_copies/switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_02D40078 12/13/37
> > svn-test-work/working_copies/switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_0045C2F8 13/13/38
> > svn-test-work/working_copies/switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_0045C2F8 12/13/38
> > svn-test-work/working_copies/switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 851: Open 02A34FE8_at_0045C2F8 13/13/39
> > svn-test-work/working_copies/switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A34FE8_at_0045C2F8 12/13/39
> > svn-test-work/working_copies/switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A0B828_at_003E0148 11/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db
> >
> > DBG: main.c:2099: Done processing; rest is pool_at_003E0148 cleanup

At this point we are back in subversion/svn/main.c, but we didn't print the
output yet (we only have a reference to it in the err variable). All the
rest is pool cleanup from main().

> >
> > DBG: sqlite.c: 770: Close 00EEA990_at_003E0148 10/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7D5D0_at_003E0148 9/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > local_tmp/repos
> > /db/rep-cache.db
> >
> > DBG: sqlite.c: 770: Close 02A48B28_at_003E0148 8/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA1648_at_003E0148 7/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/C/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 02A0DBD0_at_003E0148 6/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/D/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EEABE8_at_003E0148 5/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EA7AD0_at_003E0148 4/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00EC0640_at_003E0148 3/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/E/.svn/wc.db

This open handle is the problem

> >
> > DBG: sqlite.c: 770: Close 00EA3FF0_at_003E0148 2/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/F/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E7CEA0_at_003E0148 1/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/.svn/wc.db
> >
> > DBG: sqlite.c: 770: Close 00E81880_at_003E0148 0/13/39
> > F:/svn-2008/dev/Debug/subversion/tests/cmdline/svn-test-work/
> > working_copies/
> > switch_tests-1/A/B/.svn/wc.db
> >
> > ..\..\..\subversion\libsvn_client\switch.c:237: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_repos\reporter.c:1192: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_repos\reporter.c:846: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_repos\reporter.c:1077: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_wc\update_editor.c:2159: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_wc\adm_ops.c:2625: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_wc\adm_files.c:723: (apr_err=720032)
> >
> > ..\..\..\subversion\libsvn_subr\io.c:1939: (apr_err=720032)
> >
> > svn: Can't remove
> > 'svn-test-work\working_copies\switch_tests-1\A\B\E\.svn\wc.db'
> >
> > ..\..\..\subversion\libsvn_subr\io.c:1807: (apr_err=720032)
> >
> > svn: Can't remove file
> > 'svn-test-work\working_copies\switch_tests-1\A\B\E\.svn\wc.db': The
> > process
> > cannot access the file because it is being used by another process.
>
> So, judging by the database trace, all the databases are closed by the
> time we go to destroy the admin area. Is there any other way that we
> can be holding handles to that database?

No... see the annotation.. We just delay printing the error.

        Bert
>
> -Hyrum
>
> ------------------------------------------------------
>
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=186
62
> 25

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1874550
Received on 2009-04-23 10:01:43 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.