AutoSys Application server, as_server, process randomly crashes when users are trying to use WCC to look at their jobs
search cancel

AutoSys Application server, as_server, process randomly crashes when users are trying to use WCC to look at their jobs

book

Article ID: 446474

calendar_today

Updated On:

Products

Autosys Workload Automation

Issue/Introduction

Application Server Crash could also happen when attempting to look at job details (autorep -qJ <job_name>)  for specific users.
 
Stack from the core file is similar to below in the Safe's EEM Policy evaluation section:
 
Thread 1 (LWP 26204):
#0  0x00007ffa416fe931 in Safe_0_0_0::LitePolicy::evalSingleFilter(Safe_0_0_0::LiteFilter*, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, char const*, char const*, char const*, char const*, long, char const*, Safe_0_0_0::CustomVariableQ&, Safe_0_0_0::ErrorImpl&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#1  0x00007ffa4170072d in Safe_0_0_0::LitePolicy::evalRecurse(Safe_0_0_0::LiteFilterQ::iterator, int, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, char const*, char const*, char const*, char const*, long, char const*, Safe_0_0_0::CustomVariableQ&, Safe_0_0_0::ErrorImpl&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#2  0x00007ffa41700692 in Safe_0_0_0::LitePolicy::evalRecurse(Safe_0_0_0::LiteFilterQ::iterator, int, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, char const*, char const*, char const*, char const*, long, char const*, Safe_0_0_0::CustomVariableQ&, Safe_0_0_0::ErrorImpl&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#3  0x00007ffa4170099a in Safe_0_0_0::LitePolicy::evaluate(Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, Safe_0_0_0::AttrQ&, char const*, char const*, char const*, char const*, long, int, char const*, Safe_0_0_0::CustomVariableQ&, Safe_0_0_0::ErrorImpl&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#4  0x00007ffa4166aff9 in Safe_0_0_0::ContextImpl::privAuthorizeWithSession(Safe_0_0_0::SessionImpl*, char const*, char const*, char const*, Safe_0_0_0::AttrQ&, long, Safe_0_0_0::ErrorImpl&, Safe_0_0_0::StringQ&, char const*, bool, bool, Safe_0_0_0::StringQ&, bool) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#5  0x00007ffa416695a1 in Safe_0_0_0::ContextImpl::privAuthorizeWithIdentity(char const*, char const*, char const*, char const*, Safe_0_0_0::AttrQ&, long, Safe_0_0_0::ErrorImpl&, Safe_0_0_0::StringQ&, char const*, bool, Safe_0_0_0::StringQ&, bool) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#6  0x00007ffa41670c84 in Safe_0_0_0::ContextImpl::processAuthorizationQ(Safe_0_0_0::AuthorizationImplQ&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#7  0x00007ffa41670fc9 in Safe_0_0_0::ContextImpl::processAuthorizationMatrix(Safe_0_0_0::StringQ&, Safe_0_0_0::StringQ&, char const*, Safe_0_0_0::StringQ&, bool, long, char const*, bool, Safe_0_0_0::AuthorizationImplQ&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#8  0x00007ffa41528387 in Safe_12_5_1::Context::processAuthorizationMatrix(Safe_0_0_0::StringQ&, Safe_0_0_0::StringQ&, char const*, Safe_0_0_0::StringQ&, bool, long, char const*, bool, Safe_12_5_1::AuthorizationQ&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libsafe12.so
#9  0x00007ffa46af4068 in AsSafeApplSession::CanUserAccessAsset(iistring const&, AsSafeApplAsset&, char const*, long) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libassafe_api.so
#10 0x00007ffa475e9f64 in AsSafeSecureAPI::CanUserAccessAsset(AsAssetUser const&, AsAssetResource const&, char const*) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libassecure.so
#11 0x00007ffa4793cfe4 in CheckSecurityForResource(std::unique_ptr<AsAssetSecureAPI, std::default_delete<AsAssetSecureAPI> > const&, AsAssetUser const&, AsAssetResource&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >*) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasapi.so
#12 0x00007ffa4793d895 in AuthorizeSendBatch_BindVars(ApiContext*, ae_job_filter_api::ReqArgs&, std::unique_ptr<AsAssetSecureAPI, std::default_delete<AsAssetSecureAPI> > const&, AsAssetUser const&, AsAssetJob&, AsAssetAppl&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >*, AsAssetGroup&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >*, AsAssetBlob&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bool> > >*, std::vector<jobDetailsForAuth, std::allocator<jobDetailsForAuth> >&, std::map<int, jobDetailsForAuth, std::less<int>, std::allocator<std::pair<int const, jobDetailsForAuth> > >&, filterparams&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasapi.so
#13 0x00007ffa4793f89d in authorizeJobs(ApiContext*, ae_job_filter_api::ReqArgs&, Filter const*, std::map<int, jobDetailsForAuth, std::less<int>, std::allocator<std::pair<int const, jobDetailsForAuth> > >&, filterparams&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasapi.so
#14 0x00007ffa4793dfba in retrieveJobs(ApiContext*, ae_job_filter_api::ReqArgs&, Filter const*) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasapi.so
#15 0x00007ffa4794079b in do_job_filter_api(ApiContext*, ae_job_filter_api::ReqArgs&, Filter*, AsList<int>&) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasapi.so
#16 0x00007ffa47940a8a in get_jobs_with_filter(ApiContext*, Request*) () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasapi.so
#17 0x00000000004312d6 in ApiThread::Iterate() ()
#18 0x00007ffa4756793e in ThreadTE () from /opt/CA/WorkloadAutomationAE/autosys/lib/libasutil.so
#19 0x00007ffa454a6fec in ?? ()
#20 0x0000000000000000 in ?? ()
 
 
 

 

Cause

 
The problem happens because, the as-job policy is comparing a BOOLEAN  to a STRING value (in this case,  group name example-group123).  
 
<Policy folder="/" name="Test-as-Job-Policy">
  ..
  ..
<Filter logic="nologic" lparens="1" col="ug:GroupName" optype="BOOLEAN" oper="EQUAL" val="val:example-group123" rparens="0" />
<Filter logic="AND" lparens="0" col="req:resource" optype="STRING" oper="STARTSWITH" val="val:ACE.example-job123" rparens="0" />
<Filter logic="OR" lparens="0" col="req:resource" optype="STRING" oper="STARTSWITH" val="val:ACE.example-ob456" rparens="1" />
</Policy>
 
It could happen in other policies too, where such a comparison is being done between a BOOLEAN and a non BOOLEAN attributes)
 

Resolution

This comparison source should not be BOOLEAN, but it should be  STRING


  <Policy folder="/" name="Test-as-Job-Policy">
   ..
   ..
  <Filter logic="nologic" lparens="1" col="ug:GroupName" optype="STRING" oper="EQUAL" val="val:example-group123" rparens="0" />
  <Filter logic="AND" lparens="0" col="req:resource" optype="STRING" oper="STARTSWITH" val="val:ACE.example-job123" rparens="0" />
  <Filter logic="OR" lparens="0" col="req:resource" optype="STRING" oper="STARTSWITH" val="val:ACE.example-ob456" rparens="1" />
  </Policy>
  

 

  • Save the policy, restart application server.  The crash should not happen anymore.

Additional Information

This issue is also being addressed in the EEM SDK layer via a defect, will be available in a later release/patch shortly.

To speak with a customer representative or a Support Engineer see Contact Support. Scroll to the bottom of the page and click on the respective region.