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

java compiler allows private interface methods; crashes interpreter at runtime

XMLWordPrintable

    • 1.0fcs
    • sparc
    • generic
    • Not verified

      Consider the following program:

      interface Foo {
          abstract private void goo_private(int val);
          abstract public void goo_public(int val);
      }
       
      final class ack implements Foo {
          private void goo_private(int val) {
              System.out.println("goo_private " + val);
          }
          public void goo_public(int val) {
              System.out.println("goo_public " + val);
          }
          
      }
       
      class test {
          public static void main(String argv[]) {
              ack a = new ack();
              Foo f = (Foo)a;
              f.goo_public(5);
              f.goo_private(6);
          };
      };


      It compiles just fine, but when I run it with the interpreter, I get:

      goo_public 5
      SIGBUS 10* bus error
          si_signo [10]: SIGBUS 10* bus error
          si_errno [0]: Error 0
          si_code [1]: BUS_ADRERR [addr: 0x4001b]
       
              stackbase=EFFFF94C, stackpointer=EFFFF618
       
      Full thread dump:
          "Finalizer thread" (TID:0xee300620, sys_thread_t:0xef460de8) prio=1
          "Async Garbage Collector" (TID:0xee3005d0, sys_thread_t:0xef490de8) prio=1
          "Idle thread" (TID:0xee300558, sys_thread_t:0xef4c0de8) prio=0
          "clock handler" (TID:0xee300098, sys_thread_t:0xef4f0de8) prio=11
          "main" (TID:0xee300048, sys_thread_t:0x70040) prio=5 *current thread*
              test.main(test.java:20)
      Monitor Cache Dump:
      Registered Monitor Dump:
          Finalize me queue lock: unowned
          Thread queue lock: unowned
          Class lock: unowned
          Java stack lock: unowned
          Code rewrite lock: unowned
          Heap lock: unowned
          Has finalization queue lock: unowned
          Monitor IO lock: unowned
          Child death monitor: unowned
          Event monitor: unowned
          I/O monitor: unowned
          Alarm monitor: unowned
              Waiting to be notified:
                  "clock handler"
          Sbrk lock: unowned
          Monitor cache lock: unowned
          Monitor registry: monitor owner: "main"
      Thread Alarm Q:
      Segmentation fault (core dumped)

      DREL 10/26/95

            fyellinsunw Frank Yellin (Inactive)
            dlong Dean Long
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: