Why is ION Site Server service crashing on the Power Monitoring Expert server?



ION Site Server service will not stay running for more than a few minutes after an upgrade or migration of Power Monitoring Expert (PME).

Power Monitoring Expert 8.x, 7.2.x

Power Monitoring Expert server
Modbus Device Importer (MDI)
Local Services

The ION Site Server service (siteserv.exe) will crash if there are empty elements in the older .ion file format. This occurs when the Modbus Device Importer (used in older versions of PME) writes empty elements for non-existent information that was not needed. For example, the tool may write an empty 'Input Handles' element because the module had no input elements, even though it was not necessary to write anything. These empty elements will confuse the siteserv.exe when brought into a newer version of PME after an upgrade or migration. 

For example, in a custom MDI file called BFM136.ion, the offending element was the Event Log Controller module:

<t:ION t:SA="ModuleObj" t:H="132120576" t:P="126" t:N="EventLogCtl 1" t:CI="EventLogController_Module" t:L="EventLogCtl 1" t:S="1" t:SC="1">

Somewhere in its definition were the following 3 empty elements:


 In the Windows Event Viewer application under Windows Logs -> System, there will be an event displayed with Application popup: PML RogueWave Fatal Error: [INDEX] (0) out of range (0>0):


To verify that this is the problem, first disable all devices in Management Console. Then, start to enable one device type at a time until you find the device type that has the corrupted file and is causing the siteserv.exe to crash.

There are two options for resolving this issue:

  1. The safest solution would be to rebuild the MDI files in the new software version.
  2. Removing these empty elements in the .ion file will allow the ION Site Server to load the file successfully. It is only necessary to remove the Input Classes (IC) element; however, it is suggested to remove all extraneous elements.