DoltengでOutOfMemoryError その2

Eclipse 3.2.1 (Linux版) を入れて、Dolteng 0.16.1 をインストールして、MySQLに入れたJetspeed2のテーブルをガツガツ追加していく。昨日は、スカフォールドを一つ追加してすぐに次を追加していたけど、今回は追加処理が終わるのを待った。テーブルを 50 くらい追加したところで、昨日と同様にOutOfMemoryErrorを食らってしまった。昨日は、落ちた後にEclipseを起動してもスカフォールドの追加処理が複数始まり、起動しないような状況だったけど、今回は、追加処理は終わっているようで、起動することはできた。

Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
Dialog open exception:
java.lang.OutOfMemoryError: PermGen space
Fatal error happened during workbench emergency close.
java.lang.OutOfMemoryError: PermGen space

PermGen space だけじゃ、なんだかよくわからんな・・・。スタックトレースみたいのはでないのだろうか。workspace/.metadata/.logにも同じようなことしか書いてないし・・・。

DoltengでOutOfMemoryError

MySQLに入れてある Jetspeed2 のデータベースを Teeda + S2Dao でページを自動生成しようと思い、Database Viewでテーブルを選択して、scaffoldページをガツガツ作っていったら、落ちた・・・。何か、このような現状が書いてあるのをどこかでみたような・・・。まずは、数個のテーブルを作って動くかみるべきかな・・・。

関係ないスタックトレースかもしれないけど、落ちる前の出力は以下のような感じだった。

org.eclipse.core.internal.resources.ResourceException: Resource /jetspeed-2-db is not open.
at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:145)
at org.eclipse.core.internal.resources.Project.getDescription(Project.java:375)
at org.seasar.kvasir.plust.decorator.PlustProjectDecorator.decorate(PlustProjectDecorator.java:24)
at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:253)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:71)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:843)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:336)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:322)
at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:338)
at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:308)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Failed to connect to socket /tmp/fam--
Failed to connect to socket /tmp/fam--
Error while informing user about event loop exception:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space

PortletExtendedExternalContextの問題

CMSポートレットが落ちる問題で、FacesResponseFilterを修正したのだけど、まだ、落ちる・・・。そんで、落ちたときのスタックトレースをみて、じっくり考えると、どうも、PortletExtendedExternalContextがまずいらしい。でも、根本的なところを直さないといけなそうな気がするので、もう少し調べよう・・・。

追記:どうやら、根本的なところは、ポートレットフィルタのPortletFilterChainの扱いがスレッドセーフじゃないところにある気が・・・。