You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Michael McCandless (Jira)" <ji...@apache.org> on 2019/12/06 18:52:00 UTC

[jira] [Created] (LUCENE-9083) TestIOUtils false failures on ARM Linux due to StackOverflowError

Michael McCandless created LUCENE-9083:
------------------------------------------

             Summary: TestIOUtils false failures on ARM Linux due to StackOverflowError
                 Key: LUCENE-9083
                 URL: https://issues.apache.org/jira/browse/LUCENE-9083
             Project: Lucene - Core
          Issue Type: Improvement
          Components: core/store
    Affects Versions: master (9.0)
            Reporter: Michael McCandless


I'm testing Lucene's performance on the new [Graviton2|https://aws.amazon.com/about-aws/whats-new/2019/12/announcing-new-amazon-ec2-m6g-c6g-and-r6g-instances-powered-by-next-generation-arm-based-aws-graviton2-processors] ARM EC2 instances, specifically on an {{m6g.8xlarge}} instance.

But several test cases in {{TestIOUtils}} failed due to {{StackOverflowError}}, e.g.:

{noformat}
   [junit4] <JUnit4> says aloha! Master seed: 7AF4595BAD680884
   [junit4] Executing 1 suite with 1 JVM.
   [junit4]
   [junit4] Started J0 PID(28011@localhost).
   [junit4] Suite: org.apache.lucene.util.TestIOUtils
   [junit4] OK      0.03s | TestIOUtils.testDeleteFileIgnoringExceptions
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestIOUtils -Dtests.method=testRotatingPlatters -Dtests.seed=7AF4595BAD680884 -Dtests.slow=true -Dtests.badapples=true -D\
tests.locale=lu -Dtests.timezone=America/Lower_Princes -Dtests.asserts=true -Dtests.file.encoding=US-ASCII
   [junit4] ERROR   65.1s | TestIOUtils.testRotatingPlatters <<<
   [junit4]    > Throwable #1: java.lang.StackOverflowError
   [junit4]    >        at __randomizedtesting.SeedInfo.seed([7AF4595BAD680884:ADC8742ECA7CAFC1]:0)
   [junit4]    >        at java.base/sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:564)
   [junit4]    >        at java.base/java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:576)
   [junit4]    >        at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:136)
   [junit4]    >        at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
   [junit4]    >        at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:280)
   [junit4]    >        at java.base/java.nio.file.Path.startsWith(Path.java:379)
   [junit4]    >        at org.apache.lucene.mockfile.FilterPath.startsWith(FilterPath.java:130)
   [junit4]    >        at org.apache.lucene.util.TestIOUtils$MockLinuxFileSystemProvider.maybeChroot(TestIOUtils.java:246)
   [junit4]    >        at org.apache.lucene.util.TestIOUtils$MockLinuxFileSystemProvider$MockLinuxPath.toRealPath(TestIOUtils.java:266)
   [junit4]    >        at org.apache.lucene.util.TestIOUtils$MockLinuxFileSystemProvider$MockLinuxPath.toRealPath(TestIOUtils.java:270)
   [junit4]    >        at org.apache.lucene.util.TestIOUtils$MockLinuxFileSystemProvider$MockLinuxPath.toRealPath(TestIOUtils.java:270)
   [junit4]    >        at org.apache.lucene.util.TestIOUtils$MockLinuxFileSystemProvider$MockLinuxPath.toRealPath(TestIOUtils.java:270)
{noformat}

Also, I've installed Lucene on {{tmpfs}} ({{/dev/shm}}), and maybe that (and not ARM Linux) is to blame?  Maybe it's just a silly bug in the {{MockLinuxPath}} in {{TestIOUtils.java}} .. it calls {{maybeChroot}} which looks to special case any path starting with {{/dev}} ... I'll try Lucene on {{/dev/shm}} on an x64 Linux to see ... all other core tests seem to pass at least once!

I'm using OpenJDK11 build from https://adoptopenjdk.net




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org