[JBoss JIRA] (AS7-4900) Re-creating a logging handler fails with message "JBAS014749: Operation handler failed: null"
by Masafumi Miura (JIRA)
Masafumi Miura created AS7-4900:
-----------------------------------
Summary: Re-creating a logging handler fails with message "JBAS014749: Operation handler failed: null"
Key: AS7-4900
URL: https://issues.jboss.org/browse/AS7-4900
Project: Application Server 7
Issue Type: Bug
Components: CLI, Logging
Affects Versions: 7.1.2.Final (EAP)
Environment: AS 7.1.2
EAP 6.0.0 Beta2
Reporter: Masafumi Miura
Assignee: Alexey Loubyansky
Re-creating a logging handler using (:add, :remove, :add) fails with message "JBAS014749: Operation handler failed: null".
For instance,
1. Add a logging handler:
{noformat:title=$./jboss-cli.sh --connect --file=/tmp/test/logging-add.cli}
#1 /subsystem=logging/periodic-rotating-file-handler=TESTLOG:add(suffix=.yyyy-MM-dd,autoflush=true,append=true,file={"relative-to" => "jboss.server.log.dir","path" => "TESTLOG.log"})
#2 /subsystem=logging/periodic-rotating-file-handler=TESTLOG:write-attribute(name=formatter,value="%d %-5p [%c{1}](%t) - %m%n")
#3 /subsystem=logging/logger=org.jboss.support.test:add(level=ERROR,handlers=["TESTLOG"],use-parent-handlers=false)
The batch executed successfully.
{noformat}
2. Remove the logging handler:
{noformat:title=$./jboss-cli.sh --connect --file=/tmp/test/logging-remove.cli}
#1 /subsystem=logging/logger=org.jboss.support.test:remove
#2 /subsystem=logging/periodic-rotating-file-handler=TESTLOG:remove
The batch executed successfully.
{noformat}
3. Add the logging handler again:
{noformat:title=$./jboss-cli.sh --connect --file=/tmp/test/logging-add.cli}
#1 /subsystem=logging/periodic-rotating-file-handler=TESTLOG:add(suffix=.yyyy-MM-dd,autoflush=true,append=true,file={"relative-to" => "jboss.server.log.dir","path" => "TESTLOG.log"})
#2 /subsystem=logging/periodic-rotating-file-handler=TESTLOG:write-attribute(name=formatter,value="%d %-5p [%c{1}](%t) - %m%n")
#3 /subsystem=logging/logger=org.jboss.support.test:add(level=ERROR,handlers=["TESTLOG"],use-parent-handlers=false)
Failed to execute batch: {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => "JBAS014749: Operation handler failed: null"}}
{noformat}
Then JBoss shows the following ERROR in server.log:
{noformat:title=server.log}
ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 6) JBAS014612: Operation ("write-attribute") failed - address: ([
("subsystem" => "logging"),
("periodic-rotating-file-handler" => "TESTLOG")
]): java.lang.NullPointerException
at org.jboss.as.logging.handlers.FormatterSpec$PatternFormatterSpec.apply(FormatterSpec.java:62) [jboss-as-logging-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.logging.handlers.AbstractLogHandlerWriteAttributeHandler.applyUpdateToRuntime(AbstractLogHandlerWriteAttributeHandler.java:93) [jboss-as-logging-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractWriteAttributeHandler$1.execute(AbstractWriteAttributeHandler.java:116) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:397) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:284) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:211) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractWriteAttributeHandler.execute(AbstractWriteAttributeHandler.java:138) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.operations.global.GlobalOperationHandlers$WriteAttributeHandler.execute(GlobalOperationHandlers.java:503) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:397) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:284) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:211) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.CompositeOperationHandler.execute(CompositeOperationHandler.java:85) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:397) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:284) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:211) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:473) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:397) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:284) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:211) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:126) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:111) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:139) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:108) [jboss-as-controller-7.1.2.Final.jar:7.1.2.Final]
at org.jboss.as.protocol.mgmt.AbstractMessageHandler$2$1.doExecute(AbstractMessageHandler.java:286)
at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:491)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24]
at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years
[JBoss JIRA] (JBRULES-3540) .AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
by Abhishek Srivastava (JIRA)
Abhishek Srivastava created JBRULES-3540:
--------------------------------------------
Summary: .AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
Key: JBRULES-3540
URL: https://issues.jboss.org/browse/JBRULES-3540
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.4.0.Final
Environment: Red Hat Enterprise Linux Server release 5.3 (Tikanga). JDK1.6.0_31
Reporter: Abhishek Srivastava
Assignee: Mark Proctor
We are using drools to create a RuleEngine. The rules are specified using Excel sheet and are getting compiled properly. But when the rules are executed, the dynamically generated Java-classes are giving the following security exception:
Stack trace:
Detail: Exception executing consequence for rule "FSA_Unmapped_Line" in spike.rules: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1283)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1209)
at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1442)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
at com.xxx.yyy.process(RulesEngine.java:50)
at com.xxx.yyy.performBaselineProcessing(AbstractRuleSource.java:366)
at com.xxx.yyy.RuleSource$RuleProcess.run(RuleSource.java:81)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at com.xxx.yyy.LocalSecurityManager.checkPermission(LocalSecurityManager.java:37)
at java.lang.ClassLoader.getParent(ClassLoader.java:1257)
at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:583)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at spike.rules.Rule_FSA_Unmapped_Line_d3888b5292c7457598c050ce9919d032.defaultConsequence(Rule_FSA_Unmapped_Line_d3888b5292c7457598c050ce9919d032.java:7)
at spike.rules.Rule_FSA_Unmapped_Line_d3888b5292c7457598c050ce9919d032DefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
at spike.rules.Rule_FSA_Unmapped_Line_d3888b5292c7457598c050ce9919d032DefaultConsequenceInvoker.evaluate(Unknown Source)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1273)
... 10 more
We are having a SecurityManager installed to manage the permissions. Please note that with drools-5.3.1, the RuleEngine was working fine and the issue started coming as soon as we migrated to version 5.4. We have tried to use JANINO java compiler, but that does not resolve the problem. Granting RuntimePermission to get/create ClassLoader is not an option as it will leave security loophole and we cannot do this.
Kindly fix this issue in drools-5.4 and let us know an ETA for the patch.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years