This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 108681

Summary: profiler relies on non-standard api's
Product: profiler Reporter: apb <apb>
Component: BaseAssignee: issues@profiler <issues>
Status: NEW ---    
Severity: blocker    
Priority: P3    
Version: 5.x   
Hardware: All   
OS: Linux   
Issue Type: ENHANCEMENT Exception Reporter:
Attachments: profiler output

Description apb 2007-07-02 18:33:06 UTC
I tried running the Netbeans profiler against an early-release IBM 1.6 JVM. 
The profiler fails with quite a few error message which I'll attach shortly.
I've sent the bug to IBM, but this really looks like a Netbeans issues in that
it is assuming certain class members in ClassLoader are not "protected final"
for members that are not specified in the specification for Java itself.

It also seems to be assuming the existence of sun.misc.Launcher$AppClassLoader
which seems bad.
Comment 1 apb 2007-07-02 18:36:37 UTC
Created attachment 44636 [details]
profiler output
Comment 2 apb 2007-07-02 18:39:17 UTC
Another thing it seems to be relying on is ClassLoader.findBootstrapClass(java.lang.String)

which seems to be a non-standard API call.

At least I'm unable to find it anywhere under:

http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html

Nor does ClassLoader extend or implement anything which provides this call.

Comment 3 Jiri Sedlacek 2007-07-02 19:14:57 UTC
The profiler clearly states in its release notes (http://profiler.netbeans.org/relnotes.html#req_sw) that it requires
Sun JDK 1.5.0_04 and above or Sun JDK 1.6.0 b26 and above, or Apple J2SE 5.0 Release 3 and above. Given that, this
cannot be a DEFECT.

If you want the profiler to run on other JDK, please change this issue to ENHANCEMENT, otherwise it will be closed as
INVALID.
Comment 4 apb 2007-07-02 19:39:15 UTC
I've changed this to "Enhancement" as requested.

However, this bug is a really about reliance on non-standard APIs
rather than it not working on any particular platform and 
thus applies to the current release and use.
Comment 5 apb 2007-07-02 19:39:24 UTC
I've changed this to "Enhancement" as requested.

However, this bug is really about reliance on non-standard APIs
rather than it not working on any particular platform and 
thus applies to the current release and use.
Comment 6 apb 2007-07-02 19:58:15 UTC
On a separate note, usually when people say that something requires a 
particular version of a piece of software -- it means that the software has
been tested and known to work on that software and your results may vary
on other similar software -- not that it requires proprietary APIs that 
would prevent  it from ever working on anything else which might fully 
implement the public API of the software in question.
Comment 7 Jiri Sedlacek 2007-07-02 20:09:58 UTC
You are right - but for the profiler it really means that it *requires* Sun's JDK. Please note that the profiler engine
is based on JFluid tool developed in SunLabs which originally worked just with modified Sun's 1.4.2-based JDK. It was a
great enhancement when we added support for standard Sun 1.5 and 1.6 JDK. Supporting JDKs from other vendors might be
logical next step, but it's really an enhancement.