JDK-4289162 : Application is running to completion for a break point in Empty Method
  • Type: Bug
  • Component: vm-legacy
  • Sub-Component: jvmdi
  • Affected Version: 1.3.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_7
  • CPU: sparc
  • Submitted: 1999-11-08
  • Updated: 2002-09-06
  • Resolved: 2002-09-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.3.0 kestrelFixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
The application is exited when break point is set in an empty method in Hotspot VM under JDK 1.3 fcs M build.

Steps to reproduce
1. Compile the attached file with -g
2. run jdb EventTest
3. stop in EventTest.testMethod()
4. run
5. next
6. cont

The appliaction runs to completion after this step.

A testcase is also attached where the loop count is 100. The testcase runs in JDIScaffold frame work

The application is terminated before expected, as a result VMDisconnected expetion is thrown. The point where the application is terminated is inconsistent.

------------------------------------------------------------
com.sun.jdi.VMDisconnectedException: Bad file number
        at com.sun.tools.jdi.TargetVM.send(TargetVM.java:271)
        at com.sun.tools.jdi.VirtualMachineImpl.sendToTarget(VirtualMachineImpl.java:696)
        at com.sun.tools.jdi.PacketStream.send(PacketStream.java:55)
        at com.sun.tools.jdi.JDWP$VirtualMachine$Resume.enqueueCommand(JDWP.java:603)
        at com.sun.tools.jdi.VirtualMachineImpl$1.send(VirtualMachineImpl.java:287)
        at com.sun.tools.jdi.VMState.thawCommand(VMState.java:108)
        at com.sun.tools.jdi.VirtualMachineImpl.resume(VirtualMachineImpl.java:291)
        at EventStress$StressList.stepCompleted(EventStress.java:225)
        at JDIScaffold$EventHandler.notifyEvent(JDIScaffold.java:114)
        at JDIScaffold$EventHandler.run(JDIScaffold.java:159)
        at java.lang.Thread.run(Thread.java:488)


--------------------------------------------------------------------
public class EventTest {
	public static EventTest e;
        private static final int cnt = 10;
        static Class[] clsName = new Class[cnt];
        private static int i;
	EventTest() {
	}
	public static void main(String args[]) 
	{
	    e=new EventTest();
            for(int i=0; i<cnt; i++){
	        testMethod();
	    }
	}


	public static void testMethod(){
        }
}

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: generic FIXED IN: kestrel INTEGRATED IN: kestrel
14-06-2004

EVALUATION This looks like the same sort of effect we were seeing with bug 4248826, where method entry/exit events weren't being posted for empty methods. I've verified that this sample code now hits the breakpoint each time it's called. peter.kessler@Eng 1999-11-08
08-11-1999