[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 メーリングリストの案内