Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory Leak with Mine Colonies #24

Open
Murdermancer opened this issue Oct 11, 2022 · 0 comments · Fixed by #28
Open

Memory Leak with Mine Colonies #24

Murdermancer opened this issue Oct 11, 2022 · 0 comments · Fixed by #28

Comments

@Murdermancer
Copy link

When Aequivaleo aequivaleo-1.18.2-0.1.94-ALPHA-universal is run with Mine Colonies, there's a memory leak that will eventually consume all available allocated RAM. (I have 8GB allocated, and it will use all of that until java crashes.)

If I remove Aequivaleo, memory usage returns to normal.

From the Java Memory Analyzer tool:
Thread Stack Aequivaleo analysis runner: 1 at java.util.ArrayList.indexOfRange(Ljava/lang/Object;II)I (ArrayList.java:298) at java.util.ArrayList.indexOf(Ljava/lang/Object;)I (ArrayList.java:286) at java.util.ArrayList.contains(Ljava/lang/Object;)Z (ArrayList.java:275) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:172) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.circuit(Ljava/lang/Integer;I)Z (HawickJamesSimpleCycles.java:158) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.analyzeCircuits()V (HawickJamesSimpleCycles.java:288) at com.ldtteam.shaded.jgrapht.alg.cycle.HawickJamesSimpleCycles.findSimpleCycles()Ljava/util/List; (HawickJamesSimpleCycles.java:234) at com.ldtteam.aequivaleo.analysis.jgrapht.cycles.JGraphTCyclesReducer.reduceOnce(Lcom/ldtteam/shaded/jgrapht/Graph;)Z (JGraphTCyclesReducer.java:56) at com.ldtteam.aequivaleo.analysis.jgrapht.cycles.JGraphTCyclesReducer.reduce(Lcom/ldtteam/shaded/jgrapht/Graph;)V (JGraphTCyclesReducer.java:47) at com.ldtteam.aequivaleo.analysis.JGraphTBasedCompoundAnalyzer.reduceGraph(Lcom/ldtteam/aequivaleo/analysis/jgrapht/aequivaleo/IGraph;Lcom/ldtteam/aequivaleo/analysis/jgrapht/node/SourceNode;)Lcom/ldtteam/aequivaleo/analysis/jgrapht/aequivaleo/IGraph; (JGraphTBasedCompoundAnalyzer.java:241) at com.ldtteam.aequivaleo.analysis.JGraphTBasedCompoundAnalyzer.calculate()V (JGraphTBasedCompoundAnalyzer.java:289) at com.ldtteam.aequivaleo.analysis.JGraphTBasedCompoundAnalyzer.calculateAndGet()Ljava/util/Map; (JGraphTBasedCompoundAnalyzer.java:431) at com.ldtteam.aequivaleo.analysis.AequivaleoReloadListener$AequivaleoWorldAnalysisRunner.reloadEquivalencyData()V (AequivaleoReloadListener.java:692) at com.ldtteam.aequivaleo.analysis.AequivaleoReloadListener$AequivaleoWorldAnalysisRunner.run()V (AequivaleoReloadListener.java:647) at java.util.concurrent.CompletableFuture$AsyncRun.run()V (CompletableFuture.java:1804) at java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (ThreadPoolExecutor.java:1136) at java.util.concurrent.ThreadPoolExecutor$Worker.run()V (ThreadPoolExecutor.java:635) at java.lang.Thread.run()V (Thread.java:833)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant