GMS server stops syncing.

  • 7002167
  • 12-Dec-2008
  • 10-Dec-2013

Environment

Novell GroupWise 7
Novell GroupWise 8
GroupWise Mobile Server 2.x

Situation

GMS server runs on Windows server with +2GB memory.
Server was working for for hours days, then it stops syncing. A restart of the services corrects again temporarily the problem.

Resolution

When searching for the root cause of the problem, you can browse last or recent PIM_<date> log files that are located under Intellisync Mobile Suite \logs directory. You will find there lines like bellow:
 
E 01:18:36.875 1c4f0f8           Unexpected error in run: 
E 01:18:36.875 43487e           Unexpected failure detected: OutOfMemoryError
D 01:18:36.875 1c4f0f8           Unexpected error in run:  java.lang.OutOfMemoryError: Java heap space
 
To fix the memory problem on java site when the Windows server has more than 2 GB system memory you will need to limit JVM in two different places:
 
1. In the Windows registry create a new DWORD entry in the HKLM\\SOFTWARE\\Synchrologic\\Portal\\Manager and name it maxHeapSize. You can set it in a DEC value of max 937426943. You can play with a higher values but so far some test finding conformed that setting maxHeapSize here cause GMS server will not start. The decimal value of 268435456 stands for 256MB. 
This is a parameter for JVM on Windows. It explains how much memory a JVM can allocate from the system memory. It has so far nothing to do with the GMS application.
 
2. Next to that find a file called service.properties - usually under Intellisync Mobile Suite\CommSvr\Conf directory. Here add one extra line, too:
 
maxHeapSize=<value1>
 
Now, make sure that the parameter <value1> here is smaller than what you set in DWORD registry key. This max heap size is namely a limitation for a GMS application / service telling how much memory GMS can use for java tasks. If you set this value equal to what you set in DWORD, then GMS will sooner or later spend all memory you allocated for the JVM environment itself. This leads into java heap out of memory errors and your GMS server stops syncing. 
 
So far we seem to get stable troubleshooting results with DWORD registry settings set in 805306368 (3x256=768 MB) and the maxHeapSize value set in the service.properties file in 536870912 (2x256=512 MB).
 
Important information: Recent Windows updates has changed allowed value for the MaxHeapSize parameter. If your GMS server does not start, please, have a look at the this registry parameter and lower its value set. Note that you will need either restart JVM or the Windows server to reread new settings. Uninstalling patches does not help ! You could see this problem reported in Intellisync_Mobile_Suite_Service_<date>.log file like following lines:
 
I 08:16:47.160 Intellisync Mobile Suite service was started
E 08:16:47.301 failed to create Manager proxy COM object
E 08:16:47.301 fail to launch Java VM