Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4240888

1.3c1: breakpoint instruction "int 3" is called



    • Subcomponent:
    • Resolved In Build:
    • CPU:
    • OS:
    • Verification:
      Not verified


      Name: dkC59003 Date: 05/25/99

      HotSpot Client VM 1.3betaD sometimes crashes by reaching "user breakpoint"
      instruction (x86 instruction "int 3"). Such failure is unstable, and HotSpot
      1.3betaD sometimes crashes and returns exit code -1073741571 or -1073741819
      for the same test programs, and sometimes does not crash (passes the tests).

      This problem is revealed by the following tests:
      The path to the Novosibirsk testbase at Cupertino is:
      (The test "b4213329" is not yet putbacked into the testbase. Please,
      find its source enclosed below.)

      While executing the test "jck12a006" or "b4213329" on Windows NT,
      I have observed the following window:
          java.exe - Application Error
          The exception Breakpiont has been reached (0x80000003) occured
          in the application at location 0x08047764.
      and while executing the test "resourcearea001" I have observed:
          java.exe - Application Error
          A breakpoint has been reached (0x80000003) occured
          in the application at location 0x08047764.

      The Microsoft DevStudio debugger displays the window:
          "User breakpoint called from code at 0x8047764"
      and shows, that there is the interrupt instruction at that location:
          08047761 add esp,0Ch
       ==>08047764 int 3

      When I closed debugger window, error message also had been printed
      for each of these tests:

          EXECUTION STOPPED: Stack Overflow Handling Is Not Implemented.
          eip = 0x00a7186a
          eax = 0x00a78200
          ebx = 0x0c1e71b8
          ecx = 0x0082b1c0
          edx = 0x00a78050
          edi = 0x0082b1c0
          esi = 0x0c1e6660
          ebp = 0x0f0d3000
          esp = 0x0f0d2ff0
          TEST FAIL nsk/coverage/resourcearea/resourcearea001 compile_and_execute

          EXECUTION STOPPED: Stack Overflow Handling Is Not Implemented.
          eip = 0x00a7186a
          eax = 0x00a90a20
          ebx = 0x0c2e0e28
          ecx = 0x20de0a40
          edx = 0x00a909d0
          edi = 0x0c2e0fd8
          esi = 0x00000001
          ebp = 0x221d300c
          esp = 0x221d2ff4
          TEST FAIL nsk/stress/jck12a/jck12a006 compile_and_execute

          EXECUTION STOPPED: Stack Overflow Handling Is Not Implemented.
          eip = 0x00a7186a
          eax = 0x00a74860
          ebx = 0x0c1e3640
          ecx = 0x007d1d90
          edx = 0x00a74810
          edi = 0x0c1e37f0
          esi = 0x00000001
          ebp = 0x00033004
          esp = 0x00032ff0
          TEST FAIL nsk/regression/b4213329 compile_and_execute

      Since none of the tests "resourcearea001", nor "jck12a006", nor "b4213329"
      contains native methods, I believe that such crashes are caused by some
      bug in HotSpot 1.3betaD.

      Note, that there is also bugreport #4213329 filed against HotSparc 1.0RC1-A;
      and that bug is currently fixed, integrated, and verified in 1.0_rc1 release.

      The problem reported by #4213329 was unexpected exit code returned by
      particular JCK 1.2a tests (exit code 95 or 97 was expected):
          test result: Failed. unexpected exit code: exit code 11
      Those tests are:
      and they are also invoked by the stress test "jck12a006".

      Moreover, the test "jck12a006" sometimes returns unexpected exit code:
          E:\jdk12v\bin\java -verify jck12a006 -stress:consecutive
          Exit status of Execution is :-1073741571
      as well as the test "resourcearea001":
          d:\jdk1.2\bin\java resourcearea001
          Exit status of Execution is :-1073741819

      Following is the source for the test b4213329:

      // File: @(#)b4213329.java 1.1 99/04/22
      // Copyright 04/22/99 Sun Microsystems, Inc. All Rights Reserved

      import java.io.PrintStream;

      public class b4213329 {

          public static int counter = 1;

          static int Runner() {
      counter = counter * -1;
      int i = counter;
      if(counter < 2) counter += Runner();
      return i;

          public static int run(String argv[], PrintStream out) {
      } catch (StackOverflowError e) {
      return 0;
      return 2;

          public static void main(String argv[]) {
      System.exit(run(argv, System.out) + 95/*STATUS_TEMP*/);





            smitrovisunw Srdjan Mitrovic (Inactive)
            dkhukhrosunw Dmitry Khukhro (Inactive)
            0 Vote for this issue
            0 Start watching this issue