On Fri, May 8, 2020 at 7:41 PM Johan Corveleyn <jcor...@gmail.com> wrote: > > Op vr 8 mei 2020 16:25 schreef William A Rowe Jr <wr...@rowe-clan.net>: >> >> On Fri, May 8, 2020 at 4:50 AM Johan Corveleyn <jcor...@gmail.com> wrote: >>> >>> On Fri, Apr 24, 2020 at 1:59 AM Johan Corveleyn <jcor...@gmail.com> wrote: >>> > >>> > On Wed, Apr 15, 2020 at 4:48 PM Johan Corveleyn <jcor...@gmail.com> wrote: >>> > > >>> > > On Wed, Apr 15, 2020 at 3:51 PM William A Rowe Jr <wr...@rowe-clan.net> >>> > > wrote: >>> > > > >>> > > > Interesting. >>> > > > >>> > > > Not being familiar with the subversion code, it would be helpful to >>> > > > see what args >>> > > > are being passed to the offending (offended) apr_stat call, so we can >>> > > > investigate >>> > > > the behavior of APR 1.7.0 (or trunk) further. >>> > > >>> > > Understood. I'll try to dig into this a bit in the coming days. >>> > >>> > Okay, I finally got around to this. >>> > >>> > Subversion indeed performs an apr_stat call with the following flags [1]: >>> > >>> > apr_int32_t wanted = APR_FINFO_TYPE | APR_FINFO_LINK >>> > | APR_FINFO_SIZE | APR_FINFO_MTIME; >>> > >>> > The call to apr_stat happens on line 4464 in libsvn_subr/io.c [2]: >>> > >>> > status = apr_stat(finfo, fname_apr, wanted, pool); >>> > >>> > Apparently this call succeeds with apr 1.6.5 (on Windows), with >>> > fname_apr="C:/" and wanted as above (I added a screenshot from the VS >>> > Debugger to illustrate). The returned filetype is APR_DIR, etc ... >>> > >>> > But the call fails with apr 1.7.0, returning status == 720002 (see >>> > second screenshot, FWIW). Is Subversion doing something wrong here? >>> > Passing incorrect flags or something like that? >>> > >>> > [1] >>> > https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?revision=1875971&view=markup#l3149 >>> > [2] >>> > https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?revision=1875971&view=markup#l4464 >>> >>> I can't debug further into APR itself at this time, I'm afraid. Is >>> there anything else I can do? I'm not sure what the return code 720002 >>> means as a result of apr_stat(). >>> >>> Is anyone able to reproduce this issue with APR 1.7.0 with a >>> test-program merely calling apr_stat() on the root of a drive, with >>> the flags >>> >>> APR_FINFO_TYPE | APR_FINFO_LINK | APR_FINFO_SIZE | APR_FINFO_MTIME >>> >>> ? >>> >>> At this point it's not even clear to me whether this problem is >>> Windows-specific, or can also be reproduced on Linux / Unix, if you >>> call it on "/". >>> >>> If it helps I can file an issue in Bugzilla, if you guys want me to. >> >> >> I'll pursue this further on Monday and see if we can offer some workaround >> for drive-root stat calls in apr itself.
Gentle nudge ... a Friday seems ideal for this kind of work, right? ;-) TIA, -- Johan