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 268011 - API to differentiate application exceptions. Was:java.lang.ClassNotFoundException: org.omg.CORBA.portable.ApplicationException
Summary: API to differentiate application exceptions. Was:java.lang.ClassNotFoundExcep...
Status: RESOLVED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Code (show other bugs)
Version: Dev
Hardware: All All
: P2 normal (vote)
Assignee: Martin Entlicher
URL:
Keywords: API, API_REVIEW_FAST, JDK_9
Depends on:
Blocks:
 
Reported: 2016-09-14 08:44 UTC by Tomas Hurka
Modified: 2016-10-29 02:20 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Proposed API to replace the usage of a Corba class. (15.06 KB, patch)
2016-09-21 07:11 UTC, Martin Entlicher
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Hurka 2016-09-14 08:44:28 UTC
Debugging application in NetBeans running on JDK 9 b 133 fails with the following exception:


java.lang.ClassNotFoundException: org.omg.CORBA.portable.ApplicationException
	at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-ea/BuiltinClassLoader.java:366)
	at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@9-ea/ClassLoaders.java:185)
	at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
	at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:222)
Caused: java.lang.ClassNotFoundException: org.omg.CORBA.portable.ApplicationException starting from ModuleCL@53c8b0bc[org.netbeans.modules.debugger.jpda] with possible defining loaders null and declared parents [ModuleCL@71b51db9[org.openide.text], org.netbeans.MainImpl$BootClassLoader@7d907bac, ModuleCL@b3ea88c[org.netbeans.api.annotations.common], ModuleCL@155b4bf6[org.netbeans.api.debugger.jpda], ModuleCL@26a35dc0[org.netbeans.modules.java.source.base], ModuleCL@505a6fab[org.netbeans.libs.javacapi], ModuleCL@60ee48b3[org.netbeans.api.intent], ModuleCL@812ce0c[org.netbeans.api.debugger], ModuleCL@15228bfb[org.netbeans.api.java.classpath], ModuleCL@6ca5c92a[org.netbeans.api.io], ...2 more]
	at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:224)
	at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
Caused: java.lang.NoClassDefFoundError: org/omg/CORBA/portable/ApplicationException
	at java.lang.ClassLoader.defineClass1(java.base@9-ea/Native Method)
	at java.lang.ClassLoader.defineClass(java.base@9-ea/ClassLoader.java:942)
	at org.netbeans.JarClassLoader.doLoadClass(JarClassLoader.java:311)
	at org.netbeans.ProxyClassLoader.selfLoadClass(ProxyClassLoader.java:259)
Caused: java.lang.NoClassDefFoundError: org/omg/CORBA/portable/ApplicationException while loading org.netbeans.modules.debugger.jpda.expr.InvocationExceptionTranslated; see http://wiki.netbeans.org/DevFaqTroubleshootClassNotFound
	at org.netbeans.ProxyClassLoader.selfLoadClass(ProxyClassLoader.java:263)
	at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:187)
	at java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
	at java.lang.Class.getDeclaredMethods0(java.base@9-ea/Native Method)
	at java.lang.Class.privateGetDeclaredMethods(java.base@9-ea/Class.java:2948)
	at java.lang.Class.privateGetMethodRecursive(java.base@9-ea/Class.java:3293)
	at java.lang.Class.getMethod0(java.base@9-ea/Class.java:3263)
	at java.lang.Class.getMethod(java.base@9-ea/Class.java:1972)
	at org.netbeans.modules.debugger.jpda.ui.CurrentThreadAnnotationListener$AllThreadsAnnotator.run(CurrentThreadAnnotationListener.java:644)
Caused: org.openide.util.RequestProcessor$SlowItem: task failed due to
	at org.openide.util.RequestProcessor$Task.schedule(RequestProcessor.java:1484)
	at org.netbeans.modules.debugger.jpda.ui.CurrentThreadAnnotationListener$AllThreadsAnnotator.annotate(CurrentThreadAnnotationListener.java:591)
	at org.netbeans.modules.debugger.jpda.ui.CurrentThreadAnnotationListener$AllThreadsAnnotator.annotate(CurrentThreadAnnotationListener.java:580)
	at org.netbeans.modules.debugger.jpda.ui.CurrentThreadAnnotationListener$AllThreadsAnnotator.propertyChange(CurrentThreadAnnotationListener.java:576)
	at java.beans.PropertyChangeSupport.fire(java.desktop@9-ea/PropertyChangeSupport.java:341)
	at java.beans.PropertyChangeSupport.firePropertyChange(java.desktop@9-ea/PropertyChangeSupport.java:333)
	at org.netbeans.modules.debugger.jpda.models.JPDAThreadImpl.notifyToBeResumed(JPDAThreadImpl.java:1103)
	at org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.notifyToBeResumedAll(JPDADebuggerImpl.java:1883)
	at org.netbeans.modules.debugger.jpda.JPDADebuggerImpl.setRunning(JPDADebuggerImpl.java:1330)
	at org.netbeans.modules.debugger.jpda.actions.StartActionProvider.doStartDebugger(StartActionProvider.java:202)
	at org.netbeans.modules.debugger.jpda.actions.StartActionProvider.access$200(StartActionProvider.java:80)
	at org.netbeans.modules.debugger.jpda.actions.StartActionProvider$1.run(StartActionProvider.java:165)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
Comment 1 Martin Entlicher 2016-09-14 09:01:16 UTC
An ApplicationException needs to be introduced in org.netbeans.api.debugger.jpda
Comment 2 Tomas Hurka 2016-09-14 11:06:11 UTC
org.omg.CORBA.portable.ApplicationException is used in several other places in debugger. See below:
debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/JPDACodeEvaluator.java:                if (t != null && t instanceof org.omg.CORBA.portable.ApplicationException) {
debugger.jpda.ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java:        if (t != null && t instanceof org.omg.CORBA.portable.ApplicationException) {
debugger.jpda/src/org/netbeans/modules/debugger/jpda/expr/InvocationExceptionTranslated.java:import org.omg.CORBA.portable.ApplicationException;
debugger.jpda/src/org/netbeans/modules/debugger/jpda/models/JPDAWatchImpl.java:        if (t != null && t instanceof org.omg.CORBA.portable.ApplicationException) {
Comment 3 Tomas Hurka 2016-09-14 11:20:33 UTC
Additional usage in web.javascript.debugger module:

web.javascript.debugger/src/org/netbeans/modules/web/javascript/debugger/eval/ui/WebCodeEvaluator.java:                if (t != null && t instanceof org.omg.CORBA.portable.ApplicationException) {
Comment 4 Martin Entlicher 2016-09-21 07:11:39 UTC
Created attachment 162145 [details]
Proposed API to replace the usage of a Corba class.
Comment 5 Martin Entlicher 2016-09-21 07:13:02 UTC
Please review the proposed API.
All necessary changes in the implementation are included.
Comment 6 Martin Entlicher 2016-10-26 12:45:41 UTC
Thanks for the review, I'm going to integrate the patch...
Comment 7 Martin Entlicher 2016-10-26 13:22:15 UTC
Pushed as changeset:   301619:825dc8bd5bd2
http://hg.netbeans.org/core-main/rev/825dc8bd5bd2
Comment 8 Quality Engineering 2016-10-29 02:20:24 UTC
Integrated into 'main-silver', will be available in build *201610290002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/825dc8bd5bd2
User: mentlicher@netbeans.org
Log: #268011: Replace the usage of org.omg.CORBA.* classes with an API.