Monday, 3 July 2017

Argument list too long

EM12c, EM13c: Cloud Control Agent Installation On RHEL 7 Machine
Fails With "/bin/uname: Argument list too long" (Doc ID 2281440.1)

Error find from BI log file.

 Enterprise Manager Cloud Control running the command "/apps/middleware/bin/emctl stop oms -all -force -debug". 

APPLIES TO:

Enterprise Manager Base Platform - Version 12.1.0.4.0 and later
Information in this document applies to any platform.
SYMPTOMS

Agent installation on RHEL 7 machine using push method from OEM cloud control or using silent
 method fails at agent deployment with following error in agentDeploy_<timestamp>.log:

================
Cloning the agent home...
INFO: /opt/app/OracleHomes/agent_13.1.0.0.0/bin/emctl: line 287: /usr/bin/uname: Argument list too long
INFO: /opt/app/OracleHomes/agent_13.1.0.0.0/bin/emctl: line 288: /usr/bin/uname: Argument list too long
INFO: /opt/app/OracleHomes/agent_13.1.0.0.0/bin/emctl: line 475: /opt/app/OracleHomes/agent_13.1.0.0.0/perl/bin/perl:
 Argument list too long
================

CAUSE

Issue is due to stack guard page added to Linux kernel as mentioned by Red Hat in the following link:
https://access.redhat.com/security/vulnerabilities/stackguard?sc_cid=70160000000gzltAAA&


SOLUTION

 Perform any of the following steps to resolve the issue:


Workaround 1:
==========


Kindly follow the below steps. 
[+] Backup <MIDDLEWARE_HOME>/bin/commonenv [+] Increase the stack thread size (EM_THREAD_STACK_SIZE) in the commonenv file as described below: 
from ===================================== if [ "$uname" = "Linux" ] ; then if [ "$EM_THREAD_STACK_SIZE" = "" ] ; then EM_THREAD_STACK_SIZE=3072 fi ulimit -S -s $EM_THREAD_STACK_SIZE 
if [ "$EM_DONT_CHANGE_CORE_SIZE" = "" ] ; then ulimit -S -c hard fi fi ===================================== 
TO 
===================================== if [ "$uname" = "Linux" ] ; then if [ "$EM_THREAD_STACK_SIZE" = "" ] ; then EM_THREAD_STACK_SIZE=8192 fi ulimit -S -s $EM_THREAD_STACK_SIZE 
if [ "$EM_DONT_CHANGE_CORE_SIZE" = "" ] ; then ulimit -S -c hard fi fi 
===================================== 
[+] In bash profile of the operating system user (user performing the OMS installation), set the following parameter: 

$ export EM_THREAD_STACK_SIZE=8192 

[+] If the UI is still open, then please click on "Retry" and continue with the installation.
 
[+] If you accidentally exit the installer before clicking Retry, then do NOT restart the installer to reach the same screen; instead, invoke the runConfig.sh script from the Oracle home to rerun the Configuration Assistant in silent mode. For Microsoft Windows platforms, invoke runConfig.bat script. 

$<ORACLE_HOME>/oui/bin/runConfig.sh ORACLE_HOME=<absolute_path_to_Oracle_home> MODE=perform ACTION=configure COMPONENT_XML={encap_oms.1_0_0_0_0.xml} 



a. In bash profile of the operating system user (user performing the agent installation .bash_profile, .bash_rc), 
set the following parameter:
      $ export EM_THREAD_STACK_SIZE=8192


b. Retry the agent installation



Workaround 2:
==========
As agent home will be created already as part of the agent installation process, so run the following command to
 complete the agent installation:


a. In bash profile of the operating system user (user performing the agent installation .bash_profile, .bash_rc),
set the following parameter:
         $ export EM_THREAD_STACK_SIZE=8192

b. Rename the agent instance (agent_inst) folder if exists

c. Configure the agent by running the following command:
            $ cd <AGENT HOME>/sysman/install
            $ ./agentDeploy.sh AGENT_BASE_DIR=<agent base directory> AGENT_INSTANCE_HOME=<agent instance home> OMS_HOST=<oms hostname> EM_UPLOAD_PORT=<oms upload port> > AGENT_REGISTRATION_PASSWORD=<agent registration password> -configOnly

No comments: