SDM Troubleshooting
Here you can find descriptions of some problems that are frequently met and instructions how to solve them.
To troubleshoot your problem, first you need to have the SDM log files. They are located in the /usr/sap/<SID>/<INSTANCE_NAME>/SDM/program/log directory.
If you try to start the SDM server and either:
...
· It fails to start with exit code 8
· Text such as the following exists in SDM:
SDM is currently detached from JStartupFramework. Forward this information to the JStartupFramework (disable SDM process).
This means that SDM is currently in what is called standalone mode.
To start it using the JStartupFramework, you should set it to integrated mode. Open the command prompt in directory /usr/sap/<SID>/<INSTANCE_NAME >/SDM/program and execute:
sdm jstartup mode=integrated
Note that depending on your command interpreter, the param name, equal sign and param value may be enclosed with quotation marks(").
After executing the command, try to start the SDM server again.
A frequent situation is when SDM is not able to connect to the J2EE Engine due to incorrect security credentials stored in the SecureStore FS.
Secure Store FS is the place where SDM gets security credentials for connecting to the J2EE Engine. The following error can be viewed in the SDM logs or the SDM Remote GUI Client deployment result panel:
ERROR: Cannot connect to
Host: [HOST_NAME] with UserName:[USER_NAME]
Check your Login Info.
Exception is:
com.sap.engine.services.jndi.persistent.exceptions.NoPermissionException
Exception during getInitialContext operation
Wrong security principles/credentials
this means that administrator, user and/or password have been changed using the Visual Admin tool, but were not changed in the secure store.
You should start configtool.bat(.sh) located in /usr/sap/<SID>/<INSTANCE_NAME >/j2ee/configtool.
You can check in the Secure Store whether the user name and password are correct. (The password cannot be seen but you can overwrite it with the correct one.)
Another solution for this situation can be found in SAP Note 701654.
If the administrator user is locked and therefore you cannot connect with SDM nor in any other way (Visual Admin, Telnet, Web application), one possible solution is to unlock the administrator user using SAP Note 669848.
If you see one of the following messages in the SDM logs or in the SDM Remote GUI Client deployment result panel:
SDM could not start the
J2EE cluster on the host HOST_NAME! The online deployment is terminated.
A timeout occurred during the cluster running verification!
or
SDM could not stop the
J2EE cluster! The offline deployment is terminated.
com.sap.sdm.apiint.serverext.sdmprovided.JStartupControllerException: A
timeout occurred during the cluster stopped verification!
or
SDM could not start the
J2EE cluster on the host <host_name>! The online deployment is
terminated.
A timeout occurred during the cluster running verification!
then this generally means that the SDM feature "automatic start/stop of SAP J2EE Engine" was enabled (since SP6 release this is the default SDM behavior) and a timeout occurred when SDM tried to start/stop the J2EE Engine.
The default timeout is 1800000 milliseconds(=30 minutes), so if the environment where the J2EE Engine is started or stopped has lower computing capabilities, then the process itself will be slower and the timeout should be increased.
Open command prompt in directory /usr/sap/<SID>/<INSTANCE_NAME >/SDM/program and execute:
sdm j2eeenginestartstop mode=automatic timeoutmillisec=<increased_timeout>
If you see the following message in the SDM logs or in the SDM Remote GUI Client deployment result panel:
Caught exception while checking the login credentials from SAP J2EE
Engine's deploy API:
com.sap.engine.deploy.manager.DeployManagerException: ERROR: Cannot
connect to Host: [HOST_NAME] with UserName: [USER_NAME]
Check your Login Info. Exception is:
com.sap.engine.services.jndi.persistent.exceptions.NamingException:
Exception while trying to get InitialContext. [Root exception is
com.sap.engine.services.security.exceptions.BaseLoginException: User not
authorized.]
(message ID:
com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnl
ineDeployerImpl.checkLoginCredentials.DMEXC)
the most likely reason is that you have CreateTicketLoginModule in the service.naming authentication stack.
A solution suggested by Security Team is to:
1. Go to Visual Admin ® Security Provider ® service.naming.
2. Select NO for the authentication template.
3. Remove the CreateTicketLoginModule. (This login module can be used only by Web applications.)
SDM could not reach the message server and thus has issued two types of error messages:
Error: Could not create
JStartupClusterController: Connection refused Throwable:
java.net.ConnectException Throwable message: Connection
refused.
or
Error: Could not create
JStartupClusterController: <HOST>: <HOST>
Throwable: java.net.UnknownHostException Throwable message: <HOST>:
<HOST>
The solution can be found in SAP Note 780670.
Deployment error occurs when deploying from IDE, the following message is displayed:
Server XXX did not accept
login request as admin on port 50018
Details: ERROR: Could not establish connection to server XXX at port
50018: XXX
If you use the SDM remote GUI with the same SDM host and port, you can deploy successfully.
This problem can be fixed without any code changes just by adding a corresponding record to the file %WINDIR%/system32/drivers/etc/hosts on the IDE host, so that the remote host short name is known to the local host.
For more information, see SAP Note 783965.
One of the following two exceptions are met in the console and/or the SDM logs:
java.lang.IllegalStateException:
More than one matching
deployment fordevelopment
component
'<component_name>'/'<component_vendor>'/'
<component_location>'/'<component_counter>' found:development
component
'<component_name>'/'<component_vendor>'/'<
component_location>'/'<component_counter1>'development
component
'<component_name>'/'<component_vendor>'/'<
component_location>'/'<component_counter2>'....development
component
'<component_name>'/'<component_vendor>'/'<
component_location>'/'<component_counterN>'
or
java.lang.IndexOutOfBoundsException:
Index: <Index>, Size:
<Size> at
java.util.ArrayList.RangeCheck(ArrayList.java:507)java.util
.ArrayList.get(ArrayList.java:324) at
com.sap.sdm.app.proc.undeployment.impl.DeploymentGraphSorter.s
ortByN ame(DeploymentGraphSorter.java:134) at
com.sap.sdm.app.proc.undeployment.impl.DeploymentGraphSorter.s
ortSda Actions(DeploymentGraphSorter.java:65) at
com.sap
.sdm.app.proc.undeployment.impl.DeploymentGraphBuilder.build(
DeploymentGraphBuilder.java:46) at
com.sap.sdm.app.proc.undeployment.impl.UndeploymentProcessImpl
.<init >(UndeploymentProcessImpl.java:21) at
com.sap.sdm.app.proc.undeployment.impl.FactoryImpl.createProce
ss(Fac toryImpl.java:16) at
com.sap.sdm.app.sequential.undeployment.impl.UndeployerImpl.un
deploy (UndeployerImpl.java:26) at
com.sap.sdm.control.command.cmds.Undeploy.execute(Undeploy.jav
a:105) at
com.sap.sdm.control.command.decorator.AssureStandaloneMode.exe
cute(A ssureStandaloneMode.java:53) at
com.sap.sdm.control.command.decorator.AssureOneRunningSDMOnly.
execute (AssureOneRunningSDMOnly.java:61) at
com.sap.sdm.control.command.decorator.SDMInitializer.execute(S
DMInit ializer.java:52) at
com.sap.sdm.control.command.decorator.GlobalParamEvaluator.exe
cute(G lobalParamEvaluator.java:60) at
com.sap.sdm.control.command.decorator.Ab
stractLibDirSetter.execute(AbstractLibDirSetter.java:46) at
com.sap.sdm.control.command.decorator.ExitPostProcessor.execut
e(Exit PostProcessor.java:48) at
com.sap.sdm.control.command.decorator.CommandNameLogger.execute
(Comm andNameLogger.java:49) at
com.sap.sdm.control.command.decorator.AdditionalLogFileSetter.
execut e(AdditionalLogFileSetter.java:65) at
com.sap.sdm.control.command.decorator.AbstractLogDirSetter.exe
cute(A bstractLogDirSetter.java:54) at
com.sap.sdm.control.command.decorator.SyntaxChecker.execute(Sy
ntaxCh ecker.java:37) at
com.sap.sdm.control.command.Command.exec(Command.java:42) at
SDM.main(SDM.java:21)
See SAP Note 824357 to see how to workaround this problem.
The following errors are found in SDM logs:
Error: <SCA name>:
Location of software component '<SCA name>'/
'<SCA vendor>'/'<SCA location>'/'<SCA counter>' unknown.
Error: <SCA name>: system component version store not
updated.
The issue is not a problem because the entire DB has been moved to the new system.
For more information about such kinds of errors and their influence on the system, see SAP Note 828978.
Deployment of an offline SDA that contains native libraries (.dll, .so and so on) has finished successfully, but the native libraries(.dll, .so) inside the archive are not bootstrapped.
Restart the whole J2EE Engine instance (including SDM Server process). The native libraries will be bootstrapped. For more information, see SAP Note 831292.
See these topics in the SAP NetWeaver™ Problem Analysis Guide (PAG):
·
No Container Available
For J2EE Module
·
Warnings During
Application Deployment
·
Deploy Tool Connection
Problems
·
Startup of an
Application with CMP Entity Beans Fails