[Seasar-user:21633] Re: [SAStruts][Tomcat7][ESSR0043]java.lang.ClassLoaderが呼び出した対象が不正です。理由はjava.lang.OutOfMemoryError: PermGen space

溝口 [E-MAIL ADDRESS DELETED]
2013年 6月 17日 (月) 11:10:55 JST


廣川さん、はじめまして

溝口と言います

同じ事象か判らないのですが、

「tomcat7でメモリリーク。PermGenを食いつぶす」
http://ameblo.jp/vashpia77/entry-11486039940.html

というブログ記事がありました。ご確認ください。

解決するとイイのですが。

以上です


2013年6月14日 1:33 Yuya Hirokawa <yu_ya45 @ hotmail.com>:

> 皆様
>
> お世話になります。廣川と申します。
>
> 本件について直接的にはSeasar2が原因ではないのかもしれませんが
> SAStrutsとTomcat7環境で動かしている方にアドバイスいただきたく質問致します。
>
> Tomcat7のJVM設定にて「Tomcatをデバックモードで起動しない」のチェックを外すと
> なぜかパーマネント領域のメモリリークが発生し
> ウェブアプリが応答しなくなってしまうのですが皆様は正常稼働しているのでしょう
> か?
> Tomcat7にてメモリリークに関する機能など色々と追加されていたことと思いますが
> それが影響して特別な設定等必要なのでしょうか?
>
> Webアプリ自体は常駐Webクローラーアプリ(スタンドアロンのJavaアプリ)やAndroid
> アプリから
> リクエストを処理してDBへ照会・登録を行うアプリです。
> クローラやAndroidアプリが拾ったDTOをHttpURLConnectionで接続してその際
> ObjectOutputStreamでシリアライズ化し
> Webアプリへデータを受け渡しております。
>
> 下記過去ログも確認しましたが警告メッセージも出ていないですし、
> SMART deploy非対称クラスからルートパッケージクラスの利用もしていないと思いま
> す...
> 引用----------------------------------------------------------
> [Seasar-user:19528] Re: [SAStruts][警告発生]HOT deploy対象クラス(jp.XXX) が
> 非対象クラスから参照されて通常のクラスロ ーダにロードされています。
> http://ml.seasar.org/archives/seasar-user/2010-March/019529.html
> --------------------------------------------------------------
>
> おそらくメモリリークしていることは下記スタックトレースとjconsoleのモニタリン
> グを見て間違いないと思うのですが
> 不思議なことにjconsoleでPS Perm Genの状況を見るとデバックモードで起動すると
> 一回だけGCでメモリが大幅に開放されるのですが
> 二回目以降GCで解放されずウェブアプリが応答しなくなるといった状況です。
>
> 似たような状況になられた方や何か情報をお持ちのかたおりましたらアドバイスいた
> だけませんでしょうか?
> どうかよろしくお願い致します。
>
> 廣川
>
> 【テスト環境】
> -------------------------------------------------------------
> Dolteng使用でプロジェクト生成しSAStruts+S2JDBCを使用しています。
> 追加したビルドパスはJDBC driverとcmecab-2.0.1だけです。
> ■Seasar
> s2-framework 2.4.45
> s2-extension 2.4.45
> s2-tiger 2.4.45
>
> ■Server
> AP Server:      Apache Tomcat/7.0.40
> OS Name:        Windows7 64bit
> OS Architecture:   amd64
> JVM Version:    1.6.0_41-b02
> JVM Vendor:     Sun Microsystems Inc.
>
> ■Database
> MySQL:          Ver 14.14 Distrib 5.6.11, for Win64 (x86_64)
> JDBC driver:    mysql-connector-java-5.1.24-bin.jar
>
> ■IDE
> Eclipse:        pleiades-e4.2-ultimate-jre_20130303.zip
> TomcatPlugin:   Tomcat Launcher 3.3.0 改
> -------------------------------------------------------------
>
> 2013/06/14 1:10:04 org.apache.catalina.core.AprLifecycleListener init
> 情報: The APR based Apache Tomcat Native library which allows optimal
> performance in production environments was not found on the
> java.library.path: D:\Library\フリーソフト
>
> \pleiades\java\6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;
> D:/Program Files/pleiades/eclipse/jre/bin/server;D:/Program
> Files/pleiades/eclipse/jre/bin;D:/Program
> Files/pleiades/eclipse/jre/lib/amd64;C:\Program Files (x86)\AMD
> APP\bin\x86_64;C:\Program Files (x86)\AMD
> APP\bin\x86;C:\Windows\system32;C:
>
> \Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0
> \;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program
> Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files
> (x86)\Intel\OpenCL
>
> SDK\2.0\bin\x64;D:\Library\Project\adt-bundle-windows-x86_64-20130219\sdk\to
>
> ols;D:\Library\Project\adt-bundle-windows-x86_64-20130219\sdk\platform-tools
> ;D:\Library\フリーソフト\Git\bin;D:\Library\フリーソフト
> \pleiades\java\6\bin;D:\bin;D:\Library\フリーソフト
> \QTSystem\;D:\MySQL\Server\MySQL Server
>
> 5.6\bin;D:\Library\Project\cui-soft\apache-ant-1.9.1\bin;C:\mecab\bin;;D:\Pr
> ogram Files\pleiades\eclipse;;.
> 2013/06/14 1:10:04 org.apache.coyote.AbstractProtocol init
> 情報: Initializing ProtocolHandler ["http-bio-18080"]
> 2013/06/14 1:10:04 org.apache.coyote.AbstractProtocol init
> 情報: Initializing ProtocolHandler ["ajp-bio-8009"]
> 2013/06/14 1:10:04 org.apache.catalina.startup.Catalina load
> 情報: Initialization processed in 764 ms
> 2013/06/14 1:10:04 org.apache.catalina.core.StandardService startInternal
> 情報: サービス Catalina を起動します
> 2013/06/14 1:10:04 org.apache.catalina.core.StandardEngine startInternal
> 情報: Starting Servlet Engine: Apache Tomcat/7.0.40
> 2013/06/14 1:10:04 org.apache.catalina.startup.HostConfig deployDescriptor
> 情報: 設定記述子
> D:\Library\Project\Tomcat7\conf\Catalina\localhost\RelayWebAppForHL.xml を配
> 備します
> 2013/06/14 1:10:04 org.apache.tomcat.util.digester.Digester endElement
> 警告:   No rules found matching 'Context/Logger'.
> DEBUG 2013-06-14 01:10:06,641 [localhost-startStop-1]
> ContextRealPath=D:\Library\Project\RelayWebAppForHL\src\main\webapp\
>   SERVER_SOFTWARE=Apache Tomcat/7.0.40, ServletContextName=null,
> MajorVersion=3, MinorVersion=0
> 2013-06-14 01:10:06,664 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester - register('-//Apache Software
> Foundation//DTD Struts Configuration 1.0//EN',
>
> 'jar:file:/D:/Library/Project/RelayWebAppForHL/src/main/webapp/WEB-INF/lib/s
> truts-1.2.9.jar!/org/apache/struts/resources/struts-config_1_0.dtd'
> 2013-06-14 01:10:06,664 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester - register('-//Apache Software
> Foundation//DTD Struts Configuration 1.1//EN',
>
> 'jar:file:/D:/Library/Project/RelayWebAppForHL/src/main/webapp/WEB-INF/lib/s
> truts-1.2.9.jar!/org/apache/struts/resources/struts-config_1_1.dtd'
> 2013-06-14 01:10:06,664 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester - register('-//Apache Software
> Foundation//DTD Struts Configuration 1.2//EN',
>
> 'jar:file:/D:/Library/Project/RelayWebAppForHL/src/main/webapp/WEB-INF/lib/s
> truts-1.2.9.jar!/org/apache/struts/resources/struts-config_1_2.dtd'
> 2013-06-14 01:10:06,664 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester - register('-//Sun Microsystems,
> Inc.//DTD Web Application 2.2//EN',
>
> 'jar:file:/D:/Library/Project/RelayWebAppForHL/src/main/webapp/WEB-INF/lib/s
> truts-1.2.9.jar!/org/apache/struts/resources/web-app_2_2.dtd'
> 2013-06-14 01:10:06,665 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester - register('-//Sun Microsystems,
> Inc.//DTD Web Application 2.3//EN',
>
> 'jar:file:/D:/Library/Project/RelayWebAppForHL/src/main/webapp/WEB-INF/lib/s
> truts-1.2.9.jar!/org/apache/struts/resources/web-app_2_3.dtd'
> 2013-06-14 01:10:06,666 [localhost-startStop-1] DEBUG
> org.apache.struts.action.ActionServlet - Scanning web.xml for controller
> servlet mapping
> 2013-06-14 01:10:06,667 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester.sax -
>
> setDocumentLocator(com.sun.org.apache.xerces.internal.parsers.AbstractSAXPar
> ser$LocatorProxy @ 2eb80f1c)
> 2013-06-14 01:10:06,667 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester.sax - startDocument()
> ...Web.xmlやstruts-config.xml、validator-rules.xml等の設定ファイル関係ログ大
> 量のため中略
> 2013-06-14 01:10:06,934 [localhost-startStop-1] DEBUG
> org.apache.commons.digester.Digester.sax - endDocument()
> INFO  2013-06-14 01:10:06,953 [localhost-startStop-1] s2-frameworkのバージョ
> ンは2.4.45です。
> INFO  2013-06-14 01:10:06,954 [localhost-startStop-1] s2-extensionのバージョ
> ンは2.4.45です。
> INFO  2013-06-14 01:10:06,954 [localhost-startStop-1] s2-tigerのバージョンは
> 2.4.45です。
> DEBUG 2013-06-14 01:10:07,005 [localhost-startStop-1] 環境変数#Envにファイル
> (env.txt)から値(ct)が設定されました
> DEBUG 2013-06-14 01:10:07,060 [localhost-startStop-1] S2Containerを作成しま
> す。path=hotdeploy.dicon
> DEBUG 2013-06-14 01:10:07,064 [localhost-startStop-1] S2Containerを作成しま
> す。path=convention.dicon
> DEBUG 2013-06-14 01:10:07,146 [localhost-startStop-1] S2Containerを作成しま
> した。path=convention.dicon
> DEBUG 2013-06-14 01:10:07,146 [localhost-startStop-1] S2Containerを作成しま
> す。path=customizer.dicon
> DEBUG 2013-06-14 01:10:07,150 [localhost-startStop-1] S2Containerを作成しま
> す。path=default-customizer.dicon
> DEBUG 2013-06-14 01:10:07,154 [localhost-startStop-1] S2Containerを作成しま
> す。path=std-customizer.dicon
> DEBUG 2013-06-14 01:10:07,161 [localhost-startStop-1] S2Containerを作成しま
> す。path=std-customizer-tiger.dicon
> DEBUG 2013-06-14 01:10:07,177 [localhost-startStop-1] S2Containerを作成しま
> した。path=std-customizer-tiger.dicon
> DEBUG 2013-06-14 01:10:07,189 [localhost-startStop-1] S2Containerを作成しま
> した。path=std-customizer.dicon
> DEBUG 2013-06-14 01:10:07,195 [localhost-startStop-1] S2Containerを作成しま
> した。path=default-customizer.dicon
> DEBUG 2013-06-14 01:10:07,205 [localhost-startStop-1] S2Containerを作成しま
> した。path=customizer.dicon
> DEBUG 2013-06-14 01:10:07,205 [localhost-startStop-1] S2Containerを作成しま
> す。path=creator.dicon
> DEBUG 2013-06-14 01:10:07,225 [localhost-startStop-1] S2Containerを作成しま
> した。path=creator.dicon
> DEBUG 2013-06-14 01:10:07,228 [localhost-startStop-1] S2Containerを作成しま
> した。path=hotdeploy.dicon
> DEBUG 2013-06-14 01:10:07,256 [localhost-startStop-1] S2Containerを作成しま
> す。path=app.dicon
> DEBUG 2013-06-14 01:10:07,259 [localhost-startStop-1] S2Containerを作成しま
> す。path=convention.dicon
> DEBUG 2013-06-14 01:10:07,264 [localhost-startStop-1] S2Containerを作成しま
> した。path=convention.dicon
> DEBUG 2013-06-14 01:10:07,264 [localhost-startStop-1] S2Containerを作成しま
> す。path=aop.dicon
> DEBUG 2013-06-14 01:10:07,287 [localhost-startStop-1] S2Containerを作成しま
> した。path=aop.dicon
> DEBUG 2013-06-14 01:10:07,288 [localhost-startStop-1] S2Containerを作成しま
> す。path=j2ee.dicon
> DEBUG 2013-06-14 01:10:07,290 [localhost-startStop-1] S2Containerを作成しま
> す。path=jta.dicon
> DEBUG 2013-06-14 01:10:07,306 [localhost-startStop-1] S2Containerを作成しま
> した。path=jta.dicon
> DEBUG 2013-06-14 01:10:07,306 [localhost-startStop-1] S2Containerを作成しま
> す。path=jdbc.dicon
> DEBUG 2013-06-14 01:10:07,327 [localhost-startStop-1] S2Containerを作成しま
> した。path=jdbc.dicon
> DEBUG 2013-06-14 01:10:07,333 [localhost-startStop-1] S2Containerを作成しま
> した。path=j2ee.dicon
> DEBUG 2013-06-14 01:10:07,333 [localhost-startStop-1] S2Containerを作成しま
> す。path=s2jdbc.dicon
> DEBUG 2013-06-14 01:10:07,337 [localhost-startStop-1] S2Containerを作成しま
> す。path=s2jdbc-internal.dicon
> DEBUG 2013-06-14 01:10:07,350 [localhost-startStop-1] S2Containerを作成しま
> した。path=s2jdbc-internal.dicon
> DEBUG 2013-06-14 01:10:07,377 [localhost-startStop-1] S2Containerを作成しま
> した。path=s2jdbc.dicon
> DEBUG 2013-06-14 01:10:07,379 [localhost-startStop-1] S2Containerを作成しま
> した。path=app.dicon
> INFO  2013-06-14 01:10:07,491 [localhost-startStop-1] Running on [ENV]ct,
> [DEPLOY MODE]Hot Deploy
> 2013/06/14 1:10:07 org.apache.catalina.startup.HostConfig deployDirectory
> 情報: Webアプリケーションディレクトリ
> D:\Library\Project\Tomcat7\webapps\manager を配備します
> 2013/06/14 1:10:07 org.apache.coyote.AbstractProtocol start
> 情報: Starting ProtocolHandler ["http-bio-18080"]
> 2013/06/14 1:10:07 org.apache.coyote.AbstractProtocol start
> 情報: Starting ProtocolHandler ["ajp-bio-8009"]
> 2013/06/14 1:10:07 org.apache.catalina.startup.Catalina start
> 情報: Server startup in 3011 ms
>
> 下記応答なしになったあとに出るスタックトレースログ
> -------------------------------------------------------------
> 2013/06/13 23:37:53 org.apache.catalina.core.ApplicationDispatcher invoke
> 致命的: サーブレット action のServlet.service()が例外を投げました
> org.seasar.framework.exception.InvocationTargetRuntimeException:
> [ESSR0043]java.lang.ClassLoaderが呼び出した対象が不正です。理由は
> java.lang.OutOfMemoryError: PermGen space
>         at
>
> org.seasar.framework.aop.javassist.AbstractGenerator.toClass(AbstractGenerat
> or.java:288)
>         at
>
> org.seasar.framework.aop.javassist.MethodInvocationClassGenerator.toClass(Me
> thodInvocationClassGenerator.java:85)
>         at
>
> org.seasar.framework.aop.javassist.AspectWeaver.setInterceptors(AspectWeaver
> .java:139)
>         at
> org.seasar.framework.aop.proxy.AopProxy.setupAspects(AopProxy.java:150)
>         at
> org.seasar.framework.aop.proxy.AopProxy.<init>(AopProxy.java:110)
>         at
>
> org.seasar.framework.container.util.AopProxyUtil.getConcreteClass(AopProxyUt
> il.java:54)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.getConcreteClass(Compon
> entDefImpl.java:140)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.j
> ava:235)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployBehavior.getComponentDef(H
> otdeployBehavior.java:187)
>         at
>
> org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acqu
> ireFromHasComponentDef(S2ContainerBehavior.java:172)
>         at
>
> org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromHasCompon
> entDef(S2ContainerBehavior.java:86)
>         at
>
> org.seasar.framework.container.impl.S2ContainerImpl.hasComponentDef(S2Contai
> nerImpl.java:456)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(Abs
> tractBindingTypeDef.java:146)
>         at
>
> org.seasar.framework.container.assembler.BindingTypeMustDef.doBind(BindingTy
> peMustDef.java:45)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(Abstrac
> tBindingTypeDef.java:91)
>         at
>
> org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeF
> ieldDef.java:50)
>         at
>
> org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeF
> ieldDef.java:42)
>         at
>
> org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
> PropertyAssembler.java:56)
>         at
> org.seasar.framework.container.deployer.RequestComponentDeployer.
> deploy(RequestComponentDeployer.java:67)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentD
> efImpl.java:111)
>         at
>
> org.seasar.struts.config.S2ActionMapping.getActionForm(S2ActionMapping.java:
> 329)
>         at
>
> org.seasar.struts.action.ActionFormWrapper.<init>(ActionFormWrapper.java:62)
>         at
>
> org.seasar.struts.action.ActionFormWrapperClass.newInstance(ActionFormWrappe
> rClass.java:82)
>         at
>
> org.seasar.struts.config.S2FormBeanConfig.createActionForm(S2FormBeanConfig.
> java:44)
>         at
>
> org.seasar.struts.action.S2RequestProcessor.processActionForm(S2RequestProce
> ssor.java:211)
>         at
>
> org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:
> 103)
>         at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
>         at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
> 432)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:305)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.jav
> a:127)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
> Filter.java:79)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(H
> otdeployFilter.java:86)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
> ilter.java:67)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
> java:749)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis
> patcher.java:487)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
> er.java:412)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
> .java:339)
>         at
> org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)
>         at
> org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:99)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
> Filter.java:79)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(H
> otdeployFilter.java:99)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
> ilter.java:67)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:222)
>         at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:123)
>         at
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> .java:472)
>         at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171
> )
>         at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>         at
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :118)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>         at
>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce
> ssor.java:1008)
>         at
>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac
> tProtocol.java:589)
>         at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:
> 312)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
> va:895)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
> 18)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.OutOfMemoryError: PermGen space
>         at java.lang.ClassLoader.defineClass1(Native Method)
>         at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>         at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>
> org.seasar.framework.aop.javassist.AbstractGenerator.toClass(AbstractGenerat
> or.java:278)
>         at
>
> org.seasar.framework.aop.javassist.MethodInvocationClassGenerator.toClass(Me
> thodInvocationClassGenerator.java:85)
>         at
>
> org.seasar.framework.aop.javassist.AspectWeaver.setInterceptors(AspectWeaver
> .java:139)
>         at
> org.seasar.framework.aop.proxy.AopProxy.setupAspects(AopProxy.java:150)
>         at
> org.seasar.framework.aop.proxy.AopProxy.<init>(AopProxy.java:110)
>         at
>
> org.seasar.framework.container.util.AopProxyUtil.getConcreteClass(AopProxyUt
> il.java:54)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.getConcreteClass(Compon
> entDefImpl.java:140)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.j
> ava:235)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployBehavior.getComponentDef(H
> otdeployBehavior.java:187)
>         at
>
> org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acqu
> ireFromHasComponentDef(S2ContainerBehavior.java:172)
>         at
>
> org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromHasCompon
> entDef(S2ContainerBehavior.java:86)
>         at
>
> org.seasar.framework.container.impl.S2ContainerImpl.hasComponentDef(S2Contai
> nerImpl.java:456)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(Abs
> tractBindingTypeDef.java:146)
>         at
>
> org.seasar.framework.container.assembler.BindingTypeMustDef.doBind(BindingTy
> peMustDef.java:45)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(Abstrac
> tBindingTypeDef.java:91)
>         at
>
> org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeF
> ieldDef.java:50)
>         at
>
> org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeF
> ieldDef.java:42)
>         at
>
> org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
> PropertyAssembler.java:56)
>         at
> org.seasar.framework.container.deployer.RequestComponentDeployer.
> deploy(RequestComponentDeployer.java:67)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentD
> efImpl.java:111)
>         at
>
> org.seasar.struts.config.S2ActionMapping.getActionForm(S2ActionMapping.java:
> 329)
>         at
>
> org.seasar.struts.action.ActionFormWrapper.<init>(ActionFormWrapper.java:62)
>         at
>
> org.seasar.struts.action.ActionFormWrapperClass.newInstance(ActionFormWrappe
> rClass.java:82)
>         at
>
> org.seasar.struts.config.S2FormBeanConfig.createActionForm(S2FormBeanConfig.
> java:44)
>         at
>
> org.seasar.struts.action.S2RequestProcessor.processActionForm(S2RequestProce
> ssor.java:211)
>         at
>
> org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:
> 103)
>
> DEBUG 2013-06-14 00:02:34,297 [http-bio-18080-exec-34] HOT deployを開始しま
>> DEBUG 2013-06-14 00:02:34,297 [http-bio-18080-exec-34]
>
> ** before *****************************************: /databaseController.do
>   Request
> class=org.seasar.framework.container.hotdeploy.HotdeployHttpServletRequest,
>
> instance=org.seasar.framework.container.hotdeploy.HotdeployHttpServletReques
> t @ 1d0a3762
>   RequestedSessionId=null
>   REQUEST_URI=/MyProject/databaseController.do,
> SERVLET_PATH=/databaseController.do
>   CharacterEncoding=UTF-8, ContentLength=1622, ContentType=text/html;,
> Locale=ja_JP, Locales=ja_JP, en_US, Scheme=http, isSecure=false
>   SERVER_PROTOCOL=HTTP/1.1, REMOTE_ADDR=127.0.0.1, REMOTE_HOST=127.0.0.1,
> SERVER_NAME=localhost, SERVER_PORT=18080
>   ContextPath=/MyProject, REQUEST_METHOD=POST,
> QUERY_STRING=SAStruts.method=newCommentDiscovery, PathInfo=null,
> RemoteUser=null
>
> 2013-06-14 00:02:34,297 [http-bio-18080-exec-34] DEBUG
> org.apache.struts.util.ModuleUtils - Get module name for path
> /databaseController.do
> 2013-06-14 00:02:34,297 [http-bio-18080-exec-34] DEBUG
> org.apache.struts.util.ModuleUtils - Module name found: default
> 2013-06-14 00:02:34,298 [http-bio-18080-exec-34] DEBUG
> org.apache.struts.action.RequestProcessor -  Setting user locale 'ja_JP'
> DEBUG 2013-06-14 00:02:34,298 [http-bio-18080-exec-34]
>
> ** after *****************************************: /databaseController.do
>
> 2013/06/14 0:02:34 org.apache.catalina.core.ApplicationDispatcher invoke
> 致命的: サーブレット action のServlet.service()が例外を投げました
> org.seasar.framework.exception.SIllegalArgumentException:
> [ESSR0094]IllegalArgumentExceptionがクラス
>
> (mywebapp.action.DatabaseControllerAction)[org.seasar.framework.container.ho
> tdeploy.HotdeployClassLoader @ 343159b]の型
>
> (mywebapp.service.TopicService)[org.seasar.framework.container.hotdeploy.Hot
> deployClassLoader @ 343159b]のフィールド(topicService)に型
>
> (mywebapp.service.TopicService$$EnhancedByS2AOP$$47aaa615)[org.seasar.framew
> ork.container.hotdeploy.HotdeployClassLoader @ e14d8e]の値
> (mywebapp.service.TopicService$$EnhancedByS2AOP$$47aaa615 @ 9ba11d3)を設定する
> ときに発生しました。対象のクラスは
> (mywebapp.action.DatabaseControllerAction$$EnhancedByS2AOP$$68bd6980)[
> org.se
> asar.framework.container.hotdeploy.HotdeployClassLoader @ 343159b]です。
>         at org.seasar.framework.util.FieldUtil.set(FieldUtil.java:171)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.setValue(Abs
> tractBindingTypeDef.java:346)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(Abs
> tractBindingTypeDef.java:151)
>         at
>
> org.seasar.framework.container.assembler.BindingTypeMustDef.doBind(BindingTy
> peMustDef.java:45)
>         at
>
> org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(Abstrac
> tBindingTypeDef.java:91)
>         at
>
> org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeF
> ieldDef.java:50)
>         at
>
> org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeF
> ieldDef.java:42)
>         at
>
> org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(Auto
> PropertyAssembler.java:56)
>         at
> org.seasar.framework.container.deployer.RequestComponentDeployer.
> deploy(RequestComponentDeployer.java:67)
>         at
>
> org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentD
> efImpl.java:111)
>         at
>
> org.seasar.struts.config.S2ActionMapping.getActionForm(S2ActionMapping.java:
> 329)
>         at
>
> org.seasar.struts.action.ActionFormWrapper.<init>(ActionFormWrapper.java:62)
>         at
>
> org.seasar.struts.action.ActionFormWrapperClass.newInstance(ActionFormWrappe
> rClass.java:82)
>         at
>
> org.seasar.struts.config.S2FormBeanConfig.createActionForm(S2FormBeanConfig.
> java:44)
>         at
>
> org.seasar.struts.action.S2RequestProcessor.processActionForm(S2RequestProce
> ssor.java:211)
>         at
>
> org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:
> 103)
>         at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
>         at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
> 432)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:305)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.jav
> a:127)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
> Filter.java:79)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(H
> otdeployFilter.java:86)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
> ilter.java:67)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
> java:749)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis
> patcher.java:487)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
> er.java:412)
>         at
>
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
> .java:339)
>         at
> org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)
>         at
> org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:99)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
> Filter.java:79)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(H
> otdeployFilter.java:99)
>         at
>
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
> ilter.java:67)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:243)
>         at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:210)
>         at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:222)
>         at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:123)
>         at
>
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> .java:472)
>         at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171
> )
>         at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>         at
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :118)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>         at
>
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce
> ssor.java:1008)
>         at
>
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac
> tProtocol.java:589)
>         at
>
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:
> 312)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
> va:895)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:9
> 18)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.IllegalArgumentException: Can not set
> mywebapp.service.
> TopicService field mywebapp.action.DatabaseControllerAction.topicService to
> mywebapp.service.TopicService$$EnhancedByS2AOP$$47aaa615
>         at
>
> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeF
> ieldAccessorImpl.java:146)
>         at
>
> sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeF
> ieldAccessorImpl.java:150)
>         at
>
> sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
> java:63)
>         at java.lang.reflect.Field.set(Field.java:657)
>         at org.seasar.framework.util.FieldUtil.set(FieldUtil.java:162)
>         ... 63 more
> ---------------------------------------------------------------------------
>
> 下記Tomcat終了時ログ
> ---------------------------------------------------------------------------
> 2013/06/14 0:07:00 org.apache.catalina.core.StandardServer await
> 情報: A valid shutdown command was received via the shutdown port. Stopping
> the Server instance.
> 2013/06/14 0:07:00 org.apache.coyote.AbstractProtocol pause
> 情報: Pausing ProtocolHandler ["http-bio-18080"]
> 2013/06/14 0:07:00 org.apache.coyote.AbstractProtocol pause
> 情報: Pausing ProtocolHandler ["ajp-bio-8009"]
> 2013/06/14 0:07:00 org.apache.catalina.core.StandardService stopInternal
> 情報: サービス Catalina を停止します
> 2013/06/14 0:07:00 org.apache.catalina.loader.WebappClassLoader
> clearReferencesThreads
> 致命的: The web application [/manager] appears to have started a thread
> named [Abandoned connection cleanup thread] but has failed to stop it. This
> is very likely to create a memory leak.
> DEBUG 2013-06-14 00:07:00,611 [localhost-startStop-2] 物理的なコネクションを
> 閉じました
> 2013/06/14 0:07:00 org.apache.catalina.core.StandardWrapper unload
> 情報: 32 インスタンスが割り当て解除されるのを待っています
> 2013/06/14 0:07:01 org.apache.catalina.core.StandardWrapper unload
> 情報: 32 インスタンスが割り当て解除されるのを待っています
> 2013/06/14 0:07:02 org.apache.catalina.core.StandardWrapper unload
> 情報: 32 インスタンスが割り当て解除されるのを待っています
> 2013/06/14 0:07:02 org.apache.catalina.core.StandardWrapper unload
> 情報: 1 インスタンスが割り当て解除されるのを待っています
> 2013/06/14 0:07:03 org.apache.catalina.core.StandardWrapper unload
> 情報: 1 インスタンスが割り当て解除されるのを待っています
> 2013/06/14 0:07:04 org.apache.catalina.core.StandardWrapper unload
> 情報: 1 インスタンスが割り当て解除されるのを待っています
> 2013-06-14 00:07:04,815 [localhost-startStop-2] DEBUG
> org.apache.struts.util.PropertyMessageResources -
> getMessage(ja_JP,finalizing)
> 2013-06-14 00:07:04,815 [localhost-startStop-2] DEBUG
> org.apache.struts.action.ActionServlet - コントローラサーブレットの終了処理
> 2013-06-14 00:07:04,815 [localhost-startStop-2] DEBUG
> org.apache.struts.validator.ValidatorPlugIn - Destroying ValidatorPlugin
> 2013/06/14 0:07:04 org.apache.catalina.loader.WebappClassLoader
> checkThreadLocalMapForLeaks
> 致命的: The web application [/RelayWebAppForHL] created a ThreadLocal with
> key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal @ 9446a6a
> ])
> and a value of type [java.util.LinkedList] (value [[insert into COMMENT
> (CATEGORY, FILE_ID, RES_NUMBER, NAME, COMMENT_TEXT, CREATE_COMMENT_TIME,
> APP_COMMENT_FLG) values (?, ?, ?, ?, ?, ?, ?), insert into COMMENT
> (CATEGORY, FILE_ID, RES_NUMBER, NAME, COMMENT_TEXT, CREATE_COMMENT_TIME,
> APP_COMMENT_FLG) values (?, ?, ?, ?, ?, ?, ?), insert into COMMENT
> (CATEGORY, FILE_ID, RES_NUMBER, NAME, COMMENT_TEXT, CREATE_COMMENT_TIME,
> APP_COMMENT_FLG) values (?, ?, ?, ?, ?, ?, ?)]]) but failed to remove it
> when the web application was stopped. Threads are going to be renewed over
> time to try and avoid a probable memory leak.
> ...同メッセージ繰り返しのため省略
> 致命的: The web application [/MyProject] created a ThreadLocal with key of
> type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal @ 9446a6a]) and a
> value of type [java.util.LinkedList] (value [[insert into COMMENT
> (CATEGORY,
> FILE_ID, RES_NUMBER, NAME, COMMENT_TEXT, CREATE_COMMENT_TIME,
> APP_COMMENT_FLG) values (?, ?, ?, ?, ?, ?, ?), insert into COMMENT
> (CATEGORY, FILE_ID, RES_NUMBER, NAME, COMMENT_TEXT, CREATE_COMMENT_TIME,
> APP_COMMENT_FLG) values (?, ?, ?, ?, ?, ?, ?), insert into COMMENT
> (CATEGORY, FILE_ID, RES_NUMBER, NAME, COMMENT_TEXT, CREATE_COMMENT_TIME,
> APP_COMMENT_FLG) values (?, ?, ?, ?, ?, ?, ?)]]) but failed to remove it
> when the web application was stopped. Threads are going to be renewed over
> time to try and avoid a probable memory leak.
> 2013/06/14 0:07:04 org.apache.coyote.AbstractProtocol stop
> 情報: Stopping ProtocolHandler ["http-bio-18080"]
> 2013/06/14 0:07:04 org.apache.coyote.AbstractProtocol stop
> 情報: Stopping ProtocolHandler ["ajp-bio-8009"]
> 2013/06/14 0:07:04 org.apache.coyote.AbstractProtocol destroy
> 情報: Destroying ProtocolHandler ["http-bio-18080"]
> 2013/06/14 0:07:04 org.apache.coyote.AbstractProtocol destroy
> 情報: Destroying ProtocolHandler ["ajp-bio-8009"]
> Exception in thread "http-bio-18080-exec-5" java.lang.OutOfMemoryError:
> PermGen space
> Exception in thread "http-bio-18080-exec-2" Exception in thread
> "http-bio-18080-exec-18" Exception in thread "RMI TCP Connection(idle)"
> Exception in thread "http-bio-18080-exec-13" Exception in thread "RMI TCP
> Connection(idle)" Exception in thread "http-bio-18080-exec-10" Exception in
> thread "http-bio-18080-exec-29" Exception in thread
> "http-bio-18080-exec-26"
> Exception in thread "http-bio-18080-exec-34" Exception in thread "RMI TCP
> Connection(idle)" Exception in thread "RMI TCP Connection(idle)" Exception
> in thread "http-bio-18080-exec-11"
>
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20130617/4d51bd46/attachment.html>


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