[JBoss JIRA] Created: (JBRULES-1461) comment leads to org.mvel.PropertyAccessException
by Godmar Back (JIRA)
comment leads to org.mvel.PropertyAccessException
-------------------------------------------------
Key: JBRULES-1461
URL: http://jira.jboss.com/jira/browse/JBRULES-1461
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.0.4
Reporter: Godmar Back
I'm still fighting with Drools's parser.
This code:
package test;
import java.util.ArrayList;
import java.util.HashMap;
dialect "mvel"
rule "Rule #1"
when
then
/* a comment */
System.out.println("hello world");
end
produces:
org.mvel.PropertyAccessException: unable to resolve property: ;
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:285)
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:107)
at org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:185)
at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
at org.mvel.CompiledExpression.getValue(CompiledExpression.java:107)
at org.mvel.MVEL.executeExpression(MVEL.java:223)
at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:47)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:471)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:433)
at org.libx.autodetect.DroolsDriver$Host.fireAllRules(DroolsDriver.java:63)
at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:135)
Caused by: org.mvel.PropertyAccessException: unable to resolve property: ;
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:373)
at org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:254)
... 12 more
but this works:
package test;
import java.util.ArrayList;
import java.util.HashMap;
dialect "mvel"
rule "Rule #1"
when
then
// a single-line comment
System.out.println("hello world");
end
It makes it *very* difficult to use Drools if one has to work around such silly bugs.
As a matter of fact, Drools does not seem to handle the presence of multi-line comments in a RHS well.
(Even though the documentation says they're ok:
http://downloads.jboss.com/drools/docs/4.0.4.17825.GA/html_single/index.h...
Not sure what is going on. I looked at:
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/labs/labs/jbossrules/branches/...
which appears to be correct and sends multiline comments to ANTLR's hidden channel.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JBAS-1268) DescriptorSupport does not validate its serializable fields adequately
by Adrian Brock (JIRA)
[ http://jira.jboss.com/jira/browse/JBAS-1268?page=comments#action_12399324 ]
Adrian Brock commented on JBAS-1268:
------------------------------------
Link to forum thread - describing known Sun bug and our workarounds:
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129072#4129072
> DescriptorSupport does not validate its serializable fields adequately
> ----------------------------------------------------------------------
>
> Key: JBAS-1268
> URL: http://jira.jboss.com/jira/browse/JBAS-1268
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Reporter: Scott M Stark
> Assigned To: Scott M Stark
> Fix For: JBossAS-3.2.7 Final, JBossAS-4.0.2RC1
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> Although the javax.management.modelmbean.DescriptorSupport does attempt to validate whether its fields are Serializable, it does not validate all of the values references. This causes failures when accessing mbeans over rmi as shown in this twiddle example:
> [starksm@banshee9100 bin]$ twiddle.sh -s lamia:1099 invoke "jboss.web:service=WebServer" stopConnectors
> 21:49:02,437 ERROR [Twiddle] Exec failed
> java.lang.reflect.UndeclaredThrowableException
> at $Proxy0.getMBeanInfo(Unknown Source)
> at org.jboss.console.twiddle.command.InvokeCommand.invoke(InvokeCommand.java:173)
> at org.jboss.console.twiddle.command.InvokeCommand.execute(InvokeCommand.java:277)
> at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:288)
> Caused by: java.io.NotSerializableException: org.jboss.mx.util.MBeanProxyExt
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
> at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
> at java.util.HashMap.writeObject(HashMap.java:978)
> at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.access$100(ObjectOutputStream.java:122)
> at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1475)
> at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:405)
> at javax.management.modelmbean.DescriptorSupport.writeObject(DescriptorSupport.java:559)
> at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.access$100(ObjectOutputStream.java:122)
> at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1475)
> at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:405)
> at javax.management.modelmbean.ModelMBeanAttributeInfo.writeObject(ModelMBeanAttributeInfo.java:312)
> at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
> at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
> at java.rmi.MarshalledObject.<init>(MarshalledObject.java:92)
> at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:364)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> at sun.rmi.transport.Transport$1.run(Transport.java:148)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> at java.lang.Thread.run(Thread.java:534)
> at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
> at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
> at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
> at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:163)
> at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:103)
> at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:60)
> at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
> at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:55)
> at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:91)
> ... 4 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JBAS-1268) DescriptorSupport does not validate its serializable fields adequately
by Adrian Brock (JIRA)
[ http://jira.jboss.com/jira/browse/JBAS-1268?page=comments#action_12399323 ]
Adrian Brock commented on JBAS-1268:
------------------------------------
Use the forums to ask questions NOT the release notes.
> DescriptorSupport does not validate its serializable fields adequately
> ----------------------------------------------------------------------
>
> Key: JBAS-1268
> URL: http://jira.jboss.com/jira/browse/JBAS-1268
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Reporter: Scott M Stark
> Assigned To: Scott M Stark
> Fix For: JBossAS-3.2.7 Final, JBossAS-4.0.2RC1
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> Although the javax.management.modelmbean.DescriptorSupport does attempt to validate whether its fields are Serializable, it does not validate all of the values references. This causes failures when accessing mbeans over rmi as shown in this twiddle example:
> [starksm@banshee9100 bin]$ twiddle.sh -s lamia:1099 invoke "jboss.web:service=WebServer" stopConnectors
> 21:49:02,437 ERROR [Twiddle] Exec failed
> java.lang.reflect.UndeclaredThrowableException
> at $Proxy0.getMBeanInfo(Unknown Source)
> at org.jboss.console.twiddle.command.InvokeCommand.invoke(InvokeCommand.java:173)
> at org.jboss.console.twiddle.command.InvokeCommand.execute(InvokeCommand.java:277)
> at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:288)
> Caused by: java.io.NotSerializableException: org.jboss.mx.util.MBeanProxyExt
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
> at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
> at java.util.HashMap.writeObject(HashMap.java:978)
> at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.access$100(ObjectOutputStream.java:122)
> at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1475)
> at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:405)
> at javax.management.modelmbean.DescriptorSupport.writeObject(DescriptorSupport.java:559)
> at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.access$100(ObjectOutputStream.java:122)
> at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1475)
> at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:405)
> at javax.management.modelmbean.ModelMBeanAttributeInfo.writeObject(ModelMBeanAttributeInfo.java:312)
> at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
> at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
> at java.rmi.MarshalledObject.<init>(MarshalledObject.java:92)
> at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:364)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> at sun.rmi.transport.Transport$1.run(Transport.java:148)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> at java.lang.Thread.run(Thread.java:534)
> at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
> at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
> at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
> at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:163)
> at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:103)
> at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:60)
> at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
> at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:55)
> at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:91)
> ... 4 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Commented: (JBAS-1262) MBean for ear not deregistered when deploy fails
by Adrian Brock (JIRA)
[ http://jira.jboss.com/jira/browse/JBAS-1262?page=comments#action_12399322 ]
Adrian Brock commented on JBAS-1262:
------------------------------------
The MBean you show is a war not an ear.
"jboss.web.deployment:war"
Raise a new JIRA issue for new problems, but you'll need to provide
a lot more information than this partial stacktrace if you don't want it closed as "incomplete information".
> MBean for ear not deregistered when deploy fails
> ------------------------------------------------
>
> Key: JBAS-1262
> URL: http://jira.jboss.com/jira/browse/JBAS-1262
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: EJB2
> Affects Versions: JBossAS-4.0.1 Final
> Environment: Win2k, JDK 1.4.2, default-configuration as supplied.
> Reporter: Heiko W. Rupp
> Assigned To: Adrian Brock
> Fix For: JBossAS-4.0.3RC1
>
>
> 1) deploy an ear that has a ejb-jar in it that fails verification
> 2) redeploy the same ear (either with or without changed jar).
> 3) you will get an exception:
> 21:55:12,206 INFO [EARDeployer] Init J2EE application: file:/D:/jboss401/server
> /small/deploy/adb.ear
> 21:55:12,296 INFO [EARDeployment] Registration is not done -> stop
> 21:55:12,296 ERROR [MainDeployer] Could not initialise deployment: file:/D:/jboss401/server/small/deploy/adb.ear
> org.jboss.deployment.DeploymentException: Error in accessing application metadata: ; - nested throwable: javax.management.InstanceAlreadyExistsException: jboss.j2ee:service=EARDeployment,url='adb.ear' already registered.)
> 4) Go to jmx-console
> jboss.j2ee
> * service=EARDeployer
> * service=EARDeployment,url='adb.ear'
> 5) go into the ,url=... MBean
> 6) MBean is in state 8 (registered)
> 7) call stop() and/or destroy()
> 22:01:47,795 WARN [ServiceController] Ignoring request to destroy nonexistent service: jboss.j2ee:service=EARDeployment,url='adb.ear'
> 8) redeploy ear -> same exception again
> 9) call unregister over twiddle:
> D:> d:\jboss401\bin\twiddle unregister "jboss.j2ee:service=EARDeployment,url='adb.ear'"
> 10) MBean is gone in MBean-List, ear can be deployed as usual.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months