db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4306) NullPointerException in JMXManagementService.unregisterMBean when running jdbcapi._Suite
Date Wed, 22 Jul 2009 02:10:15 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mamta A. Satoor updated DERBY-4306:
-----------------------------------

    Attachment: DERBY4306_checkForNullability_patch1_diff.txt

I am attaching a really simple fix as DERBY4306_checkForNullability_patch1_diff.txt Can someone
more familiar with JMX please take a look and verify if the fix is as simple as checking for
nullability. It appears that registeredMbeans is null and hence following results in NPE
    private synchronized void unregisterMBean(final ObjectName mbeanName)
    {
        if (registeredMbeans.remove(mbeanName) == null)
            return;
        
        if (mbeanServer == null)
            return;
        
        jmxUnregister(mbeanName);
    }
My proposed check just does following at the beginning of the method
if (registeredMbeans == null) return
So, the method will look as follows
    private synchronized void unregisterMBean(final ObjectName mbeanName)
    {
        //Has this service been shut down?
        if (registeredMbeans == null)
            return;

        if (registeredMbeans.remove(mbeanName) == null)
            return;
        
        if (mbeanServer == null)
            return;
        
        jmxUnregister(mbeanName);
    }

I talked to Kathey about the fix and Kathey thought that there is a possibility that registeredMbeans
will be null when this method is called but she wanted me to check with the community to see
if anything thinks it is wrong to assume that registeredMbeans can be null.
*************
Kathey's thoughts on the issue
If you shutdown the engine with shutdown=true  I think the service is stopped and mbeans unregistered
at that time.If derby embedded has already been shutdown before the network server shutdown
command is issued then I think that is when you get this JMX NPE
*************

I will go ahead and checkin the fix tomorrow after running the junit and derbyall. If someone
thinks this is the right way of fixing the problem, please let me know.

> NullPointerException in JMXManagementService.unregisterMBean when running jdbcapi._Suite
> ----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4306
>                 URL: https://issues.apache.org/jira/browse/DERBY-4306
>             Project: Derby
>          Issue Type: Bug
>          Components: JMX
>    Affects Versions: 10.5.2.0, 10.6.0.0
>            Reporter: Tiago R. Espinha
>         Attachments: DERBY4306_checkForNullability_patch1_diff.txt, JMX_NPE_AuthenticationTest.tar.gz,
JMXNPE.tar.gz, ReproDerby4306.java
>
>
> I consistently get a NullPointerException when I run the jdbcapi suite:
> java.lang.NullPointerException
> 	at org.apache.derby.impl.services.jmx.JMXManagementService.unregisterMBean(JMXManagementService.java:286)
> 	at org.apache.derby.impl.services.jmx.JMXManagementService.unregisterMBean(JMXManagementService.java:277)
> 	at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(NetworkServerControlImpl.java:864)
> 	at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.derby.iapi.jdbc.DRDAServerStarter.run(DRDAServerStarter.java:236)
> 	at java.lang.Thread.run(Thread.java:619)
> I'm attaching the log folder from the jdbcapi run.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message