[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: ClassNotFoundException at HostServicesDelegate
From:       Kevin Rushforth <kevin.rushforth () oracle ! com>
Date:       2016-06-29 23:47:24
Message-ID: 57745E0C.30703 () oracle ! com
[Download RAW message or body]


 > What instance should be returned from 
HostServicesDelegate#getInstance() by default if javafx.deploy is not 
loaded?

It will need to be a new instance that implements the methods of 
HostServices in a way that makes sense for a standalone app. The deploy 
code already does this, so I can likely reuse that. In any event, I'll 
do this when I fix the bug. It won't happen in the next few weeks, 
though; until then please use the workaround or just ignore the warning 
message.

-- Kevin


Yasumasa Suenaga wrote:
> Hi Kevin,
> 
> Currently, ctor of HostServices will not be initialized because it
> will recieve ClassNotFoundException. However, the application seems
> to be run.
> 
> What instance should be returned from HostServicesDelegate#getInstance()
> by default if javafx.deploy is not loaded?
> 
> I guess we can use ModuleFinder#find() to refactoring.
> 
> 
> Thanks,
> 
> Yasumasa
> 
> 
> On 2016/06/30 0:09, Kevin Rushforth wrote:
> > Hi Yasumasa,
> > 
> > No, this is not a correct solution as it just masks the problem. A 
> > likely solution will be to refactor the code to provide an 
> > alternative implementation of HostServicesDelegate in case the 
> > javafx.deploy module is not loaded (either in the case of a purely 
> > open build of OpenJFX or in the case where the deploy module doesn't 
> > get loaded by default).
> > 
> > -- Kevin
> > 
> > 
> > Yasumasa Suenaga wrote:
> > > Hi Kevin,
> > > 
> > > > java -addmods javafx.deploy ....
> > > > 
> > > > We will need a fix that doesn't require this.
> > > 
> > > I guess you will fix to add exports directive to module-info.java in 
> > > closed source.
> > > However, I think we should fix as below:
> > > 
> > > ----------------
> > > diff -r 3597495167c7 
> > > modules/graphics/src/main/java/com/sun/javafx/application/HostServicesDelegate.java \
> > >  
> > > --- 
> > > a/modules/graphics/src/main/java/com/sun/javafx/application/HostServicesDelegate.java \
> > >  Tue Jun 28 01:48:07 2016 +0530
> > > +++ 
> > > b/modules/graphics/src/main/java/com/sun/javafx/application/HostServicesDelegate.java \
> > >  Wed Jun 29 23:53:07 2016 +0900
> > > @@ -55,7 +55,6 @@
> > > getInstanceMeth = 
> > > factoryClass.getMethod(
> > > "getInstance", 
> > > Application.class);
> > > } catch (Exception ex) {
> > > -                                ex.printStackTrace();
> > > return null;
> > > }
> > > }
> > > ----------------
> > > 
> > > Otherwise, the user who uses pure OpenJFX will see this stack trace.
> > > I think this exception can be ignored.
> > > So it should not be printed.
> > > 
> > > 
> > > Thanks,
> > > 
> > > Yasumasa
> > > 
> > > 
> > > On 2016/06/29 0:44, Kevin Rushforth wrote:
> > > > A workaround is:
> > > > 
> > > > java -addmods javafx.deploy ....
> > > > 
> > > > We will need a fix that doesn't require this.
> > > > 
> > > > -- Kevin
> > > > 
> > > > 
> > > > Kevin Rushforth wrote:
> > > > > Thanks for the pointer. That was enough for me to reproduce the 
> > > > > bug. I filed the following issue to track it:
> > > > > 
> > > > > https://bugs.openjdk.java.net/browse/JDK-8160464
> > > > > 
> > > > > -- Kevin
> > > > > 
> > > > > 
> > > > > Yasumasa Suenaga wrote:
> > > > > > 
> > > > > > Hi Kevin,
> > > > > > 
> > > > > > I use JDK 9 EA b124 for Windows x64 from java.net <http://java.net>.
> > > > > > https://jdk9.java.net/download/
> > > > > > 
> > > > > > If you want to full stack trace, please download from here:
> > > > > > 
> > > > > > http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1540&action=edit 
> > > > > > <http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1540&action=edit> \
> > > > > >  
> > > > > > 
> > > > > > This exception does not occur on OracleJDK 8. So I guess this 
> > > > > > exception is  from Java FX 9.
> > > > > > 
> > > > > > Thanks,
> > > > > > 
> > > > > > Yasumasa
> > > > > > 
> > > > > > 2016/06/28 23:52 "Kevin Rushforth" <kevin.rushforth@oracle.com 
> > > > > > <mailto:kevin.rushforth@oracle.com>>:
> > > > > > 
> > > > > > Hi Yasumasa,
> > > > > > 
> > > > > > I assume this is a download of the Oracle JDK from java.net
> > > > > > <http://java.net>? We haven't seen any problems like this, so it
> > > > > > might be a problem with HeapStats analyzer. The class in 
> > > > > > question
> > > > > > is a closed-source class that lives in the javafx.deploy module.
> > > > > > What exactly are you running?
> > > > > > 
> > > > > > -- Kevin
> > > > > > 
> > > > > > 
> > > > > > Yasumasa Suenaga wrote:
> > > > > > 
> > > > > > Hi all,
> > > > > > 
> > > > > > When I ran HeapStats Analyzer [1] on JDK 9 EA b124, I
> > > > > > encountered ClassNotFoundException as below:
> > > > > > ------------
> > > > > > java.lang.ClassNotFoundException:
> > > > > > com.sun.deploy.uitoolkit.impl.fx.HostServicesFactory
> > > > > > at
> > > > > > 
> > > > > > jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-ea/BuiltinClassLoader.java:366) \
> > > > > >  
> > > > > > 
> > > > > > at
> > > > > > 
> > > > > > java.lang.ClassLoader.loadClass(java.base@9-ea/ClassLoader.java:419)
> > > > > > at java.lang.Class.forName0(java.base@9-ea/Native 
> > > > > > Method)
> > > > > > at 
> > > > > > java.lang.Class.forName(java.base@9-ea/Class.java:378)
> > > > > > at
> > > > > > 
> > > > > > com.sun.javafx.application.HostServicesDelegate.lambda$getInstance$0(javafx.graphics@9-ea/HostServicesDelegate.java:52) \
> > > > > >  
> > > > > > 
> > > > > > > 
> > > > > > ------------
> > > > > > 
> > > > > > This message does not appear on JDK 8u92.
> > > > > > I think this message is printed at [2].
> > > > > > 
> > > > > > I think this exception message do not need to be printed.
> > > > > > At least, it is debug level.
> > > > > > 
> > > > > > Does someone work for it?
> > > > > > If not so, I want to contribute patch.
> > > > > > 
> > > > > > 
> > > > > > Thanks,
> > > > > > 
> > > > > > Yasumasa
> > > > > > 
> > > > > > 
> > > > > > [1] http://icedtea.classpath.org/wiki/HeapStats
> > > > > > [2]
> > > > > > 
> > > > > > http://hg.openjdk.java.net/openjfx/9-dev/rt/file/3597495167c7/modules/graphics/src/main/java/com/sun/javafx/application/HostServicesDelegate.java#l58 \
> > > > > >  
> > > > > > 
> > > > > > 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic