Harmony
  1. Harmony
  2. HARMONY-4501

[drlvm][init][netbeans] NetBeans Profiler doesn't recognize DRLVM

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      NetBeans Profiler doesn't recognize Harmony as a Java platform usable for profiling.

      The problem was detected while running NetBeans 5.5 and 5.5.1 on Windows, with NetBeans Profiler installed.

      How to reproduce:

      • Install NetBeans.
      • Install NetBeans Profiler.
      • Start NetBeans (on RI).
      • Add RI 1.4, 1.5, 1.6, BEA 1.4, 1.5, and Harmony DRLVM to the Java Platform Manager (see HARMONY-4498 for instructions).
      • Go to Tools - Options - Profiler.
      • Open the 'Profiler Java Platform' drop-down list.
      • RI 1.5, 1.6, BEA 1.5 is there, RI 1.4, BEA 1.4 and Harmony are not there.

      When adding a JDK to Java Platform Manager, NetBeans performs a 'Detecting JDK' operation where it calls the JDK and finds out its features. It seems that only JDKs with certain features get to the Profiler Java Platform list.

      I replaced java.exe with a dummy executable that dumps its parameters to a file. It revealed that Detecting JDK runs the following command line:

      java.exe -classpath "C:\Program Files\netbeans-5.5.1\ide7\modules\ext\org-netbeans-modules-java-j2seplatform-probe.jar" org.netbeans.modules.java.j2seplatform.wizard.SDKProbe <temporal file>

      SDKProbe class, as seen from its source, simply dumps the system properties to the specified file.

      So, it's very probable that the reason for NetBeans Profiler not recognizing Harmony lays in values of some system properties set by VMs. Otherwise, the situation is unclear and needs additional investigation. Probably Profiler expects "1.5" or "1.6" substring in java.vm.version property.

      This issue can be a bug in NetBeans (binding to RI/BEA too tightly), or a compatibility issue in DRLVM.

        Issue Links

          Activity

          Vasily Zakharov created issue -
          Vasily Zakharov made changes -
          Field Original Value New Value
          Link This issue is blocked by HARMONY-3211 [ HARMONY-3211 ]
          Vasily Zakharov made changes -
          Link This issue is blocked by HARMONY-4498 [ HARMONY-4498 ]
          Vasily Zakharov made changes -
          Summary [drlvm][ibm vme][netbeans] NetBeans Profiler doesn't recognize Harmony [drlvm][netbeans] NetBeans Profiler doesn't recognize DRLVM
          Component/s VM [ 12310353 ]
          Vasily Zakharov made changes -
          Link This issue is blocked by HARMONY-3211 [ HARMONY-3211 ]
          Vasily Zakharov made changes -
          Link This issue relates to HARMONY-4516 [ HARMONY-4516 ]
          Hide
          Vasily Zakharov added a comment -

          The similar issue exists for IBM VME: HARMONY-4516.

          Show
          Vasily Zakharov added a comment - The similar issue exists for IBM VME: HARMONY-4516 .
          Vasily Zakharov made changes -
          Description NetBeans Profiler doesn't recognize Harmony as a Java platform usable for profiling.

          The problem was detected while running NetBeans 5.5 and 5.5.1 on Windows, with NetBeans Profiler installed.

          How to reproduce:
          - Install NetBeans.
          - Install NetBeans Profiler.
          - Start NetBeans (on RI).
          - Add RI 1.4, 1.5, 1.6, BEA 1.4, 1.5, and Harmony (either DRLVM or IBM VME) to the Java Platform Manager (see HARMONY-4498 for instructions).
          - Go to Tools - Options - Profiler.
          - Open the 'Profiler Java Platform' drop-down list.
          - RI 1.5, 1.6, BEA 1.5 is there, RI 1.4, BEA 1.4 and Harmony are not there.

          When adding a JDK to Java Platform Manager, NetBeans performs a 'Detecting JDK' operation where it calls the JDK and finds out its features. It seems that only JDKs with certain features get to the Profiler Java Platform list.

          I replaced java.exe with a dummy executable that dumps its parameters to a file. It revealed that Detecting JDK runs the following command line:

          java.exe -classpath "C:\Program Files\netbeans-5.5.1\ide7\modules\ext\org-netbeans-modules-java-j2seplatform-probe.jar" org.netbeans.modules.java.j2seplatform.wizard.SDKProbe <temporal file>

          SDKProbe class, as seen from its source, simply dumps the system properties to the specified file.

          So, it's very probable that the reason for NetBeans Profiler not recognizing Harmony lays in values of some system properties set by VMs. One such reason is IBM VME reports version 1.4 instead of 1.5 (see HARMONY-3211), and Profiler seems to ignore pre-1.5 VMs. Otherwise, the situation is unclear and needs additional investigation. Probably Profiler expects "1.5" or "1.6" substring in java.vm.version property.

          This issue can be a bug in NetBeans (binding to RI/BEA too tightly), or a compatibility issue in Harmony.
          NetBeans Profiler doesn't recognize Harmony as a Java platform usable for profiling.

          The problem was detected while running NetBeans 5.5 and 5.5.1 on Windows, with NetBeans Profiler installed.

          How to reproduce:
          - Install NetBeans.
          - Install NetBeans Profiler.
          - Start NetBeans (on RI).
          - Add RI 1.4, 1.5, 1.6, BEA 1.4, 1.5, and Harmony DRLVM to the Java Platform Manager (see HARMONY-4498 for instructions).
          - Go to Tools - Options - Profiler.
          - Open the 'Profiler Java Platform' drop-down list.
          - RI 1.5, 1.6, BEA 1.5 is there, RI 1.4, BEA 1.4 and Harmony are not there.

          When adding a JDK to Java Platform Manager, NetBeans performs a 'Detecting JDK' operation where it calls the JDK and finds out its features. It seems that only JDKs with certain features get to the Profiler Java Platform list.

          I replaced java.exe with a dummy executable that dumps its parameters to a file. It revealed that Detecting JDK runs the following command line:

          java.exe -classpath "C:\Program Files\netbeans-5.5.1\ide7\modules\ext\org-netbeans-modules-java-j2seplatform-probe.jar" org.netbeans.modules.java.j2seplatform.wizard.SDKProbe <temporal file>

          SDKProbe class, as seen from its source, simply dumps the system properties to the specified file.

          So, it's very probable that the reason for NetBeans Profiler not recognizing Harmony lays in values of some system properties set by VMs. Otherwise, the situation is unclear and needs additional investigation. Probably Profiler expects "1.5" or "1.6" substring in java.vm.version property.

          This issue can be a bug in NetBeans (binding to RI/BEA too tightly), or a compatibility issue in DRLVM.
          Hide
          Vasily Zakharov added a comment -

          The name of the property checked by NetBeans Profiler is unknown, and Profiler sources are not available, so further investigation of this issue seems only possible by trying different values to find the right one.

          Probably simulating RI system properties can help, and then restoring them to original values one by one can reveal the one that's critical and acceptable values for it.

          Show
          Vasily Zakharov added a comment - The name of the property checked by NetBeans Profiler is unknown, and Profiler sources are not available, so further investigation of this issue seems only possible by trying different values to find the right one. Probably simulating RI system properties can help, and then restoring them to original values one by one can reveal the one that's critical and acceptable values for it.
          Hide
          Vasily Zakharov added a comment -

          This issues is most probably NetBeans-specific and won't affect other applications.

          Show
          Vasily Zakharov added a comment - This issues is most probably NetBeans-specific and won't affect other applications.
          Hide
          Vladimir Beliaev added a comment -

          Vasily, please specify the property name required for NetBeans.

          Show
          Vladimir Beliaev added a comment - Vasily, please specify the property name required for NetBeans.
          Hide
          Vasily Zakharov added a comment -

          I would if I knew it. Sources for NetBeans Profiler are not avaiable, so finding out what exactly is needed is tricky.

          Show
          Vasily Zakharov added a comment - I would if I knew it. Sources for NetBeans Profiler are not avaiable, so finding out what exactly is needed is tricky.
          Hide
          Vladimir Beliaev added a comment -

          Is this issue is still actual? Did you try it on recent M4 snapshot?

          Show
          Vladimir Beliaev added a comment - Is this issue is still actual? Did you try it on recent M4 snapshot?
          Hide
          Vasily Zakharov added a comment -

          Verified, yes, the issue is still actual.

          Show
          Vasily Zakharov added a comment - Verified, yes, the issue is still actual.
          Hide
          Vladimir Beliaev added a comment -

          H-m-m., Vasiliy, you did such a good initial evaluations of Geronimo issues & prepared pretty small stand along tests...

          May be, it is possible to do the same for NB? Please....

          Show
          Vladimir Beliaev added a comment - H-m-m., Vasiliy, you did such a good initial evaluations of Geronimo issues & prepared pretty small stand along tests... May be, it is possible to do the same for NB? Please....
          Hide
          Vasily Zakharov added a comment -

          Vladimir, as I said above, the source code in question is not available, so we just don't know how NetBeans judges if the particular JDK is suitable for profiling or not.

          Maybe we could ask a direct question to NetBeans team about this issue.

          Show
          Vasily Zakharov added a comment - Vladimir, as I said above, the source code in question is not available, so we just don't know how NetBeans judges if the particular JDK is suitable for profiling or not. Maybe we could ask a direct question to NetBeans team about this issue.
          Mikhail Markov made changes -
          Summary [drlvm][netbeans] NetBeans Profiler doesn't recognize DRLVM [drlvm][init][netbeans] NetBeans Profiler doesn't recognize DRLVM
          Hide
          Vasily Zakharov added a comment -

          If I have time, I would also try a one-by-one removal to isolate the critical property. Hopefully, that would help.

          Show
          Vasily Zakharov added a comment - If I have time, I would also try a one-by-one removal to isolate the critical property. Hopefully, that would help.
          Hide
          Vasily Zakharov added a comment -

          I've tried a one-by-one manual properties checking.

          It seems that the critical property is java.version, it should have value starting with "1.5.0_" (including underscore) for NetBeans to recognize the JRE as suitable for profiling.

          Show
          Vasily Zakharov added a comment - I've tried a one-by-one manual properties checking. It seems that the critical property is java.version, it should have value starting with "1.5.0_" (including underscore) for NetBeans to recognize the JRE as suitable for profiling.

            People

            • Assignee:
              Unassigned
              Reporter:
              Vasily Zakharov
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:

                Development