Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-12704

Fabric gateway hangs, when receiving URL with invalid characters

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • None
    • jboss-fuse-6.3
    • Fabric8 v1
    • None
    • % %
    • +
    • Hide

      Steps to reproduce from scratch:

      A) Unzip last Fuse 6.3.0 media 'jboss-fuse-karaf-6.3.0.redhat-424.zip'
      B) Install quickstart

      1. cd $FUSE_HOME
      2. cd quickstarts/cxf/rest
      3. mvn install

      C) Set up a fresh instance of jboss fuse 6.3.0 with both an http gateway container and another separate container running this cxf quickstart bundle

      1. Uncomment 'admin' user from 'etc/users.properties' (not really needed I guess)
      2. Start via 'bin/fuse'
      3. fabric:create --wait-for-provisioning --manual-ip localhost --resolver manualip --zookeeper-password admin
      4. container-create-child --profile gateway-http root gateway
      5. container-create-child --profile feature-cxf root test
      7. container-connect test
      8. osgi:install -s mvn:org.jboss.quickstarts.fuse/cxf-rest/6.3.0.redhat-424

      D) Invoke web service with illegal parameters

      $ curl "http://localhost:9000/cxf/crm/customerservice/customers/123?foo=bar|baz"

      The request to the gateway url results in exceptions on the gateway container and the request, from the perspective of the client, hangs indefinitely.

      Check gateway container logs under 'instances/gateway/data/log/fuse.log'.

      Show
      Steps to reproduce from scratch: A) Unzip last Fuse 6.3.0 media 'jboss-fuse-karaf-6.3.0.redhat-424.zip' B) Install quickstart 1. cd $FUSE_HOME 2. cd quickstarts/cxf/rest 3. mvn install C) Set up a fresh instance of jboss fuse 6.3.0 with both an http gateway container and another separate container running this cxf quickstart bundle 1. Uncomment 'admin' user from 'etc/users.properties' (not really needed I guess) 2. Start via 'bin/fuse' 3. fabric:create --wait-for-provisioning --manual-ip localhost --resolver manualip --zookeeper-password admin 4. container-create-child --profile gateway-http root gateway 5. container-create-child --profile feature-cxf root test 7. container-connect test 8. osgi:install -s mvn:org.jboss.quickstarts.fuse/cxf-rest/6.3.0.redhat-424 D) Invoke web service with illegal parameters $ curl "http://localhost:9000/cxf/crm/customerservice/customers/123?foo=bar|baz" The request to the gateway url results in exceptions on the gateway container and the request, from the perspective of the client, hangs indefinitely. Check gateway container logs under 'instances/gateway/data/log/fuse.log'.

      When sending an URL with some invalid characters to a fabric gateway, the gateway container logs a NullPointerException, and the client hangs

      Please see attached "NPE-gateway.txt" file, for the full exception stack trace

      If the same URL is sent directly to the container that host the web service presented by the gateway, the client gets a response

      Sample client and URL used:

      $ curl "http://localhost:8183/cxf/crm/customerservice/customers/123?foo=bar|baz"

      Probably the same behavior could happen with other special characters

        1. NPE-gateway.txt
          32 kB
          Alfredo Narvaez

              yfang@redhat.com Freeman(Yue) Fang
              rhn-support-anarvaez Alfredo Narvaez
              Vratislav Hais Vratislav Hais (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: