glassfish
  1. glassfish
  2. GLASSFISH-20435

NullPointer exception in domain log on cluster or instance creation

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0_b86_RC2
    • Fix Version/s: 4.0_b87_RC3
    • Component/s: admin
    • Labels:
      None

      Description

      gf-transaction-cluster-devtest reports NPEs during "create-cluster" or "create-local-instance --cluster" call (the log reports various actions on different threads, and the instance log starts at 13:15:42.166-0700) for the 'selfrecovery' and 'autorecovery' tests in the transaction/ee suite. It doesn't happen in other tests.

      These are the DAS server.log fragments:

      1:

      [2013-04-29T13:15:36.997-0700] [glassfish 4.0] [INFO] [membership.snapshot.analysis] [ShoalLogger] [tid: _ThreadID=108 _ThreadName=GMS ViewWindowThread Group-c1] [timeMillis: 1367266536997] [levelValue: 800] [[
      GMS1016: Analyzing new membership snapshot received as part of event: JOINED_AND_READY_EVENT for member: server of group: c1]]

      [2013-04-29T13:15:37.424-0700] [glassfish 4.0] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=55 _ThreadName=pool-8-thread-1] [timeMillis: 1367266537424] [levelValue: 1000] [[
      Exception while processing config bean changes :
      java.lang.NullPointerException
      at java.lang.reflect.Proxy.getInvocationHandler(Proxy.java:656)
      at org.jvnet.hk2.config.ConfigSupport.getImpl(ConfigSupport.java:246)
      at com.sun.enterprise.v3.admin.listener.CombinedJavaConfigSystemPropertyListener$1.changed(CombinedJavaConfigSystemPropertyListener.java:249)
      at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:288)
      at com.sun.enterprise.v3.admin.listener.CombinedJavaConfigSystemPropertyListener.changed(CombinedJavaConfigSystemPropertyListener.java:195)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:400)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:390)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:280)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:278)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)
      ]]

      [2013-04-29T13:15:38.233-0700] [glassfish 4.0] [INFO] [NCLS-CLSTR-20001] [javax.enterprise.cluster.gms.bootstrap] [tid: _ThreadID=154 _ThreadName=pool-24-thread-1] [timeMillis: 1367266538233] [levelValue: 800] [[
      Adding instance in1 to health history table.]]

      2:
      [2013-04-29T13:18:07.273-0700] [glassfish 4.0] [INFO] [membership.snapshot.analysis] [ShoalLogger] [tid: _ThreadID=240 _ThreadName=GMS ViewWindowThread Group-c1] [timeMillis: 1367266687273] [levelValue: 800] [[
      GMS1016: Analyzing new membership snapshot received as part of event: JOINED_AND_READY_EVENT for member: server of group: c1]]

      [2013-04-29T13:18:08.084-0700] [glassfish 4.0] [SEVERE] [] [javax.enterprise.system.core] [tid: _ThreadID=234 _ThreadName=pool-49-thread-1] [timeMillis: 1367266688084] [levelValue: 1000] [[
      Exception while processing config bean changes :
      java.lang.NullPointerException
      at java.lang.reflect.Proxy.getInvocationHandler(Proxy.java:656)
      at org.jvnet.hk2.config.ConfigSupport.getImpl(ConfigSupport.java:246)
      at com.sun.enterprise.v3.admin.listener.CombinedJavaConfigSystemPropertyListener$1.changed(CombinedJavaConfigSystemPropertyListener.java:249)
      at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:288)
      at com.sun.enterprise.v3.admin.listener.CombinedJavaConfigSystemPropertyListener.changed(CombinedJavaConfigSystemPropertyListener.java:195)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:400)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:390)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:280)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:278)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)
      ]]

      [2013-04-29T13:18:08.784-0700] [glassfish 4.0] [INFO] [NCLS-CLSTR-20001] [javax.enterprise.cluster.gms.bootstrap] [tid: _ThreadID=220 _ThreadName=pool-43-thread-1] [timeMillis: 1367266688784] [levelValue: 800] [[
      Adding instance in1 to health history table.]]

        Activity

        Hide
        Tom Mueller added a comment -

        Fixed on the trunk in revision 61757.

        Show
        Tom Mueller added a comment - Fixed on the trunk in revision 61757.
        Hide
        Tom Mueller added a comment -

        Approved for 4.0.

        Show
        Tom Mueller added a comment - Approved for 4.0.
        Hide
        Tom Mueller added a comment -
        • What is the impact on the customer of the bug?

        How likely is it that a customer will see the bug and how serious is the bug?

        If the customer adds a system property to a cluster config, they will see this NPE.

        Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?
        No. This was there in 3.1.2 also.
        What CTS failures are caused by this bug?
        None.

        • What is the cost/risk of fixing the bug?

        How risky is the fix? How much work is the fix? Is the fix complicated?
        Low risk. Just add checks for cluster==null in the right places.

        • Is there an impact on documentation or message strings?
          No
        • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
          Tests that set system properties.
        • Which is the targeted build of 4.0 for this fix?
          Next one.
        • If this an integration of a new version of a component from another project,
          what are the changes that are being brought in? This might be list of
          Jira issues from that project or a list of revision messages.
          N/A.
        Show
        Tom Mueller added a comment - What is the impact on the customer of the bug? How likely is it that a customer will see the bug and how serious is the bug? If the customer adds a system property to a cluster config, they will see this NPE. Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)? No. This was there in 3.1.2 also. What CTS failures are caused by this bug? None. What is the cost/risk of fixing the bug? How risky is the fix? How much work is the fix? Is the fix complicated? Low risk. Just add checks for cluster==null in the right places. Is there an impact on documentation or message strings? No Which tests should QA (re)run to verify the fix did not destabilize GlassFish? Tests that set system properties. Which is the targeted build of 4.0 for this fix? Next one. If this an integration of a new version of a component from another project, what are the changes that are being brought in? This might be list of Jira issues from that project or a list of revision messages. N/A.
        Hide
        Byron Nevins added a comment -

        Tom - Nice job turning it into a 3 command scenario. But #3 is wrong:

        WRONG:
        asadmin create-system-properties --cluster c1 a=b

        RIGHT:
        asadmin create-system-properties --target c1 a=b

        Show
        Byron Nevins added a comment - Tom - Nice job turning it into a 3 command scenario. But #3 is wrong: WRONG: asadmin create-system-properties --cluster c1 a=b RIGHT: asadmin create-system-properties --target c1 a=b
        Hide
        Tom Mueller added a comment -

        To recreate the problem easily, do the following on a clean install:

        asadmin start-domain
        asadmin create-cluster c1
        asadmin create-system-properties --cluster c1 a=b

        The NullPointerException message is printed in the log during the 3rd command.

        Show
        Tom Mueller added a comment - To recreate the problem easily, do the following on a clean install: asadmin start-domain asadmin create-cluster c1 asadmin create-system-properties --cluster c1 a=b The NullPointerException message is printed in the log during the 3rd command.
        Hide
        marina vatkina added a comment -

        The tests are executed by running 'ant all' (may be the S1AS_HOME and APS_HOME are not set properly?). The tests that report the NPE are 'selfrecovery' and 'autorecovery'

        Show
        marina vatkina added a comment - The tests are executed by running 'ant all' (may be the S1AS_HOME and APS_HOME are not set properly?). The tests that report the NPE are 'selfrecovery' and 'autorecovery'
        Hide
        Tom Mueller added a comment -

        More information is needed on how to reproduce this issue.
        I tried running the appserv-tests/devtests/transaction/ee tests by setting S1AS_HOME and APS_HOME and running "ant all", but the build fails. I tried just creating clustered instances and the message doesn't show up.
        It would be helpful if the hudson job set "AS_LOGFILE" so that the commands that it executes would be recorded and the timestamps could be aligned with the server.log error messages.

        Show
        Tom Mueller added a comment - More information is needed on how to reproduce this issue. I tried running the appserv-tests/devtests/transaction/ee tests by setting S1AS_HOME and APS_HOME and running "ant all", but the build fails. I tried just creating clustered instances and the message doesn't show up. It would be helpful if the hudson job set "AS_LOGFILE" so that the commands that it executes would be recorded and the timestamps could be aligned with the server.log error messages.

          People

          • Assignee:
            Tom Mueller
            Reporter:
            marina vatkina
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: