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

bytecode inlining isn't thread safe

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1
    • Resolution: Fixed
    • Affects Version/s: 1.1.6, 1.2.0
    • Fix Version/s: 1.2.0
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Introduced In Build:
      1.1
    • Introduced In Version:
      1.1
    • Resolved In Build:
      1.2beta2
    • CPU:
      x86
    • OS:
      solaris_2.6, windows_nt
    • Verification:
      Not verified

      Description



      Name: sg39081 Date: 07/23/97


      The following program exhibits a bug in the Java VM (1.2 EA) when run
      on a Windows NT 4.0 multi processor machine. It does not appear on
      single processor machines. Also note that it does not occur everytime
      it is run. The symptom is "The instruction 0x10032b36 referenced
      memory at 0x0900b45e. The memory could not be read." We have seen
      this on an HP Vectra, Pentium Pro 150 mhz dual processor with 64mb of
      memory and another machine of the same configuration except that it
      has 200mhz processors. One of our users also reported it with a dual
      processor machine (pentium, 180 mhz, but I don't know the rest of the
      configuration).

      To run the program, uudecode the included pro.zip file. Put the
      pro.zip file and the directory containing the PseTest9a.java file in
      your classpath. Compile PseTest9a.java.

      CLASSPATH=pro.zip;<dir>

      where <dir> contains PseTest9a.java. Do "java PseTest9a" several
      times. Some runs will complete silently, others will get a
      NullPointerException, and others will crash the Java VM. This bug has
      been present since at least the JDK 1.1.1.

      I'm sorry that I can't come up with a smaller test case for you. We
      tried narrowing it down and as near as we can tell it has to do with
      class loading via Class.forName() (which this program does down in the
      pro.zip library).

      Please let me know if I can help in any way to get this resolved.

      Regards,
      Charlie Lamb
      ###@###.###

      import COM.odi.*;

      public class PseTest9a implements Runnable {
        static Thread numberTwo = null;

        public static void main(String argv[]) {
          (numberTwo = (new Thread(new PseTest9a()))).start();
          proc("test1.odb");
        }

        
        static void proc(String dbName) {
          Database db;

          ObjectStore.initialize(null, null);

          try {
            db = Database.open(dbName, Database.openUpdate);
            db.destroy();
          } catch (DatabaseNotFoundException e) {}
          
          db = Database.create(dbName, Database.allRead | Database.allWrite);
          db.close();
        }

        public void run() {
          proc("test2.odb");
        }
      }



      Attachment converted: pro.zip (pZIP/pZIP) (0000C0C0)
      ======================================================================

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                never Tom Rodriguez
                Reporter:
                sgoodsunw Sheri Good (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: