[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load
by Tadayoshi Sato (JIRA)
[ https://issues.jboss.org/browse/JBESB-3961?page=com.atlassian.jira.plugin... ]
Tadayoshi Sato commented on JBESB-3961:
---------------------------------------
Just for information, I've tried upgrading Smooks from 1.4.2 to 1.5.1 ({{deployers/esb.deployer/lib/milyn-smooks-all-1.4.2.jar}} -> {{deployers/esb.deployer/lib/milyn-smooks-all-1.5.1.jar}}), but the same issue still happens.
> SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load
> ----------------------------------------------------------------------------------
>
> Key: JBESB-3961
> URL: https://issues.jboss.org/browse/JBESB-3961
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Labels: smooks
> Attachments: JBESB-3961-reproducer.zip
>
>
> Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
> {code}
> org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
> at org.milyn.Smooks._filter(Smooks.java:516)
> at org.milyn.Smooks.filterSource(Smooks.java:475)
> at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
> at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
> 1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
> 2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
> at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
> at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
> ... 13 more
> Caused by: [Error: value X]
> [Near : {... this.type = (com.redhat.sample ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
> ... 22 more
> Caused by: java.lang.IllegalArgumentException: value X
> at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
> at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
> ... 34 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/JBESB-3961?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated JBESB-3961:
-------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1035973
> SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load
> ----------------------------------------------------------------------------------
>
> Key: JBESB-3961
> URL: https://issues.jboss.org/browse/JBESB-3961
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Labels: smooks
> Attachments: JBESB-3961-reproducer.zip
>
>
> Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
> {code}
> org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
> at org.milyn.Smooks._filter(Smooks.java:516)
> at org.milyn.Smooks.filterSource(Smooks.java:475)
> at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
> at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
> 1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
> 2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
> at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
> at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
> ... 13 more
> Caused by: [Error: value X]
> [Near : {... this.type = (com.redhat.sample ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
> ... 22 more
> Caused by: java.lang.IllegalArgumentException: value X
> at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
> at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
> ... 34 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load
by Tadayoshi Sato (JIRA)
[ https://issues.jboss.org/browse/JBESB-3961?page=com.atlassian.jira.plugin... ]
Tadayoshi Sato updated JBESB-3961:
----------------------------------
Summary: SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load (was: SmooksAction with XML-to-Java enum mapping throws an exception under heavy load)
> SmooksAction with XML-to-Java enum mapping may throw an exception under heavy load
> ----------------------------------------------------------------------------------
>
> Key: JBESB-3961
> URL: https://issues.jboss.org/browse/JBESB-3961
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Labels: smooks
> Attachments: JBESB-3961-reproducer.zip
>
>
> Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
> {code}
> org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
> at org.milyn.Smooks._filter(Smooks.java:516)
> at org.milyn.Smooks.filterSource(Smooks.java:475)
> at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
> at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
> 1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
> 2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
> at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
> at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
> ... 13 more
> Caused by: [Error: value X]
> [Near : {... this.type = (com.redhat.sample ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
> ... 22 more
> Caused by: java.lang.IllegalArgumentException: value X
> at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
> at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
> ... 34 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
by Tadayoshi Sato (JIRA)
[ https://issues.jboss.org/browse/JBESB-3961?page=com.atlassian.jira.plugin... ]
Tadayoshi Sato edited comment on JBESB-3961 at 11/28/13 11:42 PM:
------------------------------------------------------------------
This reproduer uses [Gatling|http://gatling-tool.org/] stress tool and runs 300 requests per second for 1 minute. In my environment, it always reproduces the issue in the first run.
Note that it requires huge thread resources so you may need to tune JBoss ESB server before running the reproducer. In my environment (Fedora 19), I've done the following performance tuning to run it:
- {{JAVA_OPTS="-Xms2048m -Xmx2048m -Xss256k ..."}} in {{bin/run.conf}}
- Configured HTTP/1.1 Connector's {{maxThreads}} to {{4096}} in {{$PROFILE/deploy/jbossweb.sar/server.xml}}
- {{ulimit -s 1024}}
was (Author: tadayosi):
This reproduer uses [Gatling|http://gatling-tool.org/] stress tool and runs 300 requests per second for 1 minute. In my environment, it always reproduces the issue in the first run.
Note that it requires huge thread resources so you may need to tune JBoss ESB server before running the reproducer. In my environment, I've done the following performance tuning to run it:
- {{JAVA_OPTS="-Xms2048m -Xmx2048m -Xss256k ..."}} in {{bin/run.conf}}
- Configured HTTP/1.1 Connector's {{maxThreads}} to {{4096}} in {{$PROFILE/deploy/jbossweb.sar/server.xml}}
- {{ulimit -s 1024}}
> SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
> -------------------------------------------------------------------------------
>
> Key: JBESB-3961
> URL: https://issues.jboss.org/browse/JBESB-3961
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Labels: smooks
> Attachments: JBESB-3961-reproducer.zip
>
>
> Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
> {code}
> org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
> at org.milyn.Smooks._filter(Smooks.java:516)
> at org.milyn.Smooks.filterSource(Smooks.java:475)
> at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
> at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
> 1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
> 2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
> at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
> at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
> ... 13 more
> Caused by: [Error: value X]
> [Near : {... this.type = (com.redhat.sample ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
> ... 22 more
> Caused by: java.lang.IllegalArgumentException: value X
> at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
> at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
> ... 34 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
by Tadayoshi Sato (JIRA)
[ https://issues.jboss.org/browse/JBESB-3961?page=com.atlassian.jira.plugin... ]
Tadayoshi Sato updated JBESB-3961:
----------------------------------
Attachment: JBESB-3961-reproducer.zip
This reproduer uses [Gatling|http://gatling-tool.org/] stress tool and runs 300 requests per second for 1 minute. In my environment, it always reproduces the issue in the first run.
Note that it requires huge thread resources so you may need to tune JBoss ESB server before running the reproducer. In my environment, I've done the following performance tuning to run it:
- {{JAVA_OPTS="-Xms2048m -Xmx2048m -Xss256k ..."}} in {{bin/run.conf}}
- Configured HTTP/1.1 Connector's {{maxThreads}} to {{4096}} in {{$PROFILE/deploy/jbossweb.sar/server.xml}}
- {{ulimit -s 1024}}
> SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
> -------------------------------------------------------------------------------
>
> Key: JBESB-3961
> URL: https://issues.jboss.org/browse/JBESB-3961
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Labels: smooks
> Attachments: JBESB-3961-reproducer.zip
>
>
> Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
> {code}
> org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
> at org.milyn.Smooks._filter(Smooks.java:516)
> at org.milyn.Smooks.filterSource(Smooks.java:475)
> at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
> at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
> 1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
> 2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
> at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
> at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
> ... 13 more
> Caused by: [Error: value X]
> [Near : {... this.type = (com.redhat.sample ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
> ... 22 more
> Caused by: java.lang.IllegalArgumentException: value X
> at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
> at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
> ... 34 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
by Tadayoshi Sato (JIRA)
Tadayoshi Sato created JBESB-3961:
-------------------------------------
Summary: SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
Key: JBESB-3961
URL: https://issues.jboss.org/browse/JBESB-3961
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Transformation Service
Affects Versions: 4.12
Reporter: Tadayoshi Sato
Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error occurs only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
{code}
org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
at org.milyn.Smooks._filter(Smooks.java:516)
at org.milyn.Smooks.filterSource(Smooks.java:475)
at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
... 13 more
Caused by: [Error: value X]
[Near : {... this.type = (com.redhat.sample ....}]
^
[Line: 1, Column: 1]
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
at org.mvel2.MVEL.executeExpression(MVEL.java:930)
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
... 22 more
Caused by: java.lang.IllegalArgumentException: value X
at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
... 34 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3961) SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
by Tadayoshi Sato (JIRA)
[ https://issues.jboss.org/browse/JBESB-3961?page=com.atlassian.jira.plugin... ]
Tadayoshi Sato updated JBESB-3961:
----------------------------------
Description:
Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
{code}
org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
at org.milyn.Smooks._filter(Smooks.java:516)
at org.milyn.Smooks.filterSource(Smooks.java:475)
at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
... 13 more
Caused by: [Error: value X]
[Near : {... this.type = (com.redhat.sample ....}]
^
[Line: 1, Column: 1]
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
at org.mvel2.MVEL.executeExpression(MVEL.java:930)
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
... 22 more
Caused by: java.lang.IllegalArgumentException: value X
at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
... 34 more
{code}
was:
Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error occurs only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
{code}
org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
at org.milyn.Smooks._filter(Smooks.java:516)
at org.milyn.Smooks.filterSource(Smooks.java:475)
at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
... 13 more
Caused by: [Error: value X]
[Near : {... this.type = (com.redhat.sample ....}]
^
[Line: 1, Column: 1]
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
at org.mvel2.MVEL.executeExpression(MVEL.java:930)
at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
... 22 more
Caused by: java.lang.IllegalArgumentException: value X
at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
... 34 more
{code}
> SmooksAction with XML-to-Java enum mapping throws an exception under heavy load
> -------------------------------------------------------------------------------
>
> Key: JBESB-3961
> URL: https://issues.jboss.org/browse/JBESB-3961
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Transformation Service
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Labels: smooks
>
> Under heavy load (more that 10 requests per second), SmooksAction sometimes throws an exception like the following. Note that this error may occur only if SmooksAction has the Smooks config of XML-to-Java mapping which involves enum type mapping with default value specified (see attached reproducer project).
> {code}
> org.milyn.SmooksException: Unable to filter InputStream for target profile [org.milyn.profile.Profile#default_profile].
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:294)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:243)
> at org.milyn.delivery.dom.SmooksDOMFilter.doFilter(SmooksDOMFilter.java:216)
> at org.milyn.Smooks._filter(Smooks.java:516)
> at org.milyn.Smooks.filterSource(Smooks.java:475)
> at org.milyn.container.plugin.PayloadProcessor.process(PayloadProcessor.java:112)
> at org.jboss.soa.esb.smooks.SmooksAction.process(SmooksAction.java:217)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.milyn.expression.ExpressionEvaluationException: Error evaluating MVEL expression 'this.type = (com.redhat.samples.esb.model.Type.X);' against object type 'com.redhat.samples.esb.model.Hello'. Common issues include:
> 1. Referencing a variable that is not bound into the context. In this case use the 'isdef' operator to check if the variable is bound in the context.
> 2. Invalid expression reference to a List/Array based variable token. Example List/Array referencing expression token: 'order.orderItems[0].productId'.
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:110)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:115)
> at org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:269)
> at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:210)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.processMapping(SmooksDOMFilter.java:759)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.process(SmooksDOMFilter.java:710)
> at org.milyn.delivery.dom.SmooksDOMFilter$ElementProcessor.access$000(SmooksDOMFilter.java:666)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:385)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:317)
> at org.milyn.delivery.dom.SmooksDOMFilter.filter(SmooksDOMFilter.java:292)
> ... 13 more
> Caused by: [Error: value X]
> [Near : {... this.type = (com.redhat.sample ....}]
> ^
> [Line: 1, Column: 1]
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:883)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:243)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.optimize(DynamicGetAccessor.java:90)
> at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:64)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.DeepAssignmentNode.getReducedValueAccelerated(DeepAssignmentNode.java:92)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:126)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.milyn.expression.MVELExpressionEvaluator.exec(MVELExpressionEvaluator.java:99)
> ... 22 more
> Caused by: java.lang.IllegalArgumentException: value X
> at org.mvel2.asm.ClassWriter.newConstItem(ClassWriter.java:906)
> at org.mvel2.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1014)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.getBeanProperty(ASMAccessorOptimizer.java:1229)
> at org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:758)
> ... 34 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 12 months
[JBoss JIRA] (JBESB-3954) HTTP Gateway and SOAPProcessor combination fails to handle MTOM messages
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/JBESB-3954?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on JBESB-3954:
------------------------------------------------
nwallace <nwallace(a)redhat.com> changed the Status of [bug 1014959|https://bugzilla.redhat.com/show_bug.cgi?id=1014959] from MODIFIED to ON_QA
> HTTP Gateway and SOAPProcessor combination fails to handle MTOM messages
> ------------------------------------------------------------------------
>
> Key: JBESB-3954
> URL: https://issues.jboss.org/browse/JBESB-3954
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Rosetta, Web Services
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Assignee: Tadayoshi Sato
> Fix For: 4.11 CP3
>
> Attachments: reproducer.zip
>
>
> The combination of JBR Gateway and SOAPProcessor can handle MTOM messages well as demonstrated by the {{webservice_mtom}} quickstart. However, if you substitute the JBR Gateway ({{<jbr-listener>}}) with HTTP Gateway ({{<http-gateway>}}), it fails to handle MTOM with the following error thrown from the target web service endpoint:
> {code}
> 2013-10-01 18:25:16,174 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (pool-25-thread-1) Interceptor for {http://ws.esb.samples.redhat.com/}MTOMService has thrown exception, unwinding now
> org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:230)
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
> at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
> at org.jboss.wsf.stack.cxf.ServletControllerExt.invoke(ServletControllerExt.java:173)
> at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:61)
> at org.jboss.soa.esb.actions.soap.SOAPProcessor.process(SOAPProcessor.java:212)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected '<'
> at [row,col {unknown-source}]: [1,1]
> at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:648)
> at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2047)
> at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
> at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1095)
> at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
> ... 15 more
> {code}
> While the above error stacktrace is specific to JBossWS-CXF, the same issue can be reproduced on JBossWS-Native, too.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (JBESB-3955) SoapUI SOAPClient doesn't pick up HttpClient properties if "wsdl" specifies local file ("file://...")
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/JBESB-3955?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on JBESB-3955:
------------------------------------------------
nwallace <nwallace(a)redhat.com> changed the Status of [bug 1000866|https://bugzilla.redhat.com/show_bug.cgi?id=1000866] from MODIFIED to ON_QA
> SoapUI SOAPClient doesn't pick up HttpClient properties if "wsdl" specifies local file ("file://...")
> -----------------------------------------------------------------------------------------------------
>
> Key: JBESB-3955
> URL: https://issues.jboss.org/browse/JBESB-3955
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Web Services
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Assignee: Tom Cunningham
> Fix For: 4.11 CP3
>
>
> In the soapUI version of {{SOAPClient}}, when hosting a WSDL locally (i.e. {{"file://...")}}, the Apache HttpClient which is used in {{SOAPClient}} does not pick up the proxy server settings:
> {code:xml}
> <action name="soapui-client-action" class="org.jboss.soa.esb.actions.soap.SOAPClient">
> <property name="wsdl" value="file:///opt/jboss-soa-p-5.3.1/jboss-as/samples/quickstarts/webservice_consumer1/HelloWorldWS.wsdl" />
> <property name="http-client-properties">
> <http-client-property name="http.proxyHost" value="192.168.0.101"/>
> <http-client-property name="http.proxyPort" value="18080"/>
> </property>
> ...
> </action>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (JBESB-3947) SoapUI SOAPClient doesn't pick up HttpClient properties if "wsdl" specifies local file ("file://...")
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/JBESB-3947?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on JBESB-3947:
------------------------------------------------
nwallace <nwallace(a)redhat.com> changed the Status of [bug 1000866|https://bugzilla.redhat.com/show_bug.cgi?id=1000866] from MODIFIED to ON_QA
> SoapUI SOAPClient doesn't pick up HttpClient properties if "wsdl" specifies local file ("file://...")
> -----------------------------------------------------------------------------------------------------
>
> Key: JBESB-3947
> URL: https://issues.jboss.org/browse/JBESB-3947
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Web Services
> Affects Versions: 4.12
> Reporter: Tadayoshi Sato
> Assignee: Tadayoshi Sato
> Fix For: 4.13
>
>
> In the soapUI version of {{SOAPClient}}, when hosting a WSDL locally (i.e. {{"file://...")}}, the Apache HttpClient which is used in {{SOAPClient}} does not pick up the proxy server settings:
> {code:xml}
> <action name="soapui-client-action" class="org.jboss.soa.esb.actions.soap.SOAPClient">
> <property name="wsdl" value="file:///opt/jboss-soa-p-5.3.1/jboss-as/samples/quickstarts/webservice_consumer1/HelloWorldWS.wsdl" />
> <property name="http-client-properties">
> <http-client-property name="http.proxyHost" value="192.168.0.101"/>
> <http-client-property name="http.proxyPort" value="18080"/>
> </property>
> ...
> </action>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years