Symantec IGA

  • 1.  VERY URGENT >.< JBOSS Error !!

    Posted Feb 13, 2016 12:21 PM

    Earlier i posted this question :

     

      

      

    Hi all ,

    good day ,

     

    i am getting one error when i am starting the CA IDM server. .

     

    02:22:05,161 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS013412: Timeout after [300] seconds waiting for service container stability. Operation will roll back. Step that first updated the service container was 'add' at address '[

        ("core-service" => "management"),

        ("management-interface" => "native-interface")

     

    the answer was :

    The building of Identity Manager's roles cache takes longer than the JBoss timeout will allow. Step 5 of the IM startup sequence is the lengthiest of all of them, since this is where IM loads all of the admin, provisioning and access roles and calculates the valid users for each of them and writes them to an in memory cache to allow users quick logins.

    Starting in JBoss EAP 6.0, the timeout for any thread is lower than what IM typically can process the caches with.

    Resolution:

    Modify the .bat or .sh file that you use to start JBoss. For most installations, this is the standalone.bat or standalone.sh file.

    Find the line with:

    "SERVER_OPTS=%SERVER_OPTS%

    Here you will see a series of "-D" flags.

    Add this additional flag:

    -Djboss.as.management.blocking.timeout=<***>

    You'll need to determine the value of "***"

    By default this is set to 300 seconds. If you know you have many IM roles and users, you may want to set this to something very high like 3600 for one hour. You will have to look at your previous server startup times and make sure what setting to use.

    **************************************************************************************************************************************************************

    i am searching in the .bat file but i am not able to find any -D flags ,

    can anyone highlight it please.

     

    *************************************file name " standalone.bat**************************************

    @echo off

    rem -------------------------------------------------------------------------

    rem JBoss Bootstrap Script for Windows

    rem -------------------------------------------------------------------------

     

    rem Use --debug to activate debug mode with an optional argument to specify the port

    rem Usage : standalone.bat --debug

    rem         standalone.bat --debug 9797

     

    rem By default debug mode is disable.

    set DEBUG_MODE=false

    set DEBUG_PORT=8787

    rem Set to all parameters by default

    set SERVER_OPTS=%*

     

     

    REM ----------------------- start CA IAM FW changes -----------------------

                                               

    set "STANDALONE_CONFIGURATION=standalone-full.xml"

    set "BIND_ADDRESS=0.0.0.0"

    set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75"

    set "IDM_OPTS=-Dnete.j2ee.vendor=jboss"

     

    REM Uncomment the line below if IPv6 Only Stack is used

    REM set "IDM_OPTS=%IDM_OPTS% -Djava.net.preferIPv6Addresses=true"

     

    REM Uncomment the line below if IPv6 Dual Stack is used

    REM set "IDM_OPTS=%IDM_OPTS% -Djava.net.preferIPv4Stack=true"

    set "SERVER_OPTS=%SERVER_OPTS% -c %STANDALONE_CONFIGURATION% -b %BIND_ADDRESS% %IDM_OPTS%"

     

     

    REM ----------------------- end CA IAM FW changes -------------------------

           

     

    rem Get the program name before using shift as the command modify the variable ~nx0

    if "%OS%" == "Windows_NT" (

      set "PROGNAME=%~nx0%"

    ) else (

      set "PROGNAME=standalone.bat"

    )

     

    @if not "%ECHO%" == ""  echo %ECHO%

    @if "%OS%" == "Windows_NT" setlocal

     

    if "%OS%" == "Windows_NT" (

      set "DIRNAME=%~dp0%"

    ) else (

      set DIRNAME=.\

    )

     

    rem Read command-line args.

    :READ-ARGS

    if "%1" == "" (

       goto MAIN

    ) else if "%1" == "--debug" (

       goto READ-DEBUG-PORT

    ) else (

       rem This doesn't work as Windows splits on = and spaces by default

       rem set SERVER_OPTS=%SERVER_OPTS% %1

       shift

       goto READ-ARGS

    )

     

    :READ-DEBUG-PORT

    set "DEBUG_MODE=true"

    set DEBUG_ARG="%2"

    if not "x%DEBUG_ARG" == "x" (

       if x%DEBUG_ARG:-=%==x%DEBUG_ARG% (

          shift

          set DEBUG_PORT=%DEBUG_ARG%

       )

       shift

       goto READ-ARGS

    )

     

    :MAIN

    rem $Id$

    )

     

    pushd "%DIRNAME%.."

    set "RESOLVED_JBOSS_HOME=%CD%"

    popd

     

    if "x%JBOSS_HOME%" == "x" (

      set "JBOSS_HOME=%RESOLVED_JBOSS_HOME%"

    )

     

    pushd "%JBOSS_HOME%"

    set "SANITIZED_JBOSS_HOME=%CD%"

    popd

     

    if /i "%RESOLVED_JBOSS_HOME%" NEQ "%SANITIZED_JBOSS_HOME%" (

       echo.

       echo   WARNING:  JBOSS_HOME may be pointing to a different installation - unpredictable results may occur.

       echo.

       echo             JBOSS_HOME: "%JBOSS_HOME%"

       echo.

       rem 2 seconds pause

       ping 127.0.0.1 -n 3 > nul

    )

     

    rem Read an optional configuration file.

    if "x%STANDALONE_CONF%" == "x" (

       set "STANDALONE_CONF=%DIRNAME%standalone.conf.bat"

    )

    if exist "%STANDALONE_CONF%" (

       echo Calling "%STANDALONE_CONF%"

       call "%STANDALONE_CONF%" %*

    ) else (

       echo Config file not found "%STANDALONE_CONF%"

    )

     

     

    rem Set debug settings if not already set

    if "%DEBUG_MODE%" == "true" (

       echo "%JAVA_OPTS%" | findstr /I "\-agentlib:jdwp" > nul

      if errorlevel == 1 (

         set "JAVA_OPTS=%JAVA_OPTS% -agentlib:jdwp=transport=dt_socket,address=%DEBUG_PORT%,server=y,suspend=n"

      ) else (

         echo Debug already enabled in JAVA_OPTS, ignoring --debug argument

      )

    )

     

    set DIRNAME=

     

    rem Setup directories, note directories with spaces do not work

    set "CONSOLIDATED_OPTS=%JAVA_OPTS% %SERVER_OPTS%"

    :DIRLOOP

    echo(%CONSOLIDATED_OPTS% | findstr /r /c:"^-Djboss.server.base.dir" > nul && (

      for /f "tokens=1,2* delims==" %%a IN ("%CONSOLIDATED_OPTS%") DO (

        for /f %%i IN ("%%b") DO set "JBOSS_BASE_DIR=%%~fi"

      )

    )

    echo(%CONSOLIDATED_OPTS% | findstr /r /c:"^-Djboss.server.config.dir" > nul && (

      for /f "tokens=1,2* delims==" %%a IN ("%CONSOLIDATED_OPTS%") DO (

        for /f %%i IN ("%%b") DO set "JBOSS_CONFIG_DIR=%%~fi"

      )

    )

    echo(%CONSOLIDATED_OPTS% | findstr /r /c:"^-Djboss.server.log.dir" > nul && (

      for /f "tokens=1,2* delims==" %%a IN ("%CONSOLIDATED_OPTS%") DO (

        for /f %%i IN ("%%b") DO set "JBOSS_LOG_DIR=%%~fi"

      )

    )

     

    for /f "tokens=1* delims= " %%i IN ("%CONSOLIDATED_OPTS%") DO (

      if %%i == "" (

        goto ENDDIRLOOP

      ) else (

        set CONSOLIDATED_OPTS=%%j

        GOTO DIRLOOP

      )

    )

     

    :ENDDIRLOOP

     

    rem Set default module root paths

    if "x%JBOSS_MODULEPATH%" == "x" (

      set  "JBOSS_MODULEPATH=%JBOSS_HOME%\modules"

    )

     

    rem Set the standalone base dir

    if "x%JBOSS_BASE_DIR%" == "x" (

      set  "JBOSS_BASE_DIR=%JBOSS_HOME%\standalone"

    )

    rem Set the standalone log dir

    if "x%JBOSS_LOG_DIR%" == "x" (

      set  "JBOSS_LOG_DIR=%JBOSS_BASE_DIR%\log"

    )

    rem Set the standalone configuration dir

    if "x%JBOSS_CONFIG_DIR%" == "x" (

      set  "JBOSS_CONFIG_DIR=%JBOSS_BASE_DIR%/configuration"

    )

     

    rem Setup JBoss specific properties

    set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS%"

     

    if "x%JAVA_HOME%" == "x" (

      set  JAVA=java

      echo JAVA_HOME is not set. Unexpected results may occur.

      echo Set JAVA_HOME to the directory of your local JDK to avoid this message.

    ) else (

      if not exist "%JAVA_HOME%" (

        echo JAVA_HOME "%JAVA_HOME%" path doesn't exist

        goto END

      ) else (

        echo Setting JAVA property to "%JAVA_HOME%\bin\java"

        set "JAVA=%JAVA_HOME%\bin\java"

      )

    )

     

    if not "%PRESERVE_JAVA_OPTS%" == "true" (

      rem Add -client to the JVM options, if supported (32 bit VM), and not overriden

      echo "%JAVA_OPTS%" | findstr /I \-server > nul

      if errorlevel == 1 (

        "%JAVA%" -client -version 2>&1 | findstr /I /C:"Client VM" > nul

        if not errorlevel == 1 (

          set "JAVA_OPTS=-client %JAVA_OPTS%"

        )

      )

    )

     

    if not "%PRESERVE_JAVA_OPTS%" == "true" (

      rem Add compressed oops, if supported (64 bit VM), and not overriden

      echo "%JAVA_OPTS%" | findstr /I "\-XX:\-UseCompressedOops \-client" > nul

      if errorlevel == 1 (

        "%JAVA%" -XX:+UseCompressedOops -version > nul 2>&1

        if not errorlevel == 1 (

          set "JAVA_OPTS=-XX:+UseCompressedOops %JAVA_OPTS%"

        )

      )

    )

     

    if not "%PRESERVE_JAVA_OPTS%" == "true" (

      rem Add rotating GC logs, if supported, and not already defined

      echo "%JAVA_OPTS%" | findstr /I "\-verbose:gc" > nul

      if errorlevel == 1 (

        rem Back up any prior logs

        move /y "%JBOSS_LOG_DIR%\gc.log.0" "%JBOSS_LOG_DIR%\backupgc.log.0" > nul 2>&1

        move /y "%JBOSS_LOG_DIR%\gc.log.1" "%JBOSS_LOG_DIR%\backupgc.log.1" > nul 2>&1

        move /y "%JBOSS_LOG_DIR%\gc.log.2" "%JBOSS_LOG_DIR%\backupgc.log.2" > nul 2>&1

        move /y "%JBOSS_LOG_DIR%\gc.log.3" "%JBOSS_LOG_DIR%\backupgc.log.3" > nul 2>&1

        move /y "%JBOSS_LOG_DIR%\gc.log.4" "%JBOSS_LOG_DIR%\backupgc.log.4" > nul 2>&1

        move /y "%JBOSS_LOG_DIR%\gc.log.*.current" "%JBOSS_LOG_DIR%\backupgc.log.current" > nul 2>&1

        "%JAVA%" -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -Xloggc:%XLOGGC% -XX:-TraceClassUnloading -version > nul 2>&1

        if not errorlevel == 1 (

          if not exist "%JBOSS_LOG_DIR" > nul 2>&1 (

            mkdir "%JBOSS_LOG_DIR%"

          )

          set XLOGGC="%JBOSS_LOG_DIR%\gc.log"

          set "JAVA_OPTS=-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading %JAVA_OPTS%"

        )

      )

    )

     

     

    rem Find jboss-modules.jar, or we can't continue

    if exist "%JBOSS_HOME%\jboss-modules.jar" (

        set "RUNJAR=%JBOSS_HOME%\jboss-modules.jar"

    ) else (

      echo Could not locate "%JBOSS_HOME%\jboss-modules.jar".

      echo Please check that you are in the bin directory when running this script.

      goto END

    )

     

     

    echo ===============================================================================

    echo.

    echo   JBoss Bootstrap Environment

    echo.

    echo   JBOSS_HOME: "%JBOSS_HOME%"

    echo.

    echo   JAVA: "%JAVA%"

    echo.

    echo   JAVA_OPTS: "%JAVA_OPTS%"

    echo.

    echo ===============================================================================

    echo.

     

    :RESTART

    if x%XLOGGC% == x (

      "%JAVA%" %JAVA_OPTS% ^

       "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\server.log" ^

       "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^

          -jar "%JBOSS_HOME%\jboss-modules.jar" ^

          -mp "%JBOSS_MODULEPATH%" ^

          -jaxpmodule "javax.xml.jaxp-provider" ^

           org.jboss.as.standalone ^

          "-Djboss.home.dir=%JBOSS_HOME%" ^

           %SERVER_OPTS%

    ) else (

      "%JAVA%" -Xloggc:%XLOGGC% %JAVA_OPTS% ^

       "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\server.log" ^

       "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^

          -jar "%JBOSS_HOME%\jboss-modules.jar" ^

          -mp "%JBOSS_MODULEPATH%" ^

          -jaxpmodule "javax.xml.jaxp-provider" ^

           org.jboss.as.standalone ^

          "-Djboss.home.dir=%JBOSS_HOME%" ^

           %SERVER_OPTS%

    )

     

    if ERRORLEVEL 10 goto RESTART

     

    :END

    if "x%NOPAUSE%" == "x" pause

     

    :END_NO_PAUSE

    Regards,,

    MJ.



  • 2.  Re: VERY URGENT >.< JBOSS Error !!
    Best Answer

    Broadcom Employee
    Posted Feb 16, 2016 12:43 PM

    Hi MJ

     

    The first line with see SERVER_OPTS is

    set "SERVER_OPTS=%SERVER_OPTS% -c %STANDALONE_CONFIGURATION% -b %BIND_ADDRESS% %IDM_OPTS%"

    the -D are actually included as part of IDM_OPTS set few lines above

    set "IDM_OPTS=-Dnete.j2ee.vendor=jboss"

     

    so the above line could be changed to

    set "IDM_OPTS=-Dnete.j2ee.vendor=jboss -Djboss.as.management.blocking.timeout=3600"

     

    updating the above will result in the following information in the server.log restart trace:

     

    Hoping this clarifies your doubts.

    Regards

    Rinat Matityahu

    Principal Support Engineer

    CA Technical Support - EMEA

     

    The following links contain some very useful information related to CA Security Products:

     

    - http://www.ca.com/us/support/ca-support-online/support-by-product/ca-identity-manager.aspx?d=t&language=en&type=Knowledge&typeofcontent=Knowledge%20Base%20Articles

    - https://communities.ca.com/community/ca-security

    - https://docops.ca.com/



  • 3.  Re: VERY URGENT >.< JBOSS Error !!

    Posted Feb 21, 2016 08:11 AM

    Hi Rinat ,

    sorry for the delay in reply ,

    thanks a lot for the good clarification , its working as well .