Known Issues for SAP Mobile Server

Learn about known issues and apply workarounds for SAP Mobile Server.

Issue #Description
SMPONP-13039
Oracle support for JDK ended December 31, 2013

The support agreement between Oracle and SAP is no longer in effect as of December 31, 2013.

Workaround: See SAP Note 1949332 for workaround and additional instructions.

RTC-436
When starting SAP Mobile Server from the command line, this message displays:
Could Not Find [...] smp_server.lock

Workaround: You can safely ignore this error since it has no negative impact.

RTC-433

SAP Mobile Server fails to notify device after a DCN update.

If there is an unactivated manually registered application connection, the auto registered application connection with the same user name may not work because an internal SAP Mobile Server table (mms_application_connection_info) is not updated correctly, resulting in the above symptom.

Workaround: Re-register the application connection after deleting the manually registered one.

RTC-418
Starting the primary/secondary Application Service Node takes more than three hours

(Applies only to Agentry) In a cluster environment, starting the primary/secondary Application Service Node takes a long time. The Windows Services status keeps starting, and server logs show RuntimeException errors. The primary server finally starts successfully.

Workaround: This problem is fixed in 2.3 SP01. In earlier versions, you can solve the problem manually.
  1. Stop SAP Mobile Server nodes.
  2. Open SQL Anywhere Sybase Central (for example, C:\SAP\MobilePlatform\Servers\SQLAnywhere12\BIN32\scjview.exe.
  3. Select the SQL Anywhere 12 database, and open the Connect dialog.
  4. Enter connection values, including:
    • Select “Connect with an ODBC Data Source.”
    • Select or input “clusterdb_32bit” as the data source.
    • Enter the username/password (default value are dba/sql).
  5. List data for the “cache_config” table.
    • Edit the “data” column value (xml) for the name=”default” row.
    • Add the <indexes>...</indexes> section for the “AgentryActiveUsersMap” and “AgentryApplicationStatusMap” map definitions.
      <map name="AgentryActiveUsersMap">
      <backup-count>1</backup-count>
      <async-backup-count>0</async-backup-count>
      <time-to-live-seconds>0</time-to-live-seconds>
      <max-idle-seconds>0</max-idle-seconds>
      <eviction-policy>NONE</eviction-policy>
      <max-size policy="cluster_wide_map_size">2147483647</max-size>
      <eviction-percentage>25</eviction-percentage>
      <merge-policy>hz.ADD_NEW_ENTRY</merge-policy>
      <cache-value>true</cache-value>
      <read-backup-data>false</read-backup-data>
      <indexes>
      <index ordered="true">applicationId</index>
      <index ordered="true">nodeName</index>
      </indexes>
      </map>
      <map name="AgentryApplicationStatusMap">
      <backup-count>1</backup-count>
      <async-backup-count>0</async-backup-count>
      <time-to-live-seconds>0</time-to-live-seconds>
      <max-idle-seconds>0</max-idle-seconds>
      <eviction-policy>NONE</eviction-policy>
      <max-size policy="cluster_wide_map_size">2147483647</max-size>
      <eviction-percentage>25</eviction-percentage>
      <merge-policy>hz.ADD_NEW_ENTRY</merge-policy>
      <cache-value>true</cache-value>
      <read-backup-data>false</read-backup-data>
      <indexes>
      <index ordered="true">applicationId</index>
      <index ordered="true">nodeName</index>
      </indexes>
      </map>
  6. Start SAP Mobile Server nodes.
RTC-404
Constraints have been implemented to prevent NULL primary key attributes from being inserted into the SAP Mobile Server cache.

Earlier versions of SAP Mobile Platform allowed primary key attributes with NULL values, however, the use of NULL primary key attributes within the SAP Mobile Platform Runtime is not supported. Beginning with SAP Mobile Platform version 2.3, constraints prevent NULL primary key attributes from being inserted into the cache.

Workaround: If the EIS is currently generating NULL values for MBO primary key attributes, the EIS must provide a different mechanism to establish uniqueness.

Applications migrated from earlier versions of SAP Mobile Platform may need MBO primary key attribute analysis. In particular, analyse MBOs that have no primary keys defined (by default SAP Mobile Platform generates a primary key that contains all MBO attributes), or MBOs that have composite primary keys, to ensure that the EIS is not providing NULL values for these attributes.

RTC-335
Failed deployment when a name of a child MBO begins with lower case.

For a composite operation, if the name of a child MBO in the composite relationship begins with lower case, deployment would fail. 

Workaround: Change the first character of the child MBO's name to upper case using Unwired WorkSpace.

RTC-302
XML recordings are saved to an incorrect directory.

After enabling XML recording in the registry, logs will show that XML recordings are successfully saved to C:\UnwiredServer\logs, which is the incorrect SAP Mobile Platform logging directory.

Workaround: Manually add a String Value to the key HKEY_LOCAL_MACHINE\SOFTWARE\Sybase\Sybase Messaging Server\Server (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Sybase\Sybase Messaging Server\Server on 64 bit) with a path relative to the MessagingServer directory (that is, ..\UnwiredServer\logs).

RTC-268
Process of stopping SAP Mobile Server service hangs.

When stopping the Windows service for SAP Mobile Server, very infrequently the process hangs. This problem is independent of the means used to stop the service.

Workaround: See Process of Stopping SAP Mobile Server Service Hangs.

RTC-238
Update deployment allows definition of a new MBO attribute default, but the new default value does not take effect.

While the MBO developer can modify the MBO attribute default value for a deployed package, and redeploy the package to SAP Mobile Server in Update mode without an error or warning, the new default value does not take effect.

Workaround: Use Replace mode to update the MBO default setting.

RTC-42
Business transaction XML (BTX) uploads when end-to-end tracing is not enabled for an application connection.

You can still upload BTX to the configured Solution Manager server, even if you have not enabled end-to-end tracing for an application connection.

Workaround: None.

RTC-38
Server logs Chinese environments result in garbled characters under certain conditions.

Due to an issue with SySAM licensing 64-bit operating systems running in a zh_CN locale result in characters appearing incorrectly.

Workaround: None.

N/A
Error: 584 Message: Server public key verification failed when running the diagtool.exe tool.

Workaround: Either:

  • Run the diagtool.exe tool from another host, or,
  • Edit the registry on the machine where the diagtool.exe tool is being run:
    • Remove the HKCU\Software\Sybase\Messaging Client registry key.
    • Remove the HKCU\Software\Sybase\MessagingClientLib registry key.
    Note: Use caution when editing the registry. Ensure that the key entries removed do not contain any currently used SAP Mobile Platform applications (sub entries).
CR-709892
SAP Mobile Server records deployment errors in the domain log rather than in the SAP Mobile Server logs.

Workaround: None. Look for deployment errors in the domain log.

CR-708431
Data on the EIS, cache, and device is not in sync.

If a Create operation succeeds at the enterprise information system (EIS), but its corresponding Entity Read operation fails, the EIS is updated but the cache database (CDB) is not. Error information may be reported in the SAP Mobile Server log, but the error is not propagated to the device client. LogRecord shows 0 (zero), but findAll does not show the new record on the device.

Workaround: None. The change appears in the CDB and the device when the CDB is refreshed (for example, when the cache interval expires).

CR-703515

LDAP role/authentication search base cannot support special characters.

The following characters have special meaning when they appear in a name in LDAP: , (comma), = (equal sign), + (plus sign), < (less than), > (greater than), # (number sign), ; (semicolon), \ (backslash), and " (quotation mark).

LDAP providers do not currently handle these special characters in any names or DNs, including user name, DefaultSearchBase, AuthenticationSearchBase, RoleSearchBase, AuthenticationFilter, and RoleFilter.

Workaround: None.

CR-701975
When deploying a package from Unwired WorkSpace or SAP Control Center using Update mode, the package's "onDemand" coherence window is not updated on SAP Mobile Server.

Workaround: After deployment, adjust the "onDemand" coherence window from SAP Control Center.

CR-699590
Large messages are processed incorrectly on 32-bit runtime installations.

A 32-bit SAP Mobile Server is not supported when you are developing messaging applications that process large messages. 32-bit servers run into memory issues and can potentially further result in incorrect data synchronizing with the SAP Mobile Server cache.

Workaround: Install SAP Mobile Platform runtime components on 64-bit hosts.

CR-699343
For native Object API applications, the upgrade process silently deletes composite orphans from the server cache.

SAP Mobile Platform no longer allows composite orphans, that is MBO child entities within a composite relationship that have no parent entity. Depending on the system configuration, the upgrade may physically delete the orphans, or may only logically delete them, then physically delete them during a subsequent cache purge process. Either way, applications that use MBOs with composite orphans may not behave as expected after migration.

Workaround: Before upgrading, eliminate composite orphans from native Object API applications:
  • Look for existing MBOs that generate composite orphans. Examine each MBO in Unwired WorkSpace, looking for any instance in which the application loads child entities before the related parent entity.
  • For any MBOs you find that generate composite orphans, change the data model in the MBO so that the application always loads parent entities before the related child entities. See the "Composite relationship behavior" row in the Relationship Guidelines and Restrictions topic, in the Sybase Unwired WorkSpace - Mobile Business Object Development guide.
  • Test any changes you make to ensure that the application still behaves as expected.
  • After you are satisfied that you have eliminated composite orphans from your MBOs, proceed with the upgrade.

Additional Information on Composite Orphans

An example of a scenario in which parentless child entities can occur is a two MBO parent-child model integrated with JDBC for sales orders and line items. If the data model specifies that line items are inserted first, the application attempts to load child line items for a sales order that does not yet exist. Those line items disappear from the cache before the application can load the parent sales order.

To be sure that composite orphans do not cause problems in your migrated applications:
  • After migration, if you have mobile application projects that contain composite relationships and the child MBO load operation has no parameter dependencies on its parent, redeploy the package from Unwired WorkSpace using Update mode to generate the correct loadGroups for the deployed package.
  • Child load operations that do not depend upon parameters from the parent do not always generate orphans.

    Consider the case where the user wants to load all sales orders and line items created in the New York office. New York may be a load parameter for both parent and child that is bound to a personalization key and results in no orphans even though the child does not get any load parameters from the parent.

CR-695671
The mlsrv_err.log reports error: java.lang.OutOfMemoryError.

When performing a listview object query with very large data sets, the client returns an error code 571 or 1053, and the server becomes temporarily unavailable, or tries to restart.

Workaround: Modify the maximum Java heap size to handle very large amounts of data in an object query. See Configuring SAP Mobile Server Performance Properties in System Administration.

CRs 693116 and 692218
Devices on 3G/4G network cannot connect to SAP Mobile Server.

A connectivity issue may occur between the device and SAP Mobile Server. The current client libraries use a protocol that support only HTTP chunked transfer-encoding. 3G/4G traffic might, in some cases, be subject to content filtering and convert the messages from chunked transfer-encoding to fixed content-length if communication is via standard HTTP ports, which most commonly are 80 and 8080. Since the client application can support only chunked transfer-encoding, the communication cannot be established. In effect, a response cannot be returned to the server indicating that the device is online.

Note: For devices on Wi Fi networks, the connection between a device and SAP Mobile Server establishes without error.

Workaround: Use a nonstandard HTTP port (any port other than 80 or 8080) or an HTTPS port, that is, 443 for SAP Mobile Server client communication from devices to the Relay Server or external load balancer, whichever one is used, in the DMZ.

CR-692374
Enabling compression incurs additional processing on the device and the server side to optimize the amount of data to be transferred over the network.

Workaround: Carefully evaluate whether the compression trade-off is appropriate in the deployment environment, and carefully size the server capacity to support it. If appropriate in a particular environment, follow the SAP Mobile Platform Developer Guides to enable compression.

CR-691517
Adding new operations onto a mobile business object in a deployed package using the Update deployment method may render client applications based on the previous package model version nonfunctional.

Workaround: None.

CR-686043
In a disabled domain, messaging clients continue to receive messages from server.

Workaround: To disable any outbound activity to a client, lock the application connection associated with that client.

CR-576726
The full range of valid values is not supported if an attribute uses the default datatype (int) for a SQL Anywhere® database column of type unsigned int.

Workaround: To support the full range of valid values for an unsigned int attribute in the EIS, set the datatype for the corresponding MBO attribute as long.