2009-08-29 41 views
1

在編寫項目中,我得到:AdaptRecursive的StackOverflowError

The system is out of resources. 
Consult the following stack trace for details. 
java.lang.StackOverflowError 
    at com.sun.tools.javac.code.Type$WildcardType.isSuperBound(Type.java:435) 
    at com.sun.tools.javac.code.Types$1.visitWildcardType(Types.java:102) 
    at com.sun.tools.javac.code.Types$1.visitWildcardType(Types.java:98) 
    at com.sun.tools.javac.code.Type$WildcardType.accept(Type.java:416) 
    at com.sun.tools.javac.code.Types$MapVisitor.visit(Types.java:3232) 
    at com.sun.tools.javac.code.Types.upperBound(Types.java:95) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986) 
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2977) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986) 
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2977) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986) 
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2977) 
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986) 
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016) 
    ... 

你如何找到問題的根源在哪裏?

我發現a bug report ...

+0

確定觸發問題的源文件。 – 2009-08-29 22:17:39

回答

0

我會運行的javac與-verbose選項,看看哪些java文件是造成問題開始。

+0

它告訴我什麼......它加載java.lang.Math並拋出這個東西。 – Etam 2009-08-29 20:51:21

2

您鏈接的錯誤報告表明該錯誤在JDK 6中得到解決。您使用哪個版本的JDK構建?

如果您無法識別導致問題的源代碼部分,也許您可​​以嘗試使用JDK 6進行編譯,以查看它是否可以在不崩潰的情況下識別問題。否則,我會使用「分而治之」的方法:刪除一半的源代碼,編譯並查看它是否仍然崩潰。取決於它是否存在,你會知道問題出在哪一半。重複。

+0

我正在使用1.6:/。 – Etam 2009-08-29 21:38:11

+1

哪個版本?嘗試最新發布 - u16。如果你敢,去u18(預發行)。 – 2009-08-29 21:44:30

+0

我正在使用Mac ... – Etam 2009-08-30 09:19:36

0

如何嘗試不同的編譯器,如Eclipse中的編譯器?這是錯誤信息至少是不同的,我的經驗往往更重要。此外,我還沒有看到這樣的編譯失敗。