A system for determining and correcting error conditions in a server computer including an Open Process Connectivity, OPC, server , whereby said server computer includes a processor running at least one server process , said at least one server process contains sub-logic units (260-262), said OPC server being another one of said at least one server process and being communicatively coupled by a communication path to an OPC enabled client computer ; said processor being connected to a storage device having a non-transitory machine readable storage medium , whereby said storage device stores a diagnostic error detecting and correcting program , which, when said program is executed by said processor within said server computer , causes said processor to: detect during a duration of monitoring a plurality of selected operating parameters including a first selected operating parameter during operation of said at least one server process, wherein said plurality of selected operating parameters include at least one of a private byte value , being the current size in bytes of memory that each of said at least one process has allocated and that cannot be shared with other processes, and a handle count value , to respectively detect memory leaks and handle leaks; store said plurality of selected operating parameters in a buffer ; determine if the first selected operating parameter is outside a predetermined specification for said first selected operating parameter: in response to said first selected operating parameter being outside the predetermined specification, said server computer notifies said OPC enabled client computer of an error with said at least one server process; determine if a disable option or operation to inactivate the sub-logic units (260-262) in said at least one server process associated with a leak is active; in response to said disable option or operation to inactivate the sub-logic units being active, identify the sub-logic units associated with the leak and inactivate the identified sub-logic units; and store said plurality of selected operating parameters to a permanent operating parameter data , which is operating parameters that have been stored to permanent storage, and flushes the buffer . detect during a duration of monitoring a plurality of selected operating parameters including a first selected operating parameter during operation of said at least one server process, wherein said plurality of selected operating parameters include at least one of a private byte value , being the current size in bytes of memory that each of said at least one process has allocated and that cannot be shared with other processes, and a handle count value , to respectively detect memory leaks and handle leaks; store said plurality of selected operating parameters in a buffer ; determine if the first selected operating parameter is outside a predetermined specification for said first selected operating parameter: in response to said first selected operating parameter being outside the predetermined specification, said server computer notifies said OPC enabled client computer of an error with said at least one server process; determine if a disable option or operation to inactivate the sub-logic units (260-262) in said at least one server process associated with a leak is active; in response to said disable option or operation to inactivate the sub-logic units being active, identify the sub-logic units associated with the leak and inactivate the identified sub-logic units; and store said plurality of selected operating parameters to a permanent operating parameter data , which is operating parameters that have been stored to permanent storage, and flushes the buffer . <EOS>