On Sun, Oct 10, 2010 at 3:07 PM, Johan Corveleyn <jcor...@gmail.com> wrote: > On Sat, Oct 2, 2010 at 11:24 AM, Bert Huijben <b...@qqmail.nl> wrote: >>> -----Original Message----- >>> From: Paul Burba [mailto:ptbu...@gmail.com] >>> Sent: vrijdag 1 oktober 2010 15:46 >>> To: Bert Huijben >>> Cc: Johan Corveleyn; Subversion Development >>> Subject: Re: trunk failing tests on Windows XP (32 bit): prop-tests.py >>> 33, stat-tests.py 5, upgrade-tests.py 11 >>> >>> On Thu, Sep 30, 2010 at 8:10 PM, Bert Huijben <b...@qqmail.nl> wrote: >>> >> -----Original Message----- >>> >> From: Johan Corveleyn [mailto:jcor...@gmail.com] >>> >> Sent: vrijdag 1 oktober 2010 1:51 >>> >> To: Subversion Development >>> >> Subject: trunk failing tests on Windows XP (32 bit): prop-tests.py >>> 33, >>> >> stat-tests.py 5, upgrade-tests.py 11 >>> >> >>> >> Hi devs, >>> >> >>> >> The following tests fail on my machine (Windows XP 32-bit, built >>> with >>> >> VCE 2008, ra_local): >>> >> >>> >> - prop-tests.py 33: test properties of obstructed subdirectories >>> >> svn: Can't open directory >>> >> >>> 'C:\research\svn\client_build\svn_trunk\Release\subversion\tests\cmdlin >>> >> e\svn-test-work\working_copies\prop_tests-33\A\C': >>> >> The directory name is invalid. >>> >> >>> >> - stat-tests.py 5: status on versioned items whose type has changed >>> >> svn: Can't open directory >>> >> >>> 'C:\research\svn\client_build\svn_trunk\Release\subversion\tests\cmdlin >>> >> e\svn-test-work\working_copies\stat_tests-5\A': >>> >> The directory name is invalid. >>> >> >>> >> - upgrade_tests.py 11: missing directories and obstructing files >>> >> svn: Can't open directory >>> >> >>> 'C:\research\svn\client_build\svn_trunk\Release\subversion\tests\cmdlin >>> >> e\svn-test-work\working_copies\upgrade_tests-11\A\D': >>> >> The directory name is invalid. >>> >> >>> >> They all seem to try to open some path as a directory, but it isn't >>> a >>> >> directory (but an empty file or something). >>> >> >>> >> Am I the only one seeing this? Is this known/normal? >>> > >>> > This seems to be related to the APR version you use. (Paul Burba >>> reported >>> > this same problem earlier this week). >>> >>> Hi Johan, >>> >>> Bert is correct, I saw these failure earlier this week while using APR >>> 1.3.12. All the failures occur when a file unexpectedly obstructs a >>> directory. The APR macro APR_STATUS_IS_ENOTDIR in 1.3.x does not >>> handle the "ERROR_DIRECTORY 267 The directory name is invalid" that >>> Windows raises in this case. This was fixed in APR in >>> http://svn.apache.org/viewvc?view=revision&revision=821306 and is in >>> APR 1.4.2. >> >> I think we should just add this error to the SVN__APR_STATUS_IS_ENOTDIR() >> macro to fix compatibility with older apr versions, but I would like to know >> why this didn't fail a few weeks ago. (I haven't been very active for the >> last week, but I haven't seen any relevant commits on the commit list in the >> last few weeks) > > FWIW: > I don't know if anybody else has tried to pinpoint when/why this > started to fail on trunk, but I've taken a look. It seems to have > started already quite some time ago: it started with r991236 (31 > August), which was the enabling of single-DB mode. > > I didn't have time yet to investigate further with SVN_WC__SINGLE_DB > and SINGLE_DB > defined to see which commit caused it with single-db already enabled > before r991236. If nobody beats me to it, I'll continue the search > when I have some more time next week. > > Gut feeling: maybe it has something to do with the actual removal of > directories-scheduled-for-deletion in single-db, as opposed to the > wc-1 behavior?
I saw that the problem was fixed in r102170 by Bert, by changing the SVN__APR_STATUS_IS_ENOTDIR() macro. Thanks, the tests all pass now, with APR 1.3.8 on my WinXP. Now, some root-cause analysis :-), in case this is still useful... Going further back than r991236, but with SVN_WC__SINGLE_DB and SINGLE_DB explicitly defined, I found the following: 1) prop_tests.py 33 - First fails in r980406 with "(Can't open directory ... : The directory name is invalid.)" - Before r980406, it fails with a more normal failure: "EXCEPTION: SVNTreeUnequal". 2) stat_tests.py 5 - First fails in r990818 with "(Can't open directory ... : The directory name is invalid.)" - Before r990818, the test succeeded. 3) upgrade_tests.py 11 - First fails in r991160 with "(Can't open directory ... : The directory name is invalid.)" - Before r991160, it fails with an assertion: "(svn: In file '..\..\..\subversion\libsvn_wc\wc_db.c' line 6558: assertion failed ((pdh)->wcroot != NULL && (pdh)->wcroot->format == SVN_WC__VERSION))". Now it's up to someone else to take a closer look at those revisions, and try to figure out why they introduced the "directory name is invalid" failures. That's a bit out of my league :-). Cheers, -- Johan