[JBoss JIRA] (WFLY-4406) Undertow which uses ECJ 4.4.1 Compiler crash with ArrayIndexOutOfBoundsException when there is unused double or long
by Radim Hatlapatka (JIRA)
[ https://issues.jboss.org/browse/WFLY-4406?page=com.atlassian.jira.plugin.... ]
Radim Hatlapatka commented on WFLY-4406:
----------------------------------------
I have created PR [https://github.com/wildfly/wildfly/pull/7230] with test and update of ecj from 4.4.1 to 4.4.2
> Undertow which uses ECJ 4.4.1 Compiler crash with ArrayIndexOutOfBoundsException when there is unused double or long
> --------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-4406
> URL: https://issues.jboss.org/browse/WFLY-4406
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Reporter: Radim Hatlapatka
> Assignee: Stuart Douglas
>
> ECJ compiler crashes with ArrayIndexOutOfBoundsException when it contains unused long or double, for details see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=448112].
> Note: this issue is fixed in ECJ 4.4.2.
> The error log:
> {noformat}
> 11:19:49,861 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /jsp-cast-to-double-test/cast-to-double.jsp: org.apache.jasper.JasperException: JBWEB004001: Unable to compile class for JSP
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:616)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)
> at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
> at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
> at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
> at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:769)
> 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:745)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
> at org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:92)
> at org.eclipse.jdt.internal.compiler.ClassFile.traverse(ClassFile.java:5546)
> at org.eclipse.jdt.internal.compiler.ClassFile.generateStackMapTableAttribute(ClassFile.java:4305)
> at org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttribute(ClassFile.java:1380)
> at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:338)
> at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:270)
> at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:566)
> at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:635)
> at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:368)
> at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:781)
> at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:470)
> at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:449)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:326)
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:604)
> ... 32 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (WFLY-4406) Undertow which uses ECJ 4.4.1 Compiler crash with ArrayIndexOutOfBoundsException when there is unused double or long
by Radim Hatlapatka (JIRA)
[ https://issues.jboss.org/browse/WFLY-4406?page=com.atlassian.jira.plugin.... ]
Radim Hatlapatka updated WFLY-4406:
-----------------------------------
Git Pull Request: https://github.com/wildfly/wildfly/pull/7230
> Undertow which uses ECJ 4.4.1 Compiler crash with ArrayIndexOutOfBoundsException when there is unused double or long
> --------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-4406
> URL: https://issues.jboss.org/browse/WFLY-4406
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Reporter: Radim Hatlapatka
> Assignee: Stuart Douglas
>
> ECJ compiler crashes with ArrayIndexOutOfBoundsException when it contains unused long or double, for details see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=448112].
> Note: this issue is fixed in ECJ 4.4.2.
> The error log:
> {noformat}
> 11:19:49,861 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /jsp-cast-to-double-test/cast-to-double.jsp: org.apache.jasper.JasperException: JBWEB004001: Unable to compile class for JSP
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:616)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86)
> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
> at io.undertow.jsp.JspFileHandler.handleRequest(JspFileHandler.java:32)
> at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
> at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
> at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
> at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
> at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
> at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
> at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
> at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:769)
> 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:745)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
> at org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:92)
> at org.eclipse.jdt.internal.compiler.ClassFile.traverse(ClassFile.java:5546)
> at org.eclipse.jdt.internal.compiler.ClassFile.generateStackMapTableAttribute(ClassFile.java:4305)
> at org.eclipse.jdt.internal.compiler.ClassFile.completeCodeAttribute(ClassFile.java:1380)
> at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:338)
> at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:270)
> at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:566)
> at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:635)
> at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:368)
> at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:781)
> at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:470)
> at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:449)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:326)
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:604)
> ... 32 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (DROOLS-694) accumulate with sliding window and other LHS condition
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-694?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-694:
------------------------------------------------
Marek Winkler <mwinkler(a)redhat.com> changed the Status of [bug 1190923|https://bugzilla.redhat.com/show_bug.cgi?id=1190923] from ON_QA to VERIFIED
> accumulate with sliding window and other LHS condition
> ------------------------------------------------------
>
> Key: DROOLS-694
> URL: https://issues.jboss.org/browse/DROOLS-694
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.1.0.Final, 6.2.0.CR4
> Environment: fail with PHREAK, work correctly as expected with RETEOO
> Reporter: Matteo Mortari
> Assignee: Mario Fusco
> Fix For: 6.2.0.Final
>
> Attachments: 20150121.accumulate-window-counter.zip
>
>
> With reference to attached reproducer.
> Assuming the following KB, where to goal is to keep a {{Counter}} fact for the amount of {{Measurement}} events received in the last hour.
> {code:java}
> declare Measurement
> @role(event)
> end
> rule "Init Counter last 1h"
> agenda-group "USERSPACE"
> salience 1
> no-loop
> when
> not Counter( name == "Counter last 1h" )
> then
> Counter c = new Counter("Counter last 1h", 0);
> insert(c);
> System.out.println("RHS Init Counter last 1h " + c);
> end
> rule "Update Counter last 1h"
> agenda-group "USERSPACE"
> no-loop
> when
> accumulate( $token : Measurement() over window:time( 1h ) ;
> $val : count($token)
> )
> $cv1 : Counter( name == "Counter last 1h", value != $val.doubleValue() )
> then
> int count = $val.intValue();
> $cv1.setValue(count);
> update($cv1);
> System.out.println("RHS Update Counter last 1h : "+$cv1);
> end
> {code}
> The following Unit test shall have the effect in the end to obtain value 2.0 in the {{Counter}} object, as I've inserted 2 {{MEasurement}} within the last hour and within two minutes
> {code:java}
> advance(clock, 1, TimeUnit.MINUTES);
> insert(session, new Measurement("voltage", "220"));
> fire(session);
> advance(clock, 1, TimeUnit.MINUTES);
> insert(session, new Measurement("voltage", "221"));
> fire(session);
> LOG.info("Final checks");
> Counter counter = (Counter) session.getObjects(counterFilter).iterator().next(); // I'm taking a shortcut as for this reproducer I know there is only 1 Counter in WM
> assertEquals("I've inserted 2 Measurement within the hour ", 2, counter.getValue(), 0);
> {code}
> However this works only with ReteOO and the test FAILS with Phreak.
> Can you kindly advise, please?
> Thank you
> MM
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (DROOLS-707) NullPointer when changing order of the rules
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-707?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-707:
------------------------------------------------
Ryan Zhang <rzhang(a)redhat.com> changed the Status of [bug 1192054|https://bugzilla.redhat.com/show_bug.cgi?id=1192054] from MODIFIED to ON_QA
> NullPointer when changing order of the rules
> --------------------------------------------
>
> Key: DROOLS-707
> URL: https://issues.jboss.org/browse/DROOLS-707
> Project: Drools
> Issue Type: Bug
> Affects Versions: 5.5.0.Final, 5.6.0.Final, 6.0.0.Final, 6.0.1.Final, 6.1.0.Final, 6.2.0.CR4
> Reporter: Francesco Peloi
> Assignee: Mario Fusco
> Fix For: 6.2.0.Final
>
>
> Hi there,
> we are having some serious issues with some rules, they are throwing a NullPointerException and we don't understand why. I have tried to narrow down the problem to the smallest rule possible, now this rule doesn't really make much sense put like this but the real rule is more complex with more constraints. At the end the result is the same: a NPE.
> I have tried it with many Drools versions from 5.x to latest 6.3.0-SNAPSHOT.
> I tested this in isolation with the minimum amount of code possible, and attached it as well if someone wants to try it quickly.
> Note that if line 2 of the when:
> $a : Integer()
> is moved as first line, the rule runs ok.
> Please find the reproducer here: https://groups.google.com/forum/#!topic/drools-usage/-oNqu3l4cqE
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (DROOLS-718) Reloading KJAR which contains DSL and RDSLR via KieScanner fails.
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-718?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-718:
------------------------------------------------
Ryan Zhang <rzhang(a)redhat.com> changed the Status of [bug 1195125|https://bugzilla.redhat.com/show_bug.cgi?id=1195125] from MODIFIED to ON_QA
> Reloading KJAR which contains DSL and RDSLR via KieScanner fails.
> -----------------------------------------------------------------
>
> Key: DROOLS-718
> URL: https://issues.jboss.org/browse/DROOLS-718
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.2.0.CR4
> Environment: Mac OS X 10.10.2, Oracle HotSpot 1.7.0_71
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
>
> When using the KieScanner to reload a KJAR with a DSL and RDSLR, reloading fails due to that the compiler is unable to find mappings for the language in the RDSLR.
> This is the error I get in my reproducer:
> 2015-02-18 00:45:02,764 [ERROR] [main] [org.drools.compiler.kie.builder.impl.KieContainerImpl] ERROR Unable to update KieBase: KBase1 to release org.kie:scanner-test:1.0-SNAPSHOT
> [7] No mapping entries for expanding: There is a SimpleFact
> [7] Unable to expand: There is a SimpleFact
> [8] No mapping entries for expanding: -with id "2"
> [8] Unable to expand: -with id "2"
> [10] No mapping entries for expanding: Print "Found a simple fact with id 2."
> [10] Unable to expand: Print "Found a simple fact with id 2."
> [7,7]: [ERR 102] Line 7:7 mismatched input 'is' in rule "bla"
> Reproducer project can be found here: https://github.com/DuncanDoyle/brms-kjar-with-dsl-kiescanner
> Just clone the repo and run 'mvn clean test'.
> Note that the reproducer creates the first KJAR, runs test, and then creates the second KJAR. Compilation of the second KJAR fails. When you alter the test to only load the second KJAR, everything works fine.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (ELY-163) Review Base64
by Darran Lofthouse (JIRA)
Darran Lofthouse created ELY-163:
------------------------------------
Summary: Review Base64
Key: ELY-163
URL: https://issues.jboss.org/browse/ELY-163
Project: WildFly Elytron
Issue Type: Enhancement
Components: Utils
Reporter: Darran Lofthouse
Fix For: 1.0.0.Beta1
Now that we have switched to Java 8 we have some Base64 handling available from the JVM - can we make use of this and minimise out own implementation?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months
[JBoss JIRA] (ELY-162) Review HexConverter
by Darran Lofthouse (JIRA)
Darran Lofthouse created ELY-162:
------------------------------------
Summary: Review HexConverter
Key: ELY-162
URL: https://issues.jboss.org/browse/ELY-162
Project: WildFly Elytron
Issue Type: Enhancement
Components: API / SPI
Reporter: Darran Lofthouse
Fix For: 1.0.0.Alpha1
Firstly this should probably now live under 'org.wildfly.security.util' however should it be better integrated with the existing content here as really it is just an alternative base.
Additional control that may be desirable is selection of the alphabet, depending on the reason for the conversion specifying the case may be desirable.
Secondly there may be a desire to control formatting: -
- Option to prefix each pair with 0x
- Between each pair use a space as a delimiter.
- Between each pair use ':' as a delimiter.
After x number of pairs the option to insert a newline into the String.
This list is primarily about creating different presentation representations, being able to decode all these formats could be a nice to have but not essential.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
11 years, 4 months