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

加藤浩一 [E-MAIL ADDRESS DELETED]
2011年 12月 6日 (火) 19:14:47 JST


いつもお世話になっております。加藤と申します。

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