You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Felix Schumacher <fe...@internetallee.de> on 2019/02/03 15:28:51 UTC

Builds with Java 13 EA are failing

Hi all,

I just added Java 13 EA to the build matrix on travis-ci and noticed, 
that they are failing with OOM.

On investigation in a docker image, I could reproduce those (or similar) 
OOM errors:

Exception: java.lang.OutOfMemoryError thrown from the 
UncaughtExceptionHandler in thread "process reaper"
     [javac]
     [javac]
     [javac] The system is out of resources.
     [javac] Consult the following stack trace for details.
     [javac] java.lang.OutOfMemoryError: Java heap space: failed 
reallocation of scalar replaced objects

BUILD FAILED
/root/jmeter/build.xml:960: Compile failed; see the compiler error 
output for details.
     at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1425)
     at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:1133)
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
     at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:567)
     at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
     at org.apache.tools.ant.Task.perform(Task.java:350)
     at org.apache.tools.ant.Target.execute(Target.java:449)
     at org.apache.tools.ant.Target.performTasks(Target.java:470)
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
     at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
     at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
     at org.apache.tools.ant.Main.runBuild(Main.java:834)
     at org.apache.tools.ant.Main.startAnt(Main.java:223)
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

Sometimes the ant run produces

compile-jorphan:
     [javac] Compiling 62 source files to /root/jmeter/build/jorphan

Exception: java.lang.OutOfMemoryError thrown from the 
UncaughtExceptionHandler in thread "process reaper"
     [javac]
     [javac]
     [javac] The system is out of resources.
     [javac] Consult the following stack trace for details.
     [javac] java.lang.OutOfMemoryError: Java heap space
     [javac]     at java.base/java.util.Arrays.copyOf(Arrays.java:3690)
     [javac]     at java.base/java.util.ArrayList.grow(ArrayList.java:237)
     [javac]     at java.base/java.util.ArrayList.grow(ArrayList.java:242)
     [javac]     at java.base/java.util.ArrayList.add(ArrayList.java:485)
     [javac]     at java.base/java.util.ArrayList.add(ArrayList.java:498)
     [javac]     at 
jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.iteratorOf(ZipFileSystem.java:436)
     [javac]     at 
jdk.zipfs/jdk.nio.zipfs.ZipDirectoryStream.iterator(ZipDirectoryStream.java:69)
     [javac]     at 
java.base/java.nio.file.FileTreeWalker$DirectoryNode.<init>(FileTreeWalker.java:78)
     [javac]     at 
java.base/java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:310)
     [javac]     at 
java.base/java.nio.file.FileTreeWalker.next(FileTreeWalker.java:373)
     [javac]     at 
java.base/java.nio.file.Files.walkFileTree(Files.java:2838)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.file.JavacFileManager$ArchiveContainer.<init>(JavacFileManager.java:523)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getContainer(JavacFileManager.java:316)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.file.JavacFileManager.list(JavacFileManager.java:714)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:737)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:681)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:554)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:299)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.ClassFinder$$Lambda$232/0x0000000801348840.complete(Unknown 
Source)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:642)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.Symbol$PackageSymbol.members(Symbol.java:1131)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.code.Symtab.listPackageModules(Symtab.java:834)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:345)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:535)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:286)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:301)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.comp.Enter.complete(Enter.java:577)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.comp.Enter.main(Enter.java:561)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1066)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:937)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:318)
     [javac]     at 
jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:176)

These were produced by running "ant clean install"

The docker file I used was as follows:

FROM openjdk:13

RUN yum install -y \
         git \
         wget \
         bzip2 \
         hostname \
         \
         && \
         rm -rf /var/cache/yum
WORKDIR /root
ENV ANT_VERSION 1.10.5
RUN wget 
https://www-us.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.bz2 
&& \
         tar xf apache-ant-${ANT_VERSION}-bin.tar.bz2 && \
         rm apache-ant-${ANT_VERSION}-bin.tar.bz2
ENV ANT_HOME /root/apache-ant-${ANT_VERSION}
ENV PATH $PATH:$ANT_HOME/bin
RUN git clone https://github.com/apache/jmeter.git
WORKDIR jmeter

Has anyone an idea, what could cause this OOM on compilation?

Regards,

  Felix


Re: Builds with Java 13 EA are failing

Posted by Philippe Mouawad <ph...@gmail.com>.
Hello Felix,

Doesn't it look like a JDK13 bug ?

There were similar bugs in old version like 11:

   -
   https://stackoverflow.com/questions/52694710/jdk-11-compiling-class-files-fails-with-oom-exception


Regards

On Sun, Feb 3, 2019 at 4:29 PM Felix Schumacher <
felix.schumacher@internetallee.de> wrote:

> Hi all,
>
> I just added Java 13 EA to the build matrix on travis-ci and noticed,
> that they are failing with OOM.
>
> On investigation in a docker image, I could reproduce those (or similar)
> OOM errors:
>
> Exception: java.lang.OutOfMemoryError thrown from the
> UncaughtExceptionHandler in thread "process reaper"
>      [javac]
>      [javac]
>      [javac] The system is out of resources.
>      [javac] Consult the following stack trace for details.
>      [javac] java.lang.OutOfMemoryError: Java heap space: failed
> reallocation of scalar replaced objects
>
> BUILD FAILED
> /root/jmeter/build.xml:960: Compile failed; see the compiler error
> output for details.
>      at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1425)
>      at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:1133)
>      at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
>      at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown
> Source)
>      at
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>      at java.base/java.lang.reflect.Method.invoke(Method.java:567)
>      at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
>      at org.apache.tools.ant.Task.perform(Task.java:350)
>      at org.apache.tools.ant.Target.execute(Target.java:449)
>      at org.apache.tools.ant.Target.performTasks(Target.java:470)
>      at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
>      at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
>      at
>
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>      at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
>      at org.apache.tools.ant.Main.runBuild(Main.java:834)
>      at org.apache.tools.ant.Main.startAnt(Main.java:223)
>      at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
>      at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
>
> Sometimes the ant run produces
>
> compile-jorphan:
>      [javac] Compiling 62 source files to /root/jmeter/build/jorphan
>
> Exception: java.lang.OutOfMemoryError thrown from the
> UncaughtExceptionHandler in thread "process reaper"
>      [javac]
>      [javac]
>      [javac] The system is out of resources.
>      [javac] Consult the following stack trace for details.
>      [javac] java.lang.OutOfMemoryError: Java heap space
>      [javac]     at java.base/java.util.Arrays.copyOf(Arrays.java:3690)
>      [javac]     at java.base/java.util.ArrayList.grow(ArrayList.java:237)
>      [javac]     at java.base/java.util.ArrayList.grow(ArrayList.java:242)
>      [javac]     at java.base/java.util.ArrayList.add(ArrayList.java:485)
>      [javac]     at java.base/java.util.ArrayList.add(ArrayList.java:498)
>      [javac]     at
> jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.iteratorOf(ZipFileSystem.java:436)
>      [javac]     at
>
> jdk.zipfs/jdk.nio.zipfs.ZipDirectoryStream.iterator(ZipDirectoryStream.java:69)
>      [javac]     at
>
> java.base/java.nio.file.FileTreeWalker$DirectoryNode.<init>(FileTreeWalker.java:78)
>      [javac]     at
> java.base/java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:310)
>      [javac]     at
> java.base/java.nio.file.FileTreeWalker.next(FileTreeWalker.java:373)
>      [javac]     at
> java.base/java.nio.file.Files.walkFileTree(Files.java:2838)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager$ArchiveContainer.<init>(JavacFileManager.java:523)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getContainer(JavacFileManager.java:316)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager.list(JavacFileManager.java:714)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:737)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.code.ClassFinder.scanUserPaths(ClassFinder.java:681)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:554)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:299)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.code.ClassFinder$$Lambda$232/0x0000000801348840.complete(Unknown
>
> Source)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:642)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.code.Symbol$PackageSymbol.members(Symbol.java:1131)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.code.Symtab.listPackageModules(Symtab.java:834)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:345)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:535)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:286)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.comp.Enter.classEnter(Enter.java:301)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.comp.Enter.complete(Enter.java:577)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.comp.Enter.main(Enter.java:561)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:1066)
>      [javac]     at
>
> jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:937)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:318)
>      [javac]     at
> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:176)
>
> These were produced by running "ant clean install"
>
> The docker file I used was as follows:
>
> FROM openjdk:13
>
> RUN yum install -y \
>          git \
>          wget \
>          bzip2 \
>          hostname \
>          \
>          && \
>          rm -rf /var/cache/yum
> WORKDIR /root
> ENV ANT_VERSION 1.10.5
> RUN wget
>
> https://www-us.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.bz2
> && \
>          tar xf apache-ant-${ANT_VERSION}-bin.tar.bz2 && \
>          rm apache-ant-${ANT_VERSION}-bin.tar.bz2
> ENV ANT_HOME /root/apache-ant-${ANT_VERSION}
> ENV PATH $PATH:$ANT_HOME/bin
> RUN git clone https://github.com/apache/jmeter.git
> WORKDIR jmeter
>
> Has anyone an idea, what could cause this OOM on compilation?
>
> Regards,
>
>   Felix
>
>

-- 
Cordialement.
Philippe Mouawad.