スタックトレースの見方 ◆資料をご覧になる前に この資料は、社内勉強会向けに作成された資料です。 記述内容は参考情報であり保証するものではありません。 ◆本資料に関するご質問、お問い合わせは 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
© Copyright 2024 Paperzz