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

NullPointerException when securing SSL JMX access in Fuse

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • fuse-6.x-GA
    • jboss-fuse-6.3
    • Karaf
    • % %
    • Hide

      Follow all the steps from chapter 2.4. Enabling Remote JMX SSL in the JBoss Fuse Fuse Security Guide.

      Then restart the Karaf container and watch the log file for mentioned exception.

      Show
      Follow all the steps from chapter 2.4. Enabling Remote JMX SSL in the JBoss Fuse Fuse Security Guide. Then restart the Karaf container and watch the log file for mentioned exception.

    Description

      Following the Fuse Security Guide chapter 2.4. Enabling Remote JMX SSL and restarting the Karaf container, it raises the error

      12:02:18,505 | INFO  | FelixStartLevel  | OsgiKeystoreManager              | 23 - org.apache.karaf.jaas.config - 2.4.0.redhat-630310 | Keystore jmxKeyStore not found
      12:02:18,506 | INFO  | FelixStartLevel  | ConnectorServerFactory           | 45 - org.apache.karaf.management.server - 2.4.0.redhat-630310 | Can't init JMXConnectorServer with SSL enabled: Unable to lookup configured keystore and/or truststore
      12:02:18,552 | ERROR | FelixStartLevel  | tServiceReferenceRecipe$Listener | 22 - org.apache.aries.blueprint.core - 1.8.0 | Error calling listener method public void org.apache.karaf.management.ConnectorServerFactory.unregister(org.apache.karaf.jaas.config.KeystoreInstance,java.util.Map)
      java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_80]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_80]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_80]
              at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_80]
              at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.invokeMethods(AbstractServiceReferenceRecipe.java:588)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$Listener.unbind(AbstractServiceReferenceRecipe.java:557)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.unbind(AbstractServiceReferenceRecipe.java:458)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.updateListeners(AbstractServiceReferenceRecipe.java:438)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.ReferenceListRecipe.internalCreate(ReferenceListRecipe.java:78)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[22:org.apache.aries.blueprint.core:1.8.0]
              at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_80]
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:725)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:412)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:277)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[22:org.apache.aries.blueprint.core:1.8.0]
              at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
              at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
              at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
              at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
              at org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
              at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)[org.apache.felix.framework-4.4.1.jar:]
              at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.4.1.jar:]
              at java.lang.Thread.run(Thread.java:745)[:1.7.0_80]
      Caused by: java.lang.NullPointerException
              at org.apache.karaf.management.ConnectorServerFactory.unregister(ConnectorServerFactory.java:405)
              ... 35 more
      

      Apart from the error and a big call stack, everything seems to be working fine. JMX access is SSL enabled and JMX clients can connect securely.

      However, can we get rid of the big exception with its call stack? It causes confusion as to whether the container starts up correctly.

      Attachments

        Issue Links

          Activity

            People

              acosenti Andrea Cosentino
              rhn-support-tmielke Torsten Mielke
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: