Uploaded image for project: 'Mule'
  1. Mule
  2. MULE-8638

[Regression] NPE when filter fails

    Details

    • Severity:
      S1
    • Story Points:
      8
    • Configuration:
      Hide
      <?xml version="1.0" encoding="UTF-8"?>
      
      <mule xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:cluster="http://www.mulesoft.org/schema/mule/ee/cluster" xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting" xmlns:db="http://www.mulesoft.org/schema/mule/db" xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
          xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.7.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
      http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
      http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
      http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd
      http://www.mulesoft.org/schema/mule/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd
      http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd
      http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd">
          <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8090" doc:name="HTTP Listener Configuration"/>
          <flow name="test-non-blockingFlow">
              <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
              <set-payload value="OK" doc:name="Set Payload"/>
              <flow-ref name="filteringSubflow" doc:name="filteringSubflow"/>
          </flow>
          <sub-flow name="filteringSubflow">
              <not-filter doc:name="Not">
                  <expression-filter expression="#[true]" doc:name="Expression"/>
              </not-filter>
          </sub-flow>
      </mule>
      
      Show
      <?xml version= "1.0" encoding= "UTF-8" ?> <mule xmlns:mulexml = "http://www.mulesoft.org/schema/mule/xml" xmlns:cluster = "http://www.mulesoft.org/schema/mule/ee/cluster" xmlns:scripting = "http://www.mulesoft.org/schema/mule/scripting" xmlns:db = "http://www.mulesoft.org/schema/mule/db" xmlns:tracking = "http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:http = "http://www.mulesoft.org/schema/mule/http" xmlns= "http://www.mulesoft.org/schema/mule/core" xmlns:doc = "http://www.mulesoft.org/schema/mule/documentation" xmlns:spring = "http://www.springframework.org/schema/beans" version= "EE-3.7.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd http://www.mulesoft.org/schema/mule/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd"> <http:listener-config name= "HTTP_Listener_Configuration" host= "0.0.0.0" port= "8090" doc:name= "HTTP Listener Configuration" /> <flow name= "test-non-blockingFlow" > <http:listener config-ref= "HTTP_Listener_Configuration" path= "/" doc:name= "HTTP" /> <set-payload value= "OK" doc:name= "Set Payload" /> <flow-ref name= "filteringSubflow" doc:name= "filteringSubflow" /> </flow> <sub-flow name= "filteringSubflow" > <not-filter doc:name= "Not" > <expression-filter expression= "#[true]" doc:name= "Expression" /> </not-filter> </sub-flow> </mule>
    • Log Output:
      Hide
      ==> /opt/mule-standalone-3.7.0-SNAPSHOT/logs/mule-app-test-non-blocking.log <==
      WARN 2015-05-22 16:43:38,527 [[test-non-blocking].HTTP_Listener_Configuration.worker.01] org.mule.execution.AsyncResponseFlowProcessingPhase: Could not fire notification. Action: 805
      java.lang.NullPointerException
      at org.mule.execution.AsyncResponseFlowProcessingPhase.fireNotification(AsyncResponseFlowProcessingPhase.java:101) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.execution.AsyncResponseFlowProcessingPhase.runPhase(AsyncResponseFlowProcessingPhase.java:82) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.execution.AsyncResponseFlowProcessingPhase.runPhase(AsyncResponseFlowProcessingPhase.java:38) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.execution.PhaseExecutionEngine$InternalPhaseExecutionEngine.process(PhaseExecutionEngine.java:114) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.execution.PhaseExecutionEngine.process(PhaseExecutionEngine.java:41) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.execution.MuleMessageProcessingManager.processMessage(MuleMessageProcessingManager.java:32) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.module.http.internal.listener.DefaultHttpListener$1.handleRequest(DefaultHttpListener.java:126) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.module.http.internal.listener.grizzly.GrizzlyRequestDispatcherFilter.handleRead(GrizzlyRequestDispatcherFilter.java:83) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) ~[grizzly-framework-2.3.20.jar:2.3.20]
      at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.run0(ExecutorPerServerAddressIOStrategy.java:102) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.access$100(ExecutorPerServerAddressIOStrategy.java:30) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy$WorkerThreadRunnable.run(ExecutorPerServerAddressIOStrategy.java:125) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_51]
      at java.lang.Thread.run(Thread.java:744) [?:1.7.0_51]
      Show
      ==> /opt/mule-standalone-3.7.0-SNAPSHOT/logs/mule-app-test-non-blocking.log <== WARN 2015-05-22 16:43:38,527 [[test-non-blocking].HTTP_Listener_Configuration.worker.01] org.mule.execution.AsyncResponseFlowProcessingPhase: Could not fire notification. Action: 805 java.lang.NullPointerException at org.mule.execution.AsyncResponseFlowProcessingPhase.fireNotification(AsyncResponseFlowProcessingPhase.java:101) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.execution.AsyncResponseFlowProcessingPhase.runPhase(AsyncResponseFlowProcessingPhase.java:82) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.execution.AsyncResponseFlowProcessingPhase.runPhase(AsyncResponseFlowProcessingPhase.java:38) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.execution.PhaseExecutionEngine$InternalPhaseExecutionEngine.process(PhaseExecutionEngine.java:114) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.execution.PhaseExecutionEngine.process(PhaseExecutionEngine.java:41) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.execution.MuleMessageProcessingManager.processMessage(MuleMessageProcessingManager.java:32) ~[mule-core-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.module.http.internal.listener.DefaultHttpListener$1.handleRequest(DefaultHttpListener.java:126) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.module.http.internal.listener.grizzly.GrizzlyRequestDispatcherFilter.handleRead(GrizzlyRequestDispatcherFilter.java:83) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) ~[grizzly-framework-2.3.20.jar:2.3.20] at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.run0(ExecutorPerServerAddressIOStrategy.java:102) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy.access$100(ExecutorPerServerAddressIOStrategy.java:30) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at org.mule.module.http.internal.listener.grizzly.ExecutorPerServerAddressIOStrategy$WorkerThreadRunnable.run(ExecutorPerServerAddressIOStrategy.java:125) ~[mule-module-http-3.7.0-SNAPSHOT.jar:3.7.0-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_51] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_51] at java.lang.Thread.run(Thread.java:744) [?:1.7.0_51]
    • Sprint:
      ESB K2 3

      Description

      When a filter evaluation fails message is discarded but a NPE is shown in app log.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              marcosnc Marcos Nunez Cortes [X] (Inactive)
              Reporter:
              alejandro.sequeira Alejandro Sequeira [X] (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  PagerDuty