PR# 14652 Using debugger execution replay mechanism can change execution results

Problem Report Summary
Submitter: prestoat2000
Category: Debugger
Priority: Medium
Date: 2008/07/23
Class: Bug
Severity: Serious
Number: 14652
Release: 6.3.74123
Confidential: No
Status: Open
Responsible: jfiat_es
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.1.13) Gecko/20080328 Firefox/2.0.0.13 Solaris 10 on SPARC
Synopsis: Using debugger execution replay mechanism can change execution results

Description
Using the debugger's execution replay mechanism can change the result of
executing the system (without evaluating any Watch expressions).  I thought
it was a read-only mechanism for now, so I'm reporting this as a bug.  If
that is not the case, you can just close this report.

The reproducible test case shown below could probably be shortened, but I just
recorded the steps I took and then verified that they reproduced the problem.

In this example, using the execution replay mechanism changes system execution
so that it gets a Call on Void Target exception instead of printing "Weasel" 
and terminating normally normally.

To Reproduce
Compile with attached class and config file.
Force Debug Mode.
Activate execution recording.
Step into Routine 4 times.
Activate replay.
Deactivate replay.
Step into routine.
Activate replay.
Click Previous.
Deactivate replay.
Click Step into Routine.
Activate replay.
Click Previous, Next, Next.
Deactivate replay.
Step into Routine.
Activate replay.
Click Previous.
Deactivate replay.
Activate replay.
Click Previous twice.
Deactivate replay.
Note that Result in Object tool is now shown as Void.
Click Run.  System gets Call on Void Target exception.
Problem Report Interactions
From:prestoat2000    Date:2008/07/23    Download   
Attachments for problem report #14652

Attachment: test.e     Size:518
Attachment: test.ecf     Size:800