You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2017/12/19 11:32:23 UTC
ant git commit: disable a bunch of caches,
just so we've tried that as well
Repository: ant
Updated Branches:
refs/heads/master c2c821a38 -> 3dad11d41
disable a bunch of caches, just so we've tried that as well
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/3dad11d4
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/3dad11d4
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/3dad11d4
Branch: refs/heads/master
Commit: 3dad11d4191074a95b0d83397e73a99bd5b3f0c1
Parents: c2c821a
Author: Stefan Bodewig <bo...@apache.org>
Authored: Tue Dec 19 12:31:26 2017 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Tue Dec 19 12:31:26 2017 +0100
----------------------------------------------------------------------
build.xml | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/3dad11d4/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 36df7a4..0939eb5 100644
--- a/build.xml
+++ b/build.xml
@@ -1665,6 +1665,8 @@ ${antunit.reports}
<sysproperty key="tests.and.ant.share.classloader"
value="${tests.and.ant.share.classloader}"/>
<sysproperty key="java.io.tmpdir" file="${build.junit.tmpdir}"/>
+ <sysproperty key="sun.io.useCanonCaches" value="false"/>
+ <sysproperty key="sun.io.useCanonPrefixCache" value="false"/>
<classpath>
<path refid="tests-runtime-classpath"/>
<pathelement location="${junit.collector.dir}"/>
Re: ant git commit: disable a bunch of caches, just so we've tried that as well
Posted by Stefan Bodewig <bo...@apache.org>.
On 2017-12-19, Jaikiran Pai wrote:
> That was it! :) The same old canonical path cache.
Yes :-)
I'll try to clean up a little and write a test for the content of the
record stage.
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
Re: ant git commit: disable a bunch of caches, just so we've tried
that as well
Posted by Jaikiran Pai <ja...@gmail.com>.
On 19/12/17 5:13 PM, Jaikiran Pai wrote:
>
> Looking at the JDK code, I still am not sure which exact code path
> triggers this stale/invalid cache in this specific case, but
> apparently it does.
>
Now that we know the canonical path cache is playing a role, I think the
only way this issue makes sense is the following flow:
1. Some code somewhere invokes getCanonicalPath on the *non-existent*
"link1" file (and other similar symlink files).
2. Given that the file "link1" is non-existent, the JDK implementation
gets back a path which points back to "link1" itself (getCanonicalPath
is allowed on non-existent files) and then caches this result in its cache.
3. A symlink then gets created with link1 pointing to a file1. At this
point "link1" file does exist. The cache however isn't updated.
4. A call to getCanonicalPath on the now existent "link1" file happens.
Given that a previous invocation has cached (an invalid) value, the
invalid value pointing back to "link1" is returned back.
That's a guess. What's interesting is #1 and what/who triggers that call
(maybe explicit or somewhere implicit).
But either way, at this point, I'm happy that we know what's going on
and this ended up being a JVM issue (and a known/acknowledged one).
Thanks Stefan for narrowing this down.
-Jaikiran
> [exec] [junit] Testsuite: org.apache.tools.ant.taskdefs.optional.unix.SymlinkTest
> [exec] [junit] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.276 sec
>
> -Jaikiran
>
> On 19/12/17 5:02 PM, bodewig@apache.orgwrote:
>> Repository: ant
>> Updated Branches:
>> refs/heads/master c2c821a38 -> 3dad11d41
>>
>>
>> disable a bunch of caches, just so we've tried that as well
>>
>>
>> Project:http://git-wip-us.apache.org/repos/asf/ant/repo
>> Commit:http://git-wip-us.apache.org/repos/asf/ant/commit/3dad11d4
>> Tree:http://git-wip-us.apache.org/repos/asf/ant/tree/3dad11d4
>> Diff:http://git-wip-us.apache.org/repos/asf/ant/diff/3dad11d4
>>
>> Branch: refs/heads/master
>> Commit: 3dad11d4191074a95b0d83397e73a99bd5b3f0c1
>> Parents: c2c821a
>> Author: Stefan Bodewig<bo...@apache.org>
>> Authored: Tue Dec 19 12:31:26 2017 +0100
>> Committer: Stefan Bodewig<bo...@apache.org>
>> Committed: Tue Dec 19 12:31:26 2017 +0100
>>
>> ----------------------------------------------------------------------
>> build.xml | 2 ++
>> 1 file changed, 2 insertions(+)
>> ----------------------------------------------------------------------
>>
>>
>> http://git-wip-us.apache.org/repos/asf/ant/blob/3dad11d4/build.xml
>> ----------------------------------------------------------------------
>> diff --git a/build.xml b/build.xml
>> index 36df7a4..0939eb5 100644
>> --- a/build.xml
>> +++ b/build.xml
>> @@ -1665,6 +1665,8 @@ ${antunit.reports}
>> <sysproperty key="tests.and.ant.share.classloader"
>> value="${tests.and.ant.share.classloader}"/>
>> <sysproperty key="java.io.tmpdir" file="${build.junit.tmpdir}"/>
>> + <sysproperty key="sun.io.useCanonCaches" value="false"/>
>> + <sysproperty key="sun.io.useCanonPrefixCache" value="false"/>
>> <classpath>
>> <path refid="tests-runtime-classpath"/>
>> <pathelement location="${junit.collector.dir}"/>
>>
>
Re: ant git commit: disable a bunch of caches, just so we've tried
that as well
Posted by Jaikiran Pai <ja...@gmail.com>.
That was it! :) The same old canonical path cache. Looking at the JDK
code, I still am not sure which exact code path triggers this
stale/invalid cache in this specific case, but apparently it does.
[exec] [junit] Testsuite: org.apache.tools.ant.taskdefs.optional.unix.SymlinkTest
[exec] [junit] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.276 sec
-Jaikiran
On 19/12/17 5:02 PM, bodewig@apache.org wrote:
> Repository: ant
> Updated Branches:
> refs/heads/master c2c821a38 -> 3dad11d41
>
>
> disable a bunch of caches, just so we've tried that as well
>
>
> Project: http://git-wip-us.apache.org/repos/asf/ant/repo
> Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/3dad11d4
> Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/3dad11d4
> Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/3dad11d4
>
> Branch: refs/heads/master
> Commit: 3dad11d4191074a95b0d83397e73a99bd5b3f0c1
> Parents: c2c821a
> Author: Stefan Bodewig <bo...@apache.org>
> Authored: Tue Dec 19 12:31:26 2017 +0100
> Committer: Stefan Bodewig <bo...@apache.org>
> Committed: Tue Dec 19 12:31:26 2017 +0100
>
> ----------------------------------------------------------------------
> build.xml | 2 ++
> 1 file changed, 2 insertions(+)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/ant/blob/3dad11d4/build.xml
> ----------------------------------------------------------------------
> diff --git a/build.xml b/build.xml
> index 36df7a4..0939eb5 100644
> --- a/build.xml
> +++ b/build.xml
> @@ -1665,6 +1665,8 @@ ${antunit.reports}
> <sysproperty key="tests.and.ant.share.classloader"
> value="${tests.and.ant.share.classloader}"/>
> <sysproperty key="java.io.tmpdir" file="${build.junit.tmpdir}"/>
> + <sysproperty key="sun.io.useCanonCaches" value="false"/>
> + <sysproperty key="sun.io.useCanonPrefixCache" value="false"/>
> <classpath>
> <path refid="tests-runtime-classpath"/>
> <pathelement location="${junit.collector.dir}"/>
>