yinwang0 / pysonar2

PySonar2: a semantic indexer for Python with interprocedual type inference

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Java error

fatalioerror opened this issue · comments

java -jar target/pysonar-2.0-SNAPSHOT.jar /usr/lib/python2.7 ./html

[Exception] in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at org.yinwang.pysonar.ast.Node.hashCode(Node.java:186)
at java.util.HashMap.hash(HashMap.java:366)
at java.util.HashMap.put(HashMap.java:496)
at org.yinwang.pysonar.Analyzer.putRef(Analyzer.java:236)
at org.yinwang.pysonar.ast.Name.transform(Name.java:46)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Subscript.transform(Subscript.java:28)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Assign.transform(Assign.java:29)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Block.transform(Block.java:47)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.If.transform(If.java:37)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Block.transform(Block.java:47)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Call.apply(Call.java:155)
at org.yinwang.pysonar.ast.Call.resolveCall(Call.java:84)
at org.yinwang.pysonar.ast.Call.transform(Call.java:70)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Return.transform(Return.java:26)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Block.transform(Block.java:47)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Call.apply(Call.java:155)
at org.yinwang.pysonar.ast.Call.resolveCall(Call.java:84)
at org.yinwang.pysonar.ast.Call.transform(Call.java:70)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Assign.transform(Assign.java:29)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)
at org.yinwang.pysonar.ast.Block.transform(Block.java:47)
at org.yinwang.pysonar.ast.Node.transformExpr(Node.java:118)

I just tried. It finished with 1.38G ram.
How much memory do you have?
Try adding -Xmx4G to the command line and let me know how it goes?

3Q,
I have only 4G physical memory (actually 3.7G)
so
export JAVA_OPTS="-Xms512m -Xmx3G"
I will try!

add JAVA_OPTS did not take effect.
I try

java -Xmx3G -jar target/pysonar-2.0-SNAPSHOT.jar /usr/lib/python2.7 ./html

it success!

Just to be curious, how much memory does it show in the end of the output? What kind of machine you have? JDK version?

2.67G.

Gentoo x86_64
Linux tux_thinkpad 3.12.13-gentoo #1 SMP PREEMPT Tue Apr 22 09:13:31 CST 2014 x86_64 Intel(R) Core(TM) i5 CPU M 540 @ 2.53GHz GenuineIntel GNU/Linux

java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)