ServiceMix
  1. ServiceMix
  2. SM-229

SubscriptionFilter gives a StackOverflowError

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 3.0-M1
    • Fix Version/s: 3.0-M1
    • Component/s: servicemix-core
    • Labels:
      None

      Description

      This is the component that contains the filter:

      <sm:activationSpec componentName="ng:sender"
      service="ng:sender" failIfNoDestinationEndpoint="false">
      <sm:component>
      <bean
      class="com.neogrid.integrator.components.OutputSender" />
      </sm:component>
      <sm:subscriptions>
      <sm:subscriptionSpec service="ng:identifier">
      <sm:filter><bean class="com.neogrid.integrator.components.identifier.WhenFilter"/></sm:filter>
      </sm:subscriptionSpec>
      </sm:subscriptions>
      </sm:activationSpec>

      The filter only returns "true".

      The full stack trace is in http://rafb.net/paste/results/ndZqjM23.html

      1. ASF.LICENSE.NOT.GRANTED--PubSubTest.java
        3 kB
        George Gastaldi
      2. ASF.LICENSE.NOT.GRANTED--fullstacktrace.txt
        88 kB
        George Gastaldi
      3. ASF.LICENSE.NOT.GRANTED--stack.txt
        14 kB
        George Gastaldi

        Activity

        Hide
        George Gastaldi added a comment -

        Thread.dumpStack() called on Filter. The stack gets bigger on each call

        Show
        George Gastaldi added a comment - Thread.dumpStack() called on Filter. The stack gets bigger on each call
        Hide
        George Gastaldi added a comment -

        This is the full stack trace of the stack overflow error

        Show
        George Gastaldi added a comment - This is the full stack trace of the stack overflow error
        Hide
        George Gastaldi added a comment -

        The Error occurs because of the XsltComponent. There is a bug that causes the StackOverflow Exception.

        Attached is a Test Case that reproduces the problem

        Show
        George Gastaldi added a comment - The Error occurs because of the XsltComponent. There is a bug that causes the StackOverflow Exception. Attached is a Test Case that reproduces the problem
        Hide
        George Gastaldi added a comment -

        Using a SubscriptionFilter in an sm:activationSpec does not mean that this filter will work for a single component, but for the whole system. SubscriptionManager should be changed to allow filtering of subscribed components as specified on the configuration file using nested tags of subscriptionSpec + subscriptionFilter

        Show
        George Gastaldi added a comment - Using a SubscriptionFilter in an sm:activationSpec does not mean that this filter will work for a single component, but for the whole system. SubscriptionManager should be changed to allow filtering of subscribed components as specified on the configuration file using nested tags of subscriptionSpec + subscriptionFilter
        Hide
        Guillaume Nodet added a comment -

        Filtering is now applied after default filtering on service name / interface name

        Show
        Guillaume Nodet added a comment - Filtering is now applied after default filtering on service name / interface name
        Hide
        George Gastaldi added a comment -

        Fixed

        Show
        George Gastaldi added a comment - Fixed

          People

          • Assignee:
            Guillaume Nodet
            Reporter:
            George Gastaldi
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development