[Design of Security on JBoss] - JBAS-7049: AccessController permission check throwing NPE
by anil.saldhana@jboss.com
Looks like an OpenJDK6 issue where the permission check for getParent of a classloader is failing with an NPE because probably the parent class loader is null (boot CL).
| 14:40:13,679 ERROR [AbstractKernelController] Error installing to Described: name=deployers-classloader:0.0.0$MODULE state=PreInstall
| java.lang.NullPointerException
| at java.security.AccessControlContext.checkPermission(AccessControlContext.java:330)
| at java.security.AccessController.checkPermission(AccessController.java:553)
| at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
| at java.lang.ClassLoader.getParent(ClassLoader.java:1241)
| at org.jboss.aop.asintegration.jboss5.SecurityActions$GetParentAction$2$1.run(SecurityActions.java:57)
| at org.jboss.aop.asintegration.jboss5.SecurityActions$GetParentAction$2$1.run(SecurityActions.java:55)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.jboss.aop.asintegration.jboss5.SecurityActions$GetParentAction$2.getParent(SecurityActions.java:53)
| at org.jboss.aop.asintegration.jboss5.SecurityActions.getParent(SecurityActions.java:77)
| at org.jboss.aop.asintegration.jboss5.VFSClassLoaderDomainRegistry.getClassLoaderDomainForLoader(VFSClassLoaderDomainRegistry.java:181)
| at org.jboss.aop.asintegration.jboss5.VFSClassLoaderDomainRegistry.getRegisteredDomain(VFSClassLoaderDomainRegistry.java:165)
| at org.jboss.aop.asintegration.jboss5.VFSClassLoaderScopingPolicy.getDomain(VFSClassLoaderScopingPolicy.java:68)
| at org.jboss.aop.AspectManager.instance(AspectManager.java:248)
| at org.jboss.aop.AspectManager.instance(AspectManager.java:234)
| at org.jboss.aop.microcontainer.beans.AspectManagerFactory.getAspectManager(AspectManagerFactory.java:46)
| at org.jboss.aop.microcontainer.integration.AOPDependencyBuilder.getDependencies(AOPDependencyBuilder.java:102)
|
Any second thoughts?
This is only on openjdk6 and not on Sun JDK6.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4242715#4242715
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4242715
16 years, 9 months
[Design of JBossXB] - Re: Referencing the bean-deployer namespace from a custom me
by david.lloyd@jboss.com
OK, awesome, that worked.
One other thing - I have my root element set up to be propOrder={} and modelgroup=CHOICE. I have two properties which are using XmlElements like this:
| public List<AbstractLoggerMetaData> getLoggerMetaDataList() {
| return loggerMetaDataList;
| }
|
| @XmlElements({
| @XmlElement(name = "root-logger", type = RootLoggerMetaData.class),
| @XmlElement(name = "logger", type = LoggerMetaData.class)
| })
| public void setLoggerMetaDataList(final List<AbstractLoggerMetaData> loggerMetaDataList) {
| this.loggerMetaDataList = loggerMetaDataList;
| }
|
| public List<AbstractHandlerMetaData> getHandlerMetaDataList() {
| return handlerMetaDataList;
| }
|
| @XmlElements({
| @XmlElement(name = "handler", type = HandlerMetaData.class),
| @XmlElement(name = "log4j-appender", type = Log4jAppenderMetaData.class),
| @XmlElement(name = "console-handler", type = ConsoleHandlerMetaData.class),
| @XmlElement(name = "file-handler", type = FileHandlerMetaData.class),
| @XmlElement(name = "periodic-rotating-file-handler", type = PeriodicRotatingFileHandlerMetaData.class),
| @XmlElement(name = "size-rotating-file-handler", type = SizeRotatingFileHandlerMetaData.class),
| @XmlElement(name = "async-handler", type = AsyncHandlerMetaData.class),
| @XmlElement(name = "null-handler", type = NullHandlerMetaData.class)
| })
| public void setHandlerMetaDataList(final List<AbstractHandlerMetaData> handlerMetaDataList) {
| this.handlerMetaDataList = handlerMetaDataList;
| }
|
| public List<InstallHandlerMetaData> getInstallHandlerMetaDataList() {
| return installHandlerMetaDataList;
| }
|
| @XmlElement(name = "install-handler")
| public void setInstallHandlerMetaDataList(final List<InstallHandlerMetaData> installHandlerMetaDataList) {
| this.installHandlerMetaDataList = installHandlerMetaDataList;
| }
|
But it gives me this error:
| org.jboss.xb.binding.JBossXBRuntimeException: {urn:jboss:logging:6.0}logger cannot appear in this position. Expected content of {urn:jboss:logging:6.0}logging is choice: {choice}* {choice}* {urn:jboss:logging:6.0}install-handler*
|
I don't think this is correct behavior though. The source XML looks like (comments removed):
| <logging xmlns="urn:jboss:logging:6.0" xmlns:b="urn:jboss:bean-deployer:2.0">
| <periodic-rotating-file-handler
| file-name="${jboss.server.log.dir}/server.log"
| name="FILE"
| autoflush="true"
| append="true"
| suffix=".yyyy-MM-dd">
| <error-manager>
| <only-once/>
| </error-manager>
|
| <formatter>
| <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
| </formatter>
| </periodic-rotating-file-handler>
|
| <console-handler name="CONSOLE" autoflush="true" target="System.out">
| <error-manager>
| <only-once/>
| </error-manager>
|
| <level name="INFO"/>
|
| <formatter>
| <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
| </formatter>
| </console-handler>
|
| <logger category="org.apache">
| <level name="INFO"/>
| </logger>
|
| (a bunch more loggers follow)
|
So maybe it's treating the outer choice as maxOccurs=1 or something? Is there something else I need to add?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4242670#4242670
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4242670
16 years, 9 months