[Seasar-user:21195] Re: [Teeda]不規則にConcurrentModificationExceptionが発生する
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2011年 12月 7日 (水) 02:45:06 JST
小林 (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
--
{
name: "Koichi Kobayashi",
mail: "[E-MAIL ADDRESS DELETED]",
blog: "http://d.hatena.ne.jp/koichik/",
twitter: "@koichik"
}
Seasar-user メーリングリストの案内