dev@glassfish.java.net

Re: fixed quicklook failures.

From: <Shing-Wai.Chan_at_Sun.COM>
Date: Mon, 17 Mar 2008 16:24:20 -0800

Look like, something is wrong.
I see the following after running QL and restart the server:

WARNING: SEC1000: Caught exception.
com.sun.enterprise.security.auth.realm.BadRealmException:
java.lang.ClassNotFoundException:
com.sun.enterprise.security.auth.realm.certificate.CertificateRealm
        at
com.sun.enterprise.security.auth.realm.Realm.doInstantiate(Realm.java:239)
        at
com.sun.enterprise.security.auth.realm.Realm.instantiate(Realm.java:165)
        at
com.sun.enterprise.security.RealmConfig.createRealms(RealmConfig.java:91)
        at
com.sun.enterprise.security.RealmConfig.createRealms(RealmConfig.java:152)
        at
com.sun.enterprise.security.SecurityLifecycle.onInitialization(SecurityLifecycle.java:153)
        at
com.sun.enterprise.security.SecurityLifecycle.postConstruct(SecurityLifecycle.java:209)
        at
com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:114)
        at
com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:50)
        at
com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:39)
        at
com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:22)
        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:71)
        at
com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:24)
        at
com.sun.enterprise.security.SecuritySniffer.setup(SecuritySniffer.java:51)
        at
com.sun.enterprise.v3.server.ContainerStarter.startContainer(ContainerStarter.java:103)
        at
com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainer(ApplicationLifecycle.java:710)
        at
com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:392)
        at
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:266)
        at
com.sun.enterprise.v3.services.impl.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:246)
        at
com.sun.enterprise.v3.services.impl.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:126)
        at
com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:114)
        at
com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:50)
        at
com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:39)
        at
com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:22)
        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:71)
        at
com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:24)
        at
com.sun.enterprise.v3.server.AppServerStartup$1.run(AppServerStartup.java:108)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException:
com.sun.enterprise.security.auth.realm.certificate.CertificateRealm
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at
com.sun.enterprise.module.impl.ClassLoaderProxy.findClassDirect(ClassLoaderProxy.java:127)
        at
com.sun.enterprise.module.impl.ClassLoaderProxy.findClass(ClassLoaderProxy.java:87)
        at
com.sun.enterprise.module.impl.ClassLoaderProxy.findClass(ClassLoaderProxy.java:81)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at
com.sun.enterprise.module.impl.ModuleClassLoader.loadClass(ModuleClassLoader.java:67)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at
com.sun.enterprise.security.auth.realm.Realm.doInstantiate(Realm.java:229)
        ... 26 more


Jerome Dochez wrote:

>
> We have the quick look passing with my latest fix, I think we can
> assume the problem is fixed until further notice. The main problems
> that had to be fixed was the universal (fixed by byron) and security
> realms modules were not hk2 module but plain old jar files.
>
> This was especially wrong for realms module as it was itself
> depending on hk2 modules (like glassfish-api) hence bringing all the
> imported module in the class loader of the importing module, creating
> various ClassCastException
>
> So from the conversation thread we had last week, It becomes more and
> more clear that all of our server-side deliverables should be hk2-jar
> files as starting to mix hk2-jars and jars in the import list of a
> jar file that runs in the module subsystem is leading to nasty
> exceptions.
>
> Remember to run QL before each checkin and if quicklook is currently
> failing, please refrain from checking in until the failure is resolved.
>
> http://wiki.glassfish.java.net/Wiki.jsp?page=V3BuildTests#ql
>
> Jerome
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>