Troubleshooting an Unresponsive SAP Mobile Server

Problem: The SAP Mobile Server cluster is unresponsive to client requests.

Explanation: An unresponsive SAP Mobile Server can be caused by problems with any of these:
  • Network connectivity
  • Relay Server
  • MobiLink synchronization
  • Messaging
  • Operation replay against the back-end
  • Download data fetch in case of on-demand cache policy
  • Cache refresh
An unresponsive system can be:
  • Permanent or transient (recovers after a certain amount of time). If the recovery time is longer than can be tolerated, it is considered permanent in the context of this document.
  • Partial or complete, depending on the number of clients and symptoms experienced. It is important to distinguish the nature of the problem for a quick resolution. Determine and report the following symptoms, if applicable:
    • Applications can no longer register with SAP Mobile Server or start connections for previously registered applications.
    • Messages cannot be sent or received by MBS applications.
    • Synchronizations fail to complete For RBS applications with any of these symptoms:
      • Consistent errors
      • Network connectivity interruption, with repeated connection attempts resulting in errors
      • Hangs without failure or error
    • Results not responding beyond three standard deviations of response time for RBS applications using asynchronous operation replay
    • Targeted Change Notifications are not received even though data has changed
Solution: If a SAP Mobile Server restart is required to restore functionality, follow these steps to collect enough information for analysis by Technical Support. Allow at least 5-10 minutes to collect the data before restarting the SAP Mobile Server cluster.
  1. Set the logging level to TRACE for Data Services and MMS.
    Note: This setting effects the application immediately. For RBS, also set MobiLink to TRACE level.
    1. From SAP Control Center, expand the server of interest and select Configuration > Mobile Server.
    2. Select the Log Settings tab, highlight the DataServices component and select TRACE as the log level.
    3. Highlight the MMS component and select TRACE as the log level.
  2. Set the logging level to DEBUG for JMSBridge, DeviceManagement, and SUPBridge if troubleshooting MBS clients, registration, or connection initiation.
    1. From SAP Control Center, expand the server of interest and select Configuration > Messaging Server.
    2. Select the Log Settings tab, select one of JMSBridge, DeviceManagement, or SUPBridge module, and select Properties.
    3. Select DEBUG as the log level.
    4. Repeat for the other modules.
  3. Take a JStack trace for each SAP Mobile Server in the cluster one minute apart, at least five times.
    Note: It is likely that you must use Microsoft’s SysInternal PsTools. If you do not have these installed, download the PsTools Suite from Microsoft TechNet .
    1. Locate the process identifier of the mlsrv1x.exe process using Task Manager.
    2. Execute the JStack command with the pid after the –l switch. For example: C:\PSTools\psexec -s c:\Sybase\UnwiredPlatform\JDK1.6.0_31-x64\bin\jstack.exe -l 1234 >> c:\temp\jstack.log
  4. Run DBISQL and connect to the default database. Execute sa_conn_info and sa_locks system procedures one minute apart, at least five times.
  5. If the mlsrv1x.exe process has a very large memory footprint, execute jmap –histo against the process.
    Note: Perform this on all SAP Mobile Servers in the cluster.
  6. If you suspect a memory leak, execute jmap –dump to generate a file for later analysis. This step can be expensive so only perform it if you observe a memory leak. For example, the process memory usage continues to grow.
  7. If messages are not delivered or messaging may be a contributing factor, capture a process dump of the OBMO.exe process using Windows Task Manager for all SAP Mobile Servers in the cluster. Right-click the OBMO.exe process and select Create dump file.
  8. After completing the above steps, send these logs and captured information to Technical Support:
    1. SMP_HOME\Servers\UnwiredServer\logs directories from each SAP Mobile Server.
    2. Output of JStack traces.
    3. Output of SA system procedures (sa_conn_info and sa_locks).
    4. Output of Jmap.
    5. For all active packages deployed to the system:
      1. Zip file of the respective directories under SMP_HOME\Servers\UnwiredServer\deploy\<packageName>.
      2. Exported zip file of the Mobile Application Project (MBO data model).
    6. OBMO.exe dump files from each SAP Mobile Server in the cluster, if applicable.