db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Katherine Marsden <kmarsdende...@sbcglobal.net>
Subject Re: NullPointerException when Shuting Down Derby
Date Wed, 30 Jan 2013 19:16:03 GMT
On 1/30/2013 8:38 AM, Oskar Zinger wrote:
> Hi Kathey,
>
> Here is what happens...
>
> Yes, this is a multi-threaded system. No, only one shutdown request is 
> happening. I have not tried with deregister=true.
>
> The new finding is...
>
> This NullPointerException is only happening in a Single CPU (or single 
> Core) system. When the system and Kernel is upgraded to 2 CPU / core 
> system - the NullPointerException no longer happens, also the same has 
> been tried on a 4 CPU / core system and it does not happen there 
> again. So strangely this is only happening on a single processor system.
>
> I feel that there should be a check for null in 
> org.apache.derby.impl.store.raw.xact.XactFactory.add() method to check 
> for ttab for null.

It seems to me that there is something hapenning that we don't 
understand. Although I would certainly accept a patch to put a null 
check here, my guess is that there might be another NPE  that  you will 
hit down the line if you fix that one,  so worth taking a little time to 
understand what is going on and try to get a stand alone reproduction if 
there is a bug.    It has the feel of two shutdowns at once or maybe 
some post commit action still happening during the shutdown.

Can you describe what is going on when this happens and try to make a  
reproduction you can post?
I'd say go ahead and file a Jira and put the information there and 
attach logs and such for help from the community as you debug.  It would 
be helpful too to use debug  jars so we get line numbers in the stack trace.

Best

Kathey



>
> Regards,
> Oskar
>
> ------------------------------------------------------------------------
> *From:* Katherine Marsden <kmarsdenderby@sbcglobal.net>
> *To:* Derby Discussion <derby-user@db.apache.org>
> *Cc:* Oskar Zinger <oskarzn@yahoo.com>
> *Sent:* Tuesday, January 29, 2013 12:22 AM
> *Subject:* Re: NullPointerException when Shuting Down Derby
>
> On 1/28/2013 3:04 PM, Oskar Zinger wrote:
>> I just upgraded to 10.8.3 and I am still running into the same 
>> NullPointerException (NPE).
>>
>> This is actually different, it comes from:
>> org.apache.derby.impl.store.raw.xact.XactFactory.add(Unknown Source)
>>
>
> Hi Oskar,
>
> Thank you for upgrading to the latest. That always makes things easier 
> to debug.
> I guess the next step is to understand how you get into this state.
> Is there a stand alone reproduction that you can post in Jira?
> Is there something in the log prior to this NPE that might give us an 
> indication of what was going on when you got the NPE?
>
> Is your program multi-threaded? Is there possibly more than one thread 
> shutting down at once?  Do you have the same problem if you use 
> deregister=true?
>
>
> Best
>
> Kathey
>
>
>> Thanks,
>> Oskar
>>
>> ------------------------------------------------------------------------
>> *From:* Katherine Marsden <kmarsdenderby@sbcglobal.net> 
>> <mailto:kmarsdenderby@sbcglobal.net>
>> *To:* Derby Discussion <derby-user@db.apache.org> 
>> <mailto:derby-user@db.apache.org>
>> *Cc:* Oskar Zinger <oskarzn@yahoo.com> <mailto:oskarzn@yahoo.com>
>> *Sent:* Monday, January 28, 2013 4:28 PM
>> *Subject:* Re: NullPointerException when Shuting Down Derby
>>
>> On 1/28/2013 12:52 PM, Oskar Zinger wrote:
>>> When I do the following it sometimes returns a NullPointerException:
>>>
>>> DriverManager.getConnection("jdbc:derby:;shutdown=true;deregister=false");
>>>
>>> Here is the exception stack trace:
>>>
>>> Caused by: java.lang.NullPointerException
>>> at org.apache.derby.impl.store.raw.xact.XactFactory.add(Unknown Source)
>>>     at 
>>> org.apache.derby.impl.store.raw.xact.XactFactory.pushTransactionContext(Unknown

>>> Source)
>>>     at 
>>> org.apache.derby.impl.store.raw.xact.XactFactory.startInternalTransaction(Unknown

>>> Source)
>>>     at 
>>> org.apache.derby.impl.store.raw.log.LogToFile.checkpointWithTran(Unknown 
>>> Source)
>>>     at 
>>> org.apache.derby.impl.store.raw.log.LogToFile.checkpoint(Unknown Source)
>>>     at org.apache.derby.impl.store.raw.RawStore.stop(Unknown Source)
>>>     at 
>>> org.apache.derby.impl.services.monitor.TopService.stop(Unknown Source)
>>>     at 
>>> org.apache.derby.impl.services.monitor.TopService.shutdown(Unknown 
>>> Source)
>>>     at 
>>> org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(Unknown 
>>> Source)
>>>     at 
>>> org.apache.derby.impl.services.monitor.BaseMonitor.shutdown(Unknown 
>>> Source)
>>> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
>>>     at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
>>>     at java.sql.DriverManager.getConnection(DriverManager.java:399)
>>>     at java.sql.DriverManager.getConnection(DriverManager.java:350)
>>>
>>> Does anyone know why this is happening?
>>>
>>> I am using Derby 10.8.2.3
>>>
>>> Thanks,
>>> Oskar Zinger
>>
>> https://issues.apache.org/jira/browse/DERBY-5916 was backported to 
>> 10.8 with revision 1395186 and looks similar
>> I suggest you pick up 10.8.3 that has that fix.
>>
>>
>>
>
>
>


Mime
View raw message