Bug 229191 - Cannot start NetBeans on JDK8 because ISE occurs
Cannot start NetBeans on JDK8 because ISE occurs
Status: RESOLVED FIXED
Product: platform
Classification: Unclassified
Component: JDK Problems
7.3
PC Windows 7
: P1 (vote)
: 7.3.1
Assigned To: Antonin Nebuzelsky
issues@platform
jdk_bug_8013844 73patch2-verified bug...
: JDK_8
: 229177 229342 268492 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-04-30 06:49 UTC by sreimers
Modified: 2017-02-15 13:51 UTC (History)
11 users (show)

See Also:
Issue Type: DEFECT
:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sreimers 2013-04-30 06:49:47 UTC
With latest jdk8 build b87 I get the folowing exception starting NetBeans.

java.lang.IllegalStateException: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"
	at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerImpl.java:423)
	at org.openide.util.WeakListenerImpl.create(WeakListenerImpl.java:164)
	at org.openide.util.WeakListeners.create(WeakListeners.java:271)
	at org.openide.filesystems.MultiFileObject.<init>(MultiFileObject.java:132)
	at org.openide.filesystems.MultiFileObject.<init>(MultiFileObject.java:149)
	at org.openide.filesystems.MultiFileSystem.getMultiRoot(MultiFileSystem.java:278)
	at org.openide.filesystems.MultiFileSystem.findResource(MultiFileSystem.java:366)
	at org.openide.filesystems.FileUtil.getConfigFile(FileUtil.java:2091
	at org.openide.filesystems.FileUtil.getConfigRoot(FileUtil.java:2121)
	at org.netbeans.core.startup.Main.getModuleSystem(Main.java:170)
	at org.netbeans.core.startup.Main.getModuleSystem(Main.java:150)
	at org.netbeans.core.startup.Main.start(Main.java:307)
	at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
	at java.lang.Thread.run(Thread.java:724)

Caused by: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"
	at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:93)
	at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:295)
	at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:287)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:404)
	at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerImpl.java:413)

	... 13 more
Comment 1 Jaroslav Havlin 2013-04-30 06:56:10 UTC
Probably a problem in filesystems or in module system. Please evaluate.
Thank you.
Comment 2 Jiri Prox 2013-04-30 12:34:32 UTC
I can reproduce it as well

Product Version         = NetBeans IDE Dev (Build 201304282301) (#e0428f98f79d
Operating System        = Windows 7 version 6.1 running on amd64 
Java; VM; Vendor        = 1.8.0-ea; Java HotSpot(TM) 64-Bit Server VM 25.0-b28 Oracle Corporation
Runtime                 = Java(TM) SE Runtime Environment 1.8.0-ea-b87
Java Home               = C:\Program Files\Java\jdk1.8.0\jre
Comment 3 Jaroslav Tulach 2013-04-30 13:37:53 UTC
Here is Jan's comment: 

NetBeans won't start on a very recent custom build of JDK8 from the tl 
repository. Caused by: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/73e3b474125e
Comment 4 sreimers 2013-04-30 13:47:15 UTC
This was not a custom build but the "official" JDK8 b87 pre-release available from java.net.

Any ideas how to work around this problem? Compile against JDK8 b87?

Thanks
Comment 5 sreimers 2013-05-01 15:52:04 UTC
So we are experiencing an issue because a security fix (http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/73e3b474125e) if I understand correctly.

So what in fact happens is, that now you cannot create a Proxy for interface you cannot access by Java visibility rules, so all interfaces that are passed to the WeakListeners.create method must from now on be public.

Correct conclusion? How to tackle the problem from here?
Comment 6 Jaroslav Tulach 2013-05-03 05:49:17 UTC
Report bug for JDK and let them fix it. NetBeans run without security manager and that is why I don't see a reason for this incompatible change in JDK8.
Comment 7 J Bachorik 2013-05-03 06:48:54 UTC
8004260: dynamic proxy class should have same class access as proxy interfaces
http://ccc.us.oracle.com/8004260
Comment 8 Marian Mirilovic 2013-05-03 07:13:03 UTC
*** Bug 229177 has been marked as a duplicate of this bug. ***
Comment 9 sreimers 2013-05-03 08:44:39 UTC
From the jdk8-dev mailing list (Alan Bateman):

The changes in 8004260 are intentional but it does seem to have exposed a problem for NetBeans.  A JDK bug was submitted on this yesterday:

http://bugs.sun.com/view_bug.do?bug_id=8013844

It will be looked into but I will guess the issue is there is a non-public interface involved, the Proxy is generated as a non-public class in the same package as that interface, and that NetBeans needs to add a setAccessible to suppress the access check. Using Proxy.newProxyInterface might be an option too.
Comment 10 Antonin Nebuzelsky 2013-05-06 10:26:06 UTC
*** Bug 229342 has been marked as a duplicate of this bug. ***
Comment 11 Antonin Nebuzelsky 2013-05-06 12:46:45 UTC
To be workarounded in trunk and backport to release73 considered.
Comment 13 Marian Mirilovic 2013-05-07 07:41:56 UTC
I agree with backport, Honza please verify in a build from jet-main and proceed with integration into release73 today ! Thanks in advance.
Comment 14 Quality Engineering 2013-05-08 02:01:21 UTC
Integrated into 'releases', will be available in build *201305072358* or newer. Wait for official and publicly available build.
Changeset: http://hg.netbeans.org/releases/rev/b0637f12ebdf
User: Jan Lahoda <jlahoda@netbeans.org>
Log: #229191: workaround for a j.l.r.Proxy change - proxy class for non-public interface is non-public now.
Comment 15 Quality Engineering 2013-05-09 02:36:50 UTC
Integrated into 'main-golden', will be available in build *201305082300* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/3238e03c676f
User: Jan Lahoda <jlahoda@netbeans.org>
Log: #229191: workaround for a j.l.r.Proxy change - proxy class for non-public interface is non-public now.
Comment 16 athompson 2013-05-09 11:29:07 UTC
Yup!
Comment 17 Tomas Danek 2013-05-10 11:10:25 UTC
Was able to start 7.3 + patch2, verified.

Product Version: NetBeans IDE 7.3.1 (Build 201305082200)
Java: 1.8.0-ea; Java HotSpot(TM) 64-Bit Server VM 25.0-b30
Runtime: Java(TM) SE Runtime Environment 1.8.0-ea-b88
System: Mac OS X version 10.8.3 running on x86_64; US-ASCII; en_US (nb)
User directory: /Users/tomas/Library/Application Support/NetBeans/7.3
Cache directory: /Users/tomas/Library/Caches/NetBeans/7.3
Comment 18 Tomas Pavek 2013-05-31 09:11:59 UTC
Transplanted as 63bb6ddb50dc to jdev_abrams branch.
Comment 19 Jackie_Rosen 2014-02-16 11:24:37 UTC
SPAM - Removed by Administrator
Comment 20 jmborer 2015-06-11 08:22:35 UTC
I still have this issue with:

Product Version: NetBeans IDE 8.0.2 (Build 201411181905)
Updates: NetBeans IDE is updated to version NetBeans 8.0.2 Patch 2
Java: 1.8.0_40; Java HotSpot(TM) 64-Bit Server VM 25.40-b25
Runtime: Java(TM) SE Runtime Environment 1.8.0_40-b26
System: Windows 7 version 6.1 running on amd64; Cp1252; en_US (nb)
User directory: C:\projects\.netbeans\8.0
Cache directory: C:\projects\.netbeans\cache\8.0

As soon as I use Java 7, the correct error messages are back...
Comment 21 Antonin Nebuzelsky 2015-07-08 13:42:25 UTC
(In reply to jmborer from comment #20)
> I still have this issue with:
> 
> ...
> 
> As soon as I use Java 7, the correct error messages are back...

File a new bug and add more details, including your messages.log. Thanks.
Comment 22 Mardonis 2016-03-30 15:33:47 UTC
I am receiving the same error as the other have on this issue. Attached is the error log. I am trying to use an older version of Netbeans 6.7 to fix an old plugin and update it slowly to a more current Netbeans 8.1. When I try to open the program it shows the startup loading screen then when the progress bar is halfway through it crashes. Thank you for looking into this.

>Log Session: Wednesday, March 30, 2016 10:03:44 AM CDT
>System Info: 
  Product Version         = NetBeans IDE 6.7 (Build 200906241340)
  Operating System        = Windows 7 version 6.1 running on x86
  Java; VM; Vendor        = 1.8.0_45; Java HotSpot(TM) Client VM 25.45-b02; Oracle Corporation
  Runtime                 = Java(TM) SE Runtime Environment 1.8.0_45-b14
  Java Home               = C:\Program Files\Java\jdk18\jre
  System Locale; Encoding = en_US (nb); Cp1252
  Home Directory          = C:\Users\programming
  Current Directory       = C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\bin
  User Directory          = C:\Users\programming\.netbeans\6.7
  Installation            = C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\ergonomics1
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\ide11
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\java2
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\apisupport1
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\webcommon1
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\websvccommon1
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\enterprise5
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\mobility8
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\profiler3
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\identity2
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\harness
                            C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10
  Boot & Ext. Classpath   = C:\Program Files\Java\jdk18\jre\lib\resources.jar;C:\Program Files\Java\jdk18\jre\lib\rt.jar;C:\Program Files\Java\jdk18\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk18\jre\lib\jsse.jar;C:\Program Files\Java\jdk18\jre\lib\jce.jar;C:\Program Files\Java\jdk18\jre\lib\charsets.jar;C:\Program Files\Java\jdk18\jre\lib\jfr.jar;C:\Program Files\Java\jdk18\jre\classes;C:\Program Files\Java\jdk18\jre\lib\ext\access-bridge.jar;C:\Program Files\Java\jdk18\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk18\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk18\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk18\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk18\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk18\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk18\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk18\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk18\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk18\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk18\jre\lib\ext\zipfs.jar
  Application Classpath   = C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\boot.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\org-openide-modules.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\org-openide-util.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\boot_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\boot_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\boot_zh_CN.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\org-openide-modules_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\org-openide-modules_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\org-openide-modules_zh_CN.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\org-openide-util_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\org-openide-util_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\lib\locale\org-openide-util_zh_CN.jar;C:\Program Files\Java\jdk18\lib\dt.jar;C:\Program Files\Java\jdk18\lib\tools.jar
  Startup Classpath       = C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\core.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\org-openide-filesystems.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\locale\core_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\locale\core_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\locale\core_zh_CN.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\locale\org-openide-filesystems_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\locale\org-openide-filesystems_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\platform10\core\locale\org-openide-filesystems_zh_CN.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\org-netbeans-upgrader.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\core_nb.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\core_nb_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\core_nb_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\core_nb_zh_CN.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\org-netbeans-upgrader_ja.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\org-netbeans-upgrader_pt_BR.jar;C:\Users\programming\Desktop\Sandbox\netbeans-6.7-200906241340-ml-java\netbeans\nb6.7\core\locale\org-netbeans-upgrader_zh_CN.jar
-------------------------------------------------------------------------------
java.lang.IllegalStateException: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"
	at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerImpl.java:415)
	at org.openide.util.WeakListenerImpl.create(WeakListenerImpl.java:156)
	at org.openide.util.WeakListeners.create(WeakListeners.java:268)
	at org.openide.filesystems.MultiFileObject.<init>(MultiFileObject.java:116)
	at org.openide.filesystems.MultiFileObject.<init>(MultiFileObject.java:133)
	at org.openide.filesystems.MultiFileSystem.getMultiRoot(MultiFileSystem.java:251)
	at org.openide.filesystems.MultiFileSystem.findResource(MultiFileSystem.java:339)
	at org.openide.filesystems.FileUtil.getConfigFile(FileUtil.java:2010)
	at org.openide.filesystems.FileUtil.getConfigRoot(FileUtil.java:2021)
	at org.netbeans.core.startup.Main.getModuleSystem(Main.java:158)
	at org.netbeans.core.startup.Main.start(Main.java:309)
	at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:111)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalAccessException: Class org.openide.util.WeakListenerImpl$ProxyListener can not access a member of class org.openide.filesystems.$Proxy0 with modifiers "public"
	at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102)
	at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:296)
	at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:288)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:412)
	at org.openide.util.WeakListenerImpl$ProxyListener.<init>(WeakListenerImpl.java:405)
	... 12 more
Comment 23 Antonin Nebuzelsky 2016-08-24 11:48:25 UTC
Mardonis, do not reopen this bug with your NB 6.7 problem. This bug was fixed in 7.3.1.

Please note that 6.7 does not run on JDK 8. You need latest NetBeans, or run the old version of NetBeans with the older JDK which was certified to be compatible at the time of 6.7 release.
Comment 24 Tomas Hurka 2017-02-15 13:51:39 UTC
*** Bug 268492 has been marked as a duplicate of this bug. ***


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo