From ae7512023d5863b8ccc8222c27bb818472491bc8 Mon Sep 17 00:00:00 2001
From: Christophe Sovant <christophe.sovant@forgerock.com>
Date: Thu, 05 Dec 2013 22:48:08 +0000
Subject: [PATCH] If the server hangs, dump stack trace of the server process before kill it
---
opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
index 4879b04..dc9156c 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
@@ -2187,7 +2187,7 @@
pidPath = '%s/logs/server.pid' % dsPath
_args = '%s' % pidPath
</script>
-
+
<call function="'runSTAFCommand'">
{ 'name' : 'Read server pid file',
'location' : location,
@@ -2196,14 +2196,35 @@
'arguments' : _args
}
</call>
+
+ <script>
+ pidSTAXResult = STAXResult
+ pid = STAXResult[:-1]
+
+ cmd = '%s/bin/jstack' % JAVA_HOME
+ env = ['JAVA_HOME=%s' % JAVA_HOME]
+ cmdOptions = '-l %s' % pid
+
+ outputPath = '%s/..' % (dsPath)
+ </script>
+
+ <call function="'runCommand'" >
+ {
+ 'name' : 'Run jstack' ,
+ 'command' : cmd ,
+ 'arguments' : cmdOptions ,
+ 'location' : location ,
+ 'outputFile' : '%s/jstack.txt' % outputPath ,
+ 'envCmd' : env
+ }
+ </call>
<script>
if is_windows_platform(location):
_cmd = 'tskill'
- _args = STAXResult
+ _args = pidSTAXResult
else:
_cmd = '/bin/kill'
- pid = STAXResult[:-1]
_args = '-9 %s' % pid
</script>
<if expr="os.path.exists(os.path.join(dsPath,'lib','emma.jar')) == False">
--
Gitblit v1.10.0