2012-01-12 7 views
4

私は頻繁にYUICompressorからのスタックオーバーフローエラー;-)が表示されます。YUICompressorがクラッシュする - stackoverflowエラー

iMac1:src jas$ min ../style2.min.css style2.css 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21) 
Caused by: java.lang.StackOverflowError 
    at java.lang.Character.codePointAt(Character.java:2335) 
    at java.util.regex.Pattern$CharProperty.match(Pattern.java:3344) 
    at java.util.regex.Pattern$Branch.match(Pattern.java:4114) 

...(以下は24074のバイトのCSSスタイルシート(「java.lang.StackOverflowErrorを約8回線ダウンを引き起こしていない)を圧縮しようとしてから来たエラー数千行の最初の部分ですプラス1021のエラー行)

エラーは通常、圧縮されたファイルに2行追加した後に発生します.CSSは問題なく、完全に非圧縮形式で動作します。この場合、以前に圧縮可能なファイルに次のセレクタを追加すると、エラーが発生しました:

#thisisatest 
{ 
    margin-left:87px; 
} 

おそらく、Javaへのフラグが役立つかもしれないスタックを拡大するかどうか疑問に思っています。それが問題ではない場合、何がありますか?

EDIT:

私はこの質問を投稿したとして、それは私がスタックを拡大するためのパラメータがあったかどうかを確認するためにjavaコマンドを確認する必要があることを私に夜が明けました。それが-Xssnであることが分かります。ここで、「n」はスタックサイズを示すパラメータです。デフォルト値は512kです。だから私は1024kを試しましたが、それでもスタックオーバーフローが発生しました。しかし、2048kを試してみると、これが解決策になると思います。

答えて

6

私の編集に掲載されているように、解決策は、javaコマンドにパラメータを追加することでした。次のように手がかりは、ライン「で」5番目のエラー行だった:

at com.yahoo.platform.yui.compressor.Bootstrap.main(Bootstrap.java:21) 
Caused by: java.lang.StackOverflowError 

は、問題は、スタックのサイズを大きくしようとする提案を行いました;-)「StackOverlowError」だったことを見て。デフォルトは512kです。 1024kの私の最初の試みは動作しませんでした。しかし、それを2048kに増やすと効果があり、それ以上の問題はありませんでした。

+1

Javaのデフォルト-Xssnを設定するにはどうすればよいですか? –

関連する問題