OutOfMemory when executing the AppMap agent for JUnit5 project
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 30/100
Direção de pesquisa
Reproduza a falha com ./gradlew :platform-tests:test no projeto JUnit5 usando o agente AppMap, comparando as configurações informadas -Xmx1g e -Xmx4g. Comece por GitUtil.open, AppMapSerializer.write e RecordingSession.stop no stack trace e, em seguida, verifique se o teste é concluído sem o Java heap-space error.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Setup:
- fresh clone of https://github.com/junit-team/junit5
- Executed tests for sub-module
junit5-platforms-testsusing the JetBrains extension - equivalent gradle command (without agent):
./gradlew :platform-tests:test
AppMap agent log file:
appmap-20240409115232.log.txt
These tests of JUnit5 seem to be executed with -Xmx1g.
Tests passed when I used -Xmx4g. I did not test other values.
> Task :platform-tests:test FAILED
Execution failed for task ':platform-tests:test'.
> Failure during test execution: Forked test JVM terminated unexpectedly with exit value 1
Standard error from JVM:
AppMap Java Agent log file: /home/jansorg/self-employment/customers/AppLand/sources/junit5/platform-tests/appmap-20240409115232.log
Terminating due to fatal error
java.lang.OutOfMemoryError: Java heap space
at com.appland.shade.org.eclipse.jgit.internal.storage.file.PackIndexV2.<init>(PackIndexV2.java:94)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.PackIndex.read(PackIndex.java:101)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.PackIndex.open(PackIndex.java:67)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.Pack.idx(Pack.java:161)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.Pack.get(Pack.java:273)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.PackDirectory.open(PackDirectory.java:216)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedObject(ObjectDirectory.java:393)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedFromSelfOrAlternate(ObjectDirectory.java:356)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObjectWithoutRestoring(ObjectDirectory.java:346)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObject(ObjectDirectory.java:331)
at com.appland.shade.org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:132)
at com.appland.shade.org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:212)
at com.appland.shade.org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:1075)
at com.appland.shade.org.eclipse.jgit.lib.Repository.parseSimple(Repository.java:833)
at com.appland.shade.org.eclipse.jgit.lib.Repository.resolve(Repository.java:527)
at com.appland.shade.org.eclipse.jgit.lib.Repository.resolve(Repository.java:472)
at com.appland.appmap.util.GitUtil.open(GitUtil.java:77)
at com.appland.appmap.record.AppMapSerializer.write(AppMapSerializer.java:72)
at com.appland.appmap.record.RecordingSession.stop(RecordingSession.java:127)
at com.appland.appmap.record.Recorder.stop(Recorder.java:236)
at com.appland.appmap.process.hooks.RecordingSupport.stopRecording(RecordingSupport.java:92)
at com.appland.appmap.process.hooks.RecordingSupport.stopRecording(RecordingSupport.java:70)
at com.appland.appmap.process.hooks.test.JUnit.junit5Test(JUnit.java:52)
at org.junit.platform.console.ConsoleDetailsTests$ReportTestCase.reportMultipleMessages(ConsoleDetailsTests.java:167)
at java.base/java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual(DirectMethodHandle$Holder)
at java.base/java.lang.invoke.LambdaForm$MH/0x000077687835ac00.invoke(LambdaForm$MH)
at java.base/java.lang.invoke.Invokers$Holder.invokeExact_MT(Invokers$Holder)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(DirectMethodHandleAccessor.java:154)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:765)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
appmap.yml file generated by the JetBrains plugin:
name: "junit5"
appmap_dir: "tmp/appmap"
packages:
- path: "buildparameters"
- path: "console.details.basic"
- path: "console.details.fail"
- path: "console.details.report"
- path: "console.details.skip"
- path: "example"
- path: "extensions"
- path: "folder with spaces"
- path: "gradle.kotlin.dsl.accessors._1cd57f1730507bf1765dcbcf508dc5fb"
- path: "gradle.kotlin.dsl.accessors._3756b237d27150396a2a7d0e8398ffaf"
- path: "gradle.kotlin.dsl.accessors._47d3d4fc83e5a2ae6e7a0e19501e23be"
- path: "gradle.kotlin.dsl.accessors._579eac99329038b17447d712a6a1515d"
- path: "gradle.kotlin.dsl.accessors._62452d30e9e5dc1400d85f0225333ef2"
- path: "gradle.kotlin.dsl.accessors._6ee420c7dc76f07b30f8a11923082fd4"
- path: "gradle.kotlin.dsl.accessors._98e16a40184ebf662feaccf584efe710"
- path: "gradle.kotlin.dsl.accessors._992409541dd24c260299460f73be445b"
- path: "gradle.kotlin.dsl.accessors._b43a41b3a2c24e7f863347686afebb31"
- path: "gradle.kotlin.dsl.accessors._d1dd92b90925cf4ae91ddd9ebd3e792c"
- path: "gradle.kotlin.dsl.accessors._e054d9723d982fdb55b1e388b8ab0cbf"
- path: "gradle.kotlin.dsl.accessors._eda3f35d0982a00f55a620f026a61d00"
- path: "gradle.kotlin.dsl.accessors._ef30aec8794e1486097d62d990bb8936"
- path: "gradle.kotlin.dsl.accessors._f680a2a4c0b9b61773cee4bcf4548485"
- path: "gradle.kotlin.dsl.plugins._3e72e2df1d352419a49398ccbc04a248"
- path: "intercepted-testservices.META-INF.services"
- path: "junitbuild.exec"
- path: "junitbuild.java"
- path: "junitbuild.javadoc"
- path: "listeners.uidtracking.gradle.groovy"
- path: "listeners.uidtracking.gradle.kotlin"
- path: "listeners.uidtracking.maven"
- path: "META-INF.services"
- path: "modules-2500.foo"
- path: "modules-2500.foo.bar"
- path: "org.junit.api.tools"
- path: "org.junit.jupiter"
- path: "org.junit.platform"
- path: "org.junit.vintage.engine"
- path: "platform.tooling.support"
- path: "testservices.META-INF.services"
``
- Linguagem predominante
- Java
- Estrelas
- 88
- Forks
- 17
- Merge médio
- 2d 2h
- PRs com merge (30d)
- 1
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de getappmap/appmap-java
-
Labeled methods should always be recorded, even if they match trivial-method filtersTalvez já em andamento @kgilpin assumiu há 189 dias. Aberta
getappmap/appmap-java#323 · 1 reação · 2 responsáveis ·
-
Warning with Java 25Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
getappmap/appmap-java#322 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
getappmap/appmap-java#308 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
getappmap/appmap-java#305 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
getappmap/appmap-java#304 ·
Todas as issues de getappmap/appmap-java
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
NationalSecurityAgency/ghidra#9748 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
spring-mcp-tools
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
explyt/spring-plugin#591 ·
Mantenedores costumam responder em até 1 dia
-
waiting-for-triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
spring-cloud/spring-cloud-openfeign#1443 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 84/100
ADORSYS-GIS/keycloak-oid4vp-plugin#221 ·
Mantenedores costumam responder em até 2 dias