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

Yuya Hirokawa [E-MAIL ADDRESS DELETED]
2013年 6月 14日 (金) 01:33:39 JST


皆様

お世話になります。廣川と申します。

本件について直接的には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 メーリングリストの案内