I occasionally see jobs that appear to be hung, that do not respond to
TERMINATE JOB and it looks like STAX is waiting on something, i.e.:
staf localhost service list requests
Response
--------
Request# Start Date-Time Service Request
-------- ----------------- ------- -----------------
6160026 20150403-16:47:15 QUEUE GET WAIT FIRST 25
This seems to sit around indefinitely in this state. Thread details from
STAX LIST JOB # THREADS LONG (attached) suggest that the child threads are
attempting be terminated due to the timer nodes having expired that there
are attempts to terminate the child threads, but nothing is actually being
terminated? Looking at thread 1, it looks like it's in a HardHoldThread
state due to the child threads not having been terminated?
The last call in the stack is a script element which was wrapped in a
timer block. The script element basically has some code in it to make a
web form submission. I've tried to STOP THREAD, TERMINATE JOB, etc, but
can't seem to find a way to actually get this job to finish. The only
workaround we've found seems to be to stop and restart STAF.
Any ideas how we can push the child threads along to actually terminate?
Even better, what might have got us into this state?
Ernie Chang, Senior QA Automation Engineer
PC-Doctor, Inc.
10345 Professional Circle, Suite 183
Reno, NV 89521
775.336.4077
er...@pc-doctor.com
CONFIDENTIALITY
The information contained in this message is confidential. It is intended
to be read only by the individual or entity to whom it is addressed or by
an authorized designee. If the reader of this message is not the intended
recipient, be aware that distribution of this message in any form is
strictly prohibited. If you have received this message in error, please
immediately notify the sender and destroy any copy of this message.
qalab@castor:~/automation/stable$ staf localhost stax list job 1222 threads long
Response
--------
[
{
Thread ID : 1
Parent TID : <None>
Parent Hierarchy: <None>
State : Blocked
Start Date-Time : 20150403-16:20:21
Call Stack : [
function: Execute (Line: 72, File:
/home/qalab/automation/stable/Execute.xml, Machine: local://local)
finally (Line: 208, File: /home/qalab/automation/stable/Execute.xml,
Machine: local://local)
try (Line: 78, File: /home/qalab/automation/stable/Execute.xml, Machine:
local://local)
sequence: 17/18 (Line: 79, File:
/home/qalab/automation/stable/Execute.xml, Machine: local://local)
function: RunTasks_Job (Line: 7, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 4/6 (Line: 39, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
]
Condition Stack : [
HardHoldThread: Source=ParallelIterate, Priority=50
TerminateBlock: Source=Block, Priority=200
HoldThread: Source=ParallelIterate, Priority=1000
]
}
{
Thread ID : 35
Parent TID : 1
Parent Hierarchy: 1
State : Running
Start Date-Time : 20150403-16:20:58
Call Stack : [
sequence: 1/2 (Line: 47, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
function: RunTasks (Line: 66, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
finally (Line: 402, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
try (Line: 121, File: /home/qalab/automation/stable/tasks/RunTasks.xml,
Machine: local://local)
sequence: 7/8 (Line: 122, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
iterate: 20/26 {'logprep': u'192.168.30.81: Check... (Line: 175, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 6/7 (Line: 176, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
if: run_task is True (Line: 246, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 2/5 (Line: 247, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
loop: #1 from 1 to 1 until STAXResult == PASS (Line: 249, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 1/2 (Line: 250, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
finally (Line: 307, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
try (Line: 251, File: /home/qalab/automation/stable/tasks/RunTasks.xml,
Machine: local://local)
sequence: 2/4 (Line: 252, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
timer: 3m (Line: 260, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
function: CheckPolicy (Line: 7, File:
/home/qalab/automation/stable/tasks/CheckPolicy.xml, Machine: local://local)
sequence: 25/29 (Line: 57, File:
/home/qalab/automation/stable/tasks/CheckPolicy.xml, Machine: local://local)
script: import uuid, random, string, urllib, url... (Line: 291, File:
/home/qalab/automation/stable/tasks/CheckPolicy.xml, Machine: local://local)
]
Condition Stack : [
TerminateThread: Source=Thread, Priority=100
TimerExpired: Source=Timer, Priority=400
]
}
{
Thread ID : 37
Parent TID : 1
Parent Hierarchy: 1
State : Running
Start Date-Time : 20150403-16:20:58
Call Stack : [
sequence: 1/2 (Line: 47, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
function: RunTasks (Line: 66, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
finally (Line: 402, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
try (Line: 121, File: /home/qalab/automation/stable/tasks/RunTasks.xml,
Machine: local://local)
sequence: 7/8 (Line: 122, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
iterate: 20/26 {'logprep': u'192.168.28.188: Chec... (Line: 175, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 6/7 (Line: 176, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
if: run_task is True (Line: 246, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 2/5 (Line: 247, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
loop: #1 from 1 to 1 until STAXResult == PASS (Line: 249, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
sequence: 1/2 (Line: 250, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
finally (Line: 307, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
try (Line: 251, File: /home/qalab/automation/stable/tasks/RunTasks.xml,
Machine: local://local)
sequence: 2/4 (Line: 252, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
timer: 3m (Line: 260, File:
/home/qalab/automation/stable/tasks/RunTasks.xml, Machine: local://local)
function: CheckPolicy (Line: 7, File:
/home/qalab/automation/stable/tasks/CheckPolicy.xml, Machine: local://local)
sequence: 25/29 (Line: 57, File:
/home/qalab/automation/stable/tasks/CheckPolicy.xml, Machine: local://local)
script: import uuid, random, string, urllib, url... (Line: 291, File:
/home/qalab/automation/stable/tasks/CheckPolicy.xml, Machine: local://local)
]
Condition Stack : [
TerminateThread: Source=Thread, Priority=100
TimerExpired: Source=Timer, Priority=400
]
}
]
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users