KB0019

Caché Objects Application Behave Differently when being Debugged with Serenji

Applies to: Serenji

Symptoms

Caché ObjectScript executed within a job being debugged with Serenji sometimes produces different results from those given when the same code is run normally.

Cause

A fault in versions of Caché can cause memory corruption when a property-set operation invokes an extrinsic function.

For example, when Serenji's Go or Step modes are used to move through code that operates on objects of the %Library.ResultSet class or its subclasses, incorrect results are obtained or errors occur.

Solution

The correction reference is RAM993, and it was scheduled for 4.0.4. Check with InterSystems to discover if your version contains this. On affected versions, either of the following workarounds can be used:

  • Recompile the affected classes, ensuring you retain the INT code for the generated routines. The underlying fault does not occur if INT code is present.
  • Use FastForward or Run To Line to advance through code that operates on properties of the affected classes.

Last reviewed: Nov 15, 2004

Back to Serenji Knowledge Base Articles