[Seasar-user:21196] Re: [Teeda]不規則にConcurrentModificationExceptionが発生する

加藤浩一 [E-MAIL ADDRESS DELETED]
2011年 12月 7日 (水) 09:32:56 JST


小林様
いつもお世話になっております。加藤です。

アドバイスありがとうございます。
サーバの再起動により復旧したのでご指摘の通りヒープの不足はあるかもしれません。

・リクエストが並行している可能性
・ヒープ・GCの発生状況

について稼働環境で追加で情報を取ることを検討します。

ありがとうございました。

(2011/12/07 2:45), Koichi Kobayashi wrote:
> 小林 (koichik) です.
> 
> 同じセッションに対するリクエストが並行しているようなので,
> RequestDumpFilter などを使ってリクエストが重なる要因を
> 調べてみてください.
> 
>>      ・発生している状況下ではレスポンスが返るまでに時間がかかる(5秒〜10秒)ことが頻繁にありました。
>>        これも特定の画面ではなくアプリケーション全体にわたってランダム(DBアクセスしないページでも)に発生
> 
> この状況でユーザが待ちきれずにリロードなどすると
> 問題が発生しやすいかもしれません.
> ヒープが不足して GC が頻発しているとか?
> 
> 
> On Tue, 06 Dec 2011 19:14:47 +0900, 加藤浩一<[E-MAIL ADDRESS DELETED]>  wrote:
> 
>> いつもお世話になっております。加藤と申します。
>>
>> Teedaを使ったシステムで画面にConcurrentModificationExceptionのメッセージが
>> 表示される現象が発生しているのですが、現象に再現性がないため調査が難航しております。
>> 心当たりのある方、手がかりとなる情報でもよいので教えていただけないでしょうか。
>>
>> ■環境
>>      WindowsServer2003
>>      JDK1.6.0_06
>>      Tomcat6.0
>>      S2Container2.4.30
>>      Teeda 1.0.13-sp10
>>
>> ■状況
>>      ・画面のメッセージ領域(allMessages)に以下メッセージが表示され、スタックトレースが記録されます。
>>         [WTDA0204]例外(java.util.ConcurrentModificationException)が発生しましたが、例外メッセージが設定されていません。
>>      ・アプリケーションのどの画面でも発生します
>>        但し、毎回ではなく同じ操作手順でも出たり出なかったりします。
>>      ・ブラウザの複数ウィンドウ(タブ)での同時操作は行っていません、フレームも使っていません。
>>        teedaのレイアウトは使っています。
>>      ・発生している状況下ではレスポンスが返るまでに時間がかかる(5秒〜10秒)ことが頻繁にありました。
>>        これも特定の画面ではなくアプリケーション全体にわたってランダム(DBアクセスしないページでも)に発生
>>      ・2年程稼働しているシステムですが、当現象は本日(12/6)初めて発生しました。
>>    アプリケーションの変更は11/5以降行っておりません。
>>
>> ■スタックトレース
>> org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl -
>> java.util.ConcurrentModificationException
>> 	at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
>> 	at java.util.AbstractList$Itr.next(AbstractList.java:343)
>> 	at org.seasar.teeda.extension.render.TBodyRenderer.encodeEnd(TBodyRenderer.java:84)
>> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:348)
>> 	at org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:330)
>> 	at org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
>> 	at org.seasar.teeda.extension.render.TViewRootRenderer.encodeBegin(TViewRootRenderer.java:65)
>> 	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:330)
>> 	at javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:100)
>> 	at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:247)
>> 	at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:184)
>> 	at org.seasar.teeda.extension.taglib.TViewTag.doStartTag(TViewTag.java:98)
>> 	at org.seasar.teeda.extension.html.processor.ElementProcessorImpl.processTag(ElementProcessorImpl.java:145)
>> 	at org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:138)
>> 	at org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:119)
>> 	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:157)
>> 	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:143)
>> 	at org.seasar.teeda.core.lifecycle.impl.RenderResponsePhase.executePhase(RenderResponsePhase.java:39)
>> 	at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
>> 	at org.seasar.teeda.core.lifecycle.LifecycleImpl.render(LifecycleImpl.java:131)
>> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:101)
>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> 	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:70)
>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> 	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> 	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> 	at jp.co.xxxx.filter.NDCFilter.doFilter(NDCFilter.java:44)
>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>> 	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
>> 	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
>> 	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
>> 	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
>> 	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
>> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>> 	at java.lang.Thread.run(Thread.java:619)
>>
>> 以上、宜しくお願い致します。
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> 


Seasar-user メーリングリストの案内