スタックトレースの見方

スタックトレースの見方
◆資料をご覧になる前に
この資料は、社内勉強会向けに作成された資料です。
記述内容は参考情報であり保証するものではありません。
◆本資料に関するご質問、お問い合わせは
dstnフォーラムにて投稿をお願いいたします。
◆本資料を無断で複写、複製するこを禁じます。
アジェンダ
•
•
•
•
スタックトレースの見方
例1 : シンプルな例外
例2 : PSP の例外
例3 : JVM のダンプ
スタックトレースの見方
• ポイントは 3 つ
1. 下から上に読む
2. パッケージごとに分割する
3. 「Caused by」を追う
下から上に読む
•
DataSpider から発生している例外は複数の例外が下から上に連鎖している
com.appresso.ds.script.runtime.ComponentFailedException: [資料コード検索]の処
理に失敗しました。
・・・・・・
Caused by: java.io.FileNotFoundException:
/opt/DataSpiderServistaAP/server/tmp/xmlfw.fs0000l80l98dhsrpfir7cc8hunq.tmpfil
e.dat (Too many open files)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at com.appresso.ds.xmlfw.table.FileTableDataBuilder.<init>(DashoA10*..)
at com.appresso.ds.xmlfw.table.FileTableDataBuilder.<init>(DashoA10*..)
at
com.appresso.ds.xmlfw.DataBuilderFactory.newFileTableDataBuilder(DashoA10*..)
at
com.appresso.ds.dp.share.adapter.db.operation.ExecuteSelectQueryOperation.exe
cute(DashoA10*..)
パッケージごとに分割する
• 大きなまとまり(パッケージ)で分解
com.appresso.ds.script.runtime.ComponentFailedException: [資料コード検索]の処理に失敗しました。
・・・・・・
Caused by: java.io.FileNotFoundException:
/opt/DataSpiderServistaAP/server/tmp/xmlfw.fs0000l80l98dhsrpfir7cc8hunq.tmpfile.dat (Too many open files)
FileNotFoundException が発生
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
Java
出力ストリームを開いている (FileOutputStream.<init>)
at com.appresso.ds.xmlfw.table.FileTableDataBuilder.<init>(DashoA10*..)
at com.appresso.ds.xmlfw.table.FileTableDataBuilder.<init>(DashoA10*..)
at com.appresso.ds.xmlfw.DataBuilderFactory.newFileTableDataBuilder(DashoA10*..)
大容量データ処理開始 (DataBuilderFactory.newFileTableDataBuilder())
XML フレー
ムワーク
検索系SQL
実行
at com.appresso.ds.dp.share.adapter.db.operation.ExecuteSelectQueryOperation.execute(DashoA10*..)
検索系 SQL 実行処理 (ExecuteSelectQueryOperation.execute()) を実行
Caused by を追う
com.appresso.ds.script.runtime.ComponentFailedException: [資料コード検索]の処理に失敗しました。
at com.appresso.ds.kernel.modules.container.sr.RuntimeContextImpl.componentFailed(RuntimeContextImpl.java:522)
at com.appresso.ds.script.runtime.RuntimeBusinessComponent.failed(RuntimeBusinessComponent.java:51)
Caused by の下にある、
・・・・・・
at com.appresso.ds.kernel.BeanInstance.invoke(BeanInstance.java:254)
最初に出現する
at com.appresso.ds.kernel.ModuleInstance.invoke(ModuleInstance.java:209)
「com.appresso ~」から
at com.appresso.ds.kernel.DataSpiderKernel$1.invoke(DataSpiderKernel.java:112)
at $Proxy0.doWithSession(Unknown Source)
注目する
at com.appresso.ds.kernel.modules.container.sr.ScriptRunnerTask.run(ScriptRunnerTask.java:195)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
「com.appresso. ~
at java.lang.Thread.run(Thread.java:595)
adapter.~
Caused by: java.io.FileNotFoundException:
XXXOperation」から
/opt/DataSpiderServistaAP/server/tmp/xmlfw.fs0000l80l98dhsrpfir7cc8hunq.tmpfile.dat
(Too many open files)
at java.io.FileOutputStream.open(Native Method)
アダプタ (処理)を特定
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
できる
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at com.appresso.ds.xmlfw.table.FileTableDataBuilder.<init>(DashoA10*..)
at com.appresso.ds.xmlfw.table.FileTableDataBuilder.<init>(DashoA10*..)
at com.appresso.ds.xmlfw.DataBuilderFactory.newFileTableDataBuilder(DashoA10*..)
at com.appresso.ds.dp.share.adapter.db.operation.ExecuteSelectQueryOperation.execute(DashoA10*..)
例外の種類
種類
主にサーバ側のエラー
主にクライアント側のエラー
パッケージ
説明
com.appresso.ds.script.runtime.
スクリプト実行時の例外
com.appresso.ds.xmlfw
XML フレームワークの例外
com.appresso.ds.dp
アダプタの例外
com.appresso.ds.vp
Mapper の実行時例外
com.appresso.ds.kernel
カーネルモジュールの例外
com.appresso.ds.kernel.modules.cm.schedule
スケジュールトリガーの例外
com.appresso.ds.kernel.modules.cm.file
ファイルトリガーの例外
com.appresso.ds.kernel.modules.mgr.file
ファイルマネージャの例外
com.appresso.ds.console
CLI の例外
com.appresso.ds.gui
GUI 全般の例外
com.appresso.ds.studio
Studio 上の何らかのGUI (マイXX、コントロール
パネル、固定長・可変長ウィザードなど) の例外
com.appresso.ds.mapper
Mapper の GUI の例外
com.appresso.ds.designer
デザイナの GUI の例外
例1:シンプルな例外
mapping 処理で失敗
例1:シンプルな例外
[mapping]の処理に失敗しました。原因:[java.lang.IllegalStateException: can't initialize logic]
com.appresso.ds.script.runtime.ComponentFailedException: [mapping]の処理に失敗しました。原因:[java.lang.IllegalStateException: can't
initialize logic]
at com.appresso.ds.kernel.modules.container.sr.RuntimeContextImpl.componentFailed(RuntimeContextImpl.java:522)
at com.appresso.ds.script.runtime.RuntimeVariableProcessing.failed(RuntimeVariableProcessing.java:57)
at pi0000fg03l1i0v7h9hhogfmi4e9.process_os0000jaf8vqs10fcv5oqgnsi9ho(pi0000fg03l1i0v7h9hhogfmi4e9.java:464)
at pi0000fg03l1i0v7h9hhogfmi4e9.execute_ic0000fg03l1i0v7h91hormei4e9(pi0000fg03l1i0v7h9hhogfmi4e9.java:157)
at pi0000fg03l1i0v7h9hhogfmi4e9.executeMainProcedure(pi0000fg03l1i0v7h9hhogfmi4e9.java:147)
at com.appresso.ds.script.runtime.RuntimeScript.execute(RuntimeScript.java:159)
at com.appresso.ds.kernel.modules.container.sr.ScriptRunnerTask.scriptrunner(ScriptRunnerTask.java:247)
at com.appresso.ds.kernel.modules.container.sr.ScriptRunnerTask.execute(ScriptRunnerTask.java:180)
at
com.appresso.ds.kernel.modules.container.sr.DataSpiderScriptRunnerContainerImpl.execute(DataSpiderScriptRunnerContainerImpl.java:165)
at
com.appresso.ds.kernel.modules.container.sr.DataSpiderScriptRunnerContainerImpl.execute(DataSpiderScriptRunnerContainerImpl.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.appresso.ds.common.kernel.DefaultRemoteMethodInterceptor.invoke(DefaultRemoteMethodInterceptor.java:13)
at com.appresso.ds.kernel.ModuleInstance.invoke(ModuleInstance.java:190)
at com.appresso.ds.kernel.DataSpiderKernel.invoke(DataSpiderKernel.java:249)
at com.appresso.ds.kernel.DataSpiderKernel.invokeFromRemote(DataSpiderKernel.java:229)
at com.appresso.ds.kernel.DataSpiderNode.invokeFromRemote(DataSpiderNode.java:205)
at com.appresso.ds.kernel.RemoteKernelImpl.invoke(RemoteKernelImpl.java:53)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
例1:(つづき)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException: can't initialize logic
at com.appresso.ds.vp.mapper.fastconverter.ConvertByFileExpression.a(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ConvertOneKeyBaseExpression.b(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ConvertOneKeyBaseExpression.getStringValue(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ValueOutput.execute(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputLoop.executeBasedOnCurrent(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.SimpleLoop.executeImpl(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputLoop.a(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputConverter.a(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputConverter.a(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputConverter.convert(DashoA10*..)
at com.appresso.ds.vp.impl.DocumentMapper.execute(DashoA10*..)
at com.appresso.ds.script.runtime.RuntimeVariableProcessing.execute(RuntimeVariableProcessing.java:38)
at pi0000fg03l1i0v7h9hhogfmi4e9.process_os0000jaf8vqs10fcv5oqgnsi9ho(pi0000fg03l1i0v7h9hhogfmi4e9.java:461)
... 27 more
Caused by: com.appresso.ds.common.dp.InvalidFormatException: クォートが対になっていません。
at com.appresso.ds.text.CSVParser.next(CSVParser.java:170)
at com.appresso.ds.text.CSVParser.next(CSVParser.java:125)
at com.appresso.ds.text.CSVParser.parse(CSVParser.java:111)
... 40 more
例1:シンプルな例外
• スタックとレースから以下のことがわかる
・処理は Mapper で失敗している
→ can't initialize logic
・エラーは Mapper のロジックアイコンの初期化時に発生している
→ can't initialize logic
・ロジックアイコンは「CSV ファイルによる置換」ロジックアイコン
→ ConvertByFileExpression
・CSV ファイルの解析で失敗している
→ CSVParser.next()
・失敗している原因はクォートが不正になっている
→ InvalidFormatException: クォートが対になっていません。
例2:PSP の例外
Oracleへのテーブル
書き込み処理で失敗
例2:PSP の例外
[TGT_テーブル]の処理に失敗しました。原因:[com.appresso.ds.xmlfw.psp.PSPWrappingException: java.lang.IllegalStateException: can't
initialize logic]
com.appresso.ds.script.runtime.ComponentFailedException: [TGT_テーブル]の処理に失敗しました。原
因:[com.appresso.ds.xmlfw.psp.PSPWrappingException: java.lang.IllegalStateException: can't initialize logic]
at com.appresso.ds.kernel.modules.container.sr.RuntimeContextImpl.componentFailed(RuntimeContextImpl.java:522)
at com.appresso.ds.script.runtime.RuntimeBusinessComponent.failed(RuntimeBusinessComponent.java:51)
at m200003g1il000e0d0qca9fqi2ed.process_ao00003g1il000e0d00ca9k8i2ed(m200003g1il000e0d0qca9fqi2ed.java:4733)
at m200003g1il000e0d0qca9fqi2ed.execute_pg00003g1il000e0d0cca9i4i2ed(m200003g1il000e0d0qca9fqi2ed.java:199)
at m200003g1il000e0d0qca9fqi2ed.executeMainProcedure(m200003g1il000e0d0qca9fqi2ed.java:186)
at com.appresso.ds.script.runtime.RuntimeScript.execute(RuntimeScript.java:159)
at com.appresso.ds.kernel.modules.container.sr.ScriptRunnerTask.scriptrunner(ScriptRunnerTask.java:247)
at com.appresso.ds.kernel.modules.container.sr.ScriptRunnerTask.execute(ScriptRunnerTask.java:180)
at
com.appresso.ds.kernel.modules.container.sr.DataSpiderScriptRunnerContainerImpl.execute(DataSpiderScriptRunnerContainerImpl.java:165)
at
com.appresso.ds.kernel.modules.container.sr.DataSpiderScriptRunnerContainerImpl.execute(DataSpiderScriptRunnerContainerImpl.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.appresso.ds.common.kernel.DefaultRemoteMethodInterceptor.invoke(DefaultRemoteMethodInterceptor.java:13)
at com.appresso.ds.kernel.ModuleInstance.invoke(ModuleInstance.java:190)
at com.appresso.ds.kernel.DataSpiderKernel.invoke(DataSpiderKernel.java:249)
at com.appresso.ds.kernel.DataSpiderKernel.invokeFromRemote(DataSpiderKernel.java:229)
at com.appresso.ds.kernel.DataSpiderNode.invokeFromRemote(DataSpiderNode.java:205)
at com.appresso.ds.kernel.RemoteKernelImpl.invoke(RemoteKernelImpl.java:53)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.appresso.ds.common.kernel.DefaultRemoteMethodInterceptor.invoke(DefaultRemoteMethodInterceptor.java:13)
at com.appresso.ds.kernel.ModuleInstance.invoke(ModuleInstance.java:190)
at com.appresso.ds.kernel.DataSpiderKernel.invoke(DataSpiderKernel.java:249)
at com.appresso.ds.kernel.DataSpiderKernel.invokeFromRemote(DataSpiderKernel.java:229)
例2:(つづき)
at com.appresso.ds.kernel.DataSpiderNode.invokeFromRemote(DataSpiderNode.java:205)
at com.appresso.ds.kernel.RemoteKernelImpl.invoke(RemoteKernelImpl.java:53)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.appresso.ds.xmlfw.psp.PSPWrappingException: java.lang.IllegalStateException: can't initialize logic
at com.appresso.ds.xmlfw.psp.b.f(DashoA10*..)
at com.appresso.ds.xmlfw.psp.b.b(DashoA10*..)
at com.appresso.ds.xmlfw.psp.PSPTableDataBuilder$PSPTableRowIteratorImpl.hasNext(DashoA10*..)
at com.appresso.ds.dp.share.adapter.db.operation.PutTableDataOperation.execute(DashoA10*..)
at com.appresso.ds.dp.mgr.OperationComponent.execute(OperationComponent.java:78)
at com.appresso.ds.kernel.modules.mgr.dpcon.DataProcessingOperationImpl.doExecute(DataProcessingOperationImpl.java:78)
at com.appresso.ds.kernel.modules.mgr.dpcon.DataProcessingOperationImpl.access$000(DataProcessingOperationImpl.java:31)
at com.appresso.ds.kernel.modules.mgr.dpcon.DataProcessingOperationImpl$2.run(DataProcessingOperationImpl.java:64)
at com.appresso.ds.kernel.modules.mgr.session.DataSpiderSessionManagerImpl.doWithSession(DataSpiderSessionManagerImpl.java:269)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.appresso.ds.kernel.BeanInstance.invoke(BeanInstance.java:254)
at com.appresso.ds.kernel.ModuleInstance.invoke(ModuleInstance.java:209)
at com.appresso.ds.kernel.DataSpiderKernel$1.invoke(DataSpiderKernel.java:112)
at $Proxy0.doWithSession(Unknown Source)
at
com.appresso.ds.kernel.modules.mgr.dpcon.DataProcessingConnectionImpl.doAsLoginUserForOperation(DataProcessingConnectionImpl.java:
129)
例2:(つづき)
at com.appresso.ds.kernel.modules.mgr.dpcon.DataProcessingOperationImpl.execute(DataProcessingOperationImpl.java:62)
at com.appresso.ds.script.runtime.RuntimeDataProcessingCall.execute(RuntimeDataProcessingCall.java:33)
at m200003g1il000e0d0qca9fqi2ed.process_ao00003g1il000e0d00ca9k8i2ed(m200003g1il000e0d0qca9fqi2ed.java:4730)
... 27 more
Caused by: java.lang.IllegalStateException: can't initialize logic
at com.appresso.ds.vp.mapper.fastconverter.ConvertByDBExpression.initPairs(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ConvertMultipleKeysBaseExpression.b(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ConvertMultipleKeysBaseExpression.getStringValue(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.StringContentExpression.getIntValue(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.MultiplyExpression.toInt(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ArithmeticExpression.getBigDecimalValue(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ValueOutput.execute(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputLoop.executeBasedOnCurrent(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.SimpleLoop.executeImpl(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputLoop.a(DashoA10*..)
at com.appresso.ds.vp.mapper.fastconverter.ExpressionInputConverter$1.run(DashoA10*..)
at com.appresso.ds.kernel.modules.mgr.session.DataSpiderSessionManagerImpl$1$1.run(DataSpiderSessionManagerImpl.java:207)
at com.appresso.ds.kernel.modules.mgr.session.DataSpiderSessionManagerImpl.doWithSession(DataSpiderSessionManagerImpl.java:269)
at com.appresso.ds.kernel.modules.mgr.session.DataSpiderSessionManagerImpl$1.run(DataSpiderSessionManagerImpl.java:205)
Caused by: java.lang.IllegalArgumentException: ConfigElement for specified key not found.: key=KEY_COLUMNS
at com.appresso.ds.vp.mapper.fastconverter.ConvertByDBExpression.a(DashoA10*..)
... 14 more
例2:PSP の例外
• スタックとレースから以下のことがわかる
・処理自体はテーブル書き込み処理で失敗している
→ PutTableDataOperation.execute()
・エラーは Mapper のロジックアイコンの初期化時に発生している
→ can't initialize logic
・ロジックアイコンは「DB テーブルによる置換」ロジックアイコン
→ ConvertByDBExpression.initPairs()
・内部的に使用しているキー「KEY_COLUMNS」が見つからない
→ ConfigElement for specified key not found.: key=KEY_COLUMNS
例3:JVM のダンプ
• Stack
Stack: [0x4bf60000,0x4bfa0000), sp=0x4bf9f484, free space=253k
Native frames: (J=compiled java code, j=interpreted, Vv=VM code,C=native code)
C [ntdll.dll+0x1a379]
C [ODBC32.dll+0x34c36]
C [ODBC32.dll+0x2fdd]
C [ODBC32.dll+0x61fb]
C [ODBC32.dll+0x61a5]
C [JdbcOdbc.dll+0x11da]
j sun.jdbc.odbc.JdbcOdbc.allocStmt(J[B)J+0
j sun.jdbc.odbc.JdbcOdbc.SQLAllocStmt(J)J+47
j sun.jdbc.odbc.JdbcOdbcConnection.createStatement(II)Ljava/sql/Statement;+27
j sun.jdbc.odbc.JdbcOdbcConnection.createStatement()Ljava/sql/Statement;+7
j
com.appresso.ds.dp.share.adapter.resource.SQLServer2005CheckConnAvailabilityAction.run(Ljava/sql/Connect
ion;Lcom/appresso/ds/dp/share/adapter/db/resource/DBResourceImpl;)V+24
j com.appresso.ds.dp.share.adapter.db.resource.DBResourceImpl.cleanup()V+9
j com.appresso.ds.dp.mgr.ResourceComponent.cleanup()V+36
j com.appresso.ds.dp.mgr.ResourceComponent.destroy(Lcom/appresso/ds/common/fw/LoggingContext;)V+33
j com.appresso.ds.dp.mgr.DataProcessingComponent.finalize()V+4 v ~StubRoutines::call_stub V
[jvm.dll+0xf9b60]
例3:JVM のダンプ
• PROCESS (Java Threads)
--------------- P R O C E S S ---------------
=> のマークが
先頭に付いて
Java Threads: ( => current thread )
0x5171be48 JavaThread "RMI TCP Connection(326)-192.0.1.153"
いるスレッドを daemon [_thread_in_native, id=1084]
0x507a8cb8 JavaThread "RMI TCP Connection(325)-192.0.1.153"
daemon [_thread_in_native, id=2388]
探す
0x4d7cfe20 JavaThread "RMI TCP Connection(324)-192.0.1.153" daemon [_thread_in_native, id=3760]
0x4e149668 JavaThread "RMI RenewClean-[192.0.1.153:3133]" daemon [_thread_blocked, id=3284]
0x4c2b6e08 JavaThread "DataProcessingConnectionPoolGC" daemon [_thread_blocked, id=3176]
0x4c5de5b8 JavaThread "GC Daemon" daemon [_thread_blocked, id=1096]
Finalizer はガベージコ
・・・・・・
0x4c5de2f0 JavaThread "RMI Reaper" [_thread_blocked, id=3792]
レクションのときに
0x4c5febb0 JavaThread "Timer-0" daemon [_thread_blocked, id=3456]
実行される Java の
0x4c5fe7f8 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=3528]
デーモンスレッド
0x4bd2bcc8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3928]
0x4bd33c60 JavaThread "CompilerThread1" daemon [_thread_blocked, id=3916]
0x4bd1b740 JavaThread "CompilerThread0" daemon [_thread_blocked, id=1232]
0x4bd18ff8 JavaThread "AdapterThread" daemon [_thread_blocked, id=2588]
=>0x4bd0aed8 JavaThread "Finalizer" daemon [_thread_in_native, id=4052]
0x4bd0aa70 JavaThread "Reference Handler" daemon [_thread_blocked, id=4056]
例3:JVM のダンプ
• Stack と PROCESS から以下のことがわかる
・Java のガベージコレクション実行時に事象が発生
→ current threads が Finalizer
・破棄の対象になっているオブジェクトは「 DataProcessingComponent 」
→ DataProcessingComponent.finalize()
・DB のグローバルリソースの cleanup 処理が実行されている
→ DBResourceImpl.cleanup()
・対象のデータベースは SQL Server 2005
→ SQLServer2005CheckConnAvailabilityAction.run()
・cleanup 処理ではステートメントを生成している
→ JdbcOdbcConnection.createStatement()
・接続方式は ODBC
→ sun.jdbc.odbc.JdbcOdbcConnection
ご質問・お問い合わせは
Dstnフォーラムにて投稿をお願いします。
http://dstn.appresso.com