You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Oliver Mihatsch <o....@virtual-solution.de> on 2005/04/25 16:07:53 UTC
NullPointer in PersistenceBrokerAbstractImpl
Hello,
in a web application I developed there is a strange error which occurs every 2 Weeks - 2 Months:
java.lang.NullPointerException
at org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
at org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
....
OJB Version I'm using is ojb-1.0.1. It is self compiled to get the debug informations.
After the error occurs every ojb db access fails with this NPE. Only restarting the application helps.
The error is reproducable, but it takes ca. 2 Weeks - 2 Months to get it ;)
I think only insert/update/delete actions produces it, but not sure.
Thanks in advance,
Oliver Mihatsch
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: NullPointer in PersistenceBrokerAbstractImpl
Posted by Oliver Mihatsch <o....@virtual-solution.de>.
Hi Armin,
ok, you are right, there are multiple threads using the same PersistenceBroker.
This must be the error.
Now it's clear, first thread clears the listener list while the other is modifing it -> BANG ;)
Thank you for the fast (and excellent) support.
Regards,
Oliver
Armin Waibel wrote:
> sorry typo:
>
> "strange, I can't find a reson how these exceptions can happen..."
>
> Armin Waibel wrote:
>
>> Hi,
>>
>> strange, I kind find a reson how these exception can happen
>>
>> java.lang.ArrayIndexOutOfBoundsException
>> at java.lang.System.arraycopy(Native Method)
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>>
>> at
>> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
>>
>> or
>>
>> java.lang.NullPointerException
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>>
>>
>> Think the only reason can be a concurrency problem. Do you use any
>> daemon/timer objects? Since you can't reproduce this issue with an
>> test case it's hard to find out the reason. Could you find any flaws
>> in PersistenceBrokerAbstractImpl?
>>
>> regards,
>> Armin
>>
>>
>> Oliver Mihatsch wrote:
>>
>>> Hi Armin,
>>>
>>> no, every thread and function creates a new Persistence Broker before
>>> any database interaction.
>>>
>>> Regards,
>>> Oliver
>>>
>>> Armin Waibel wrote:
>>>
>>>> Hi Oliver,
>>>>
>>>> could it happen that
>>>> de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>>>> and
>>>> de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>>>> was called by concurrent threads at the same time (on the same PB
>>>> instance)?
>>>>
>>>> regsrds,
>>>> Armin
>>>>
>>>> Oliver Mihatsch wrote:
>>>>
>>>>> Hm, this could be the cause, but not sure:
>>>>>
>>>>> java.lang.ArrayIndexOutOfBoundsException
>>>>> at java.lang.System.arraycopy(Native Method)
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1333)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:111)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:233)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:269)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:566)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.refreshRelationships(PersistenceBrokerImpl.java:1184)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1378)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1346)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1435)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>>>>
>>>>> at de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>>>>> ...
>>>>>
>>>>>
>>>>>
>>>>> Oliver Mihatsch wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> in a web application I developed there is a strange error which
>>>>>> occurs every 2 Weeks - 2 Months:
>>>>>>
>>>>>> java.lang.NullPointerException
>>>>>> at
>>>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>>>>>>
>>>>>> at
>>>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>>>>>>
>>>>>> at
>>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>>>>>>
>>>>>> at
>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>>>>
>>>>>> at
>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>>>>
>>>>>> at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>>>>>> ....
>>>>>>
>>>>>> OJB Version I'm using is ojb-1.0.1. It is self compiled to get the
>>>>>> debug informations.
>>>>>> After the error occurs every ojb db access fails with this NPE.
>>>>>> Only restarting the application helps.
>>>>>>
>>>>>> The error is reproducable, but it takes ca. 2 Weeks - 2 Months to
>>>>>> get it ;)
>>>>>> I think only insert/update/delete actions produces it, but not sure.
>>>>>>
>>>>>> Thanks in advance,
>>>>>> Oliver Mihatsch
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: NullPointer in PersistenceBrokerAbstractImpl
Posted by Armin Waibel <ar...@apache.org>.
sorry typo:
"strange, I can't find a reson how these exceptions can happen..."
Armin Waibel wrote:
> Hi,
>
> strange, I kind find a reson how these exception can happen
>
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>
> at
> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
>
> or
>
> java.lang.NullPointerException
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>
>
> Think the only reason can be a concurrency problem. Do you use any
> daemon/timer objects? Since you can't reproduce this issue with an test
> case it's hard to find out the reason. Could you find any flaws in
> PersistenceBrokerAbstractImpl?
>
> regards,
> Armin
>
>
> Oliver Mihatsch wrote:
>
>> Hi Armin,
>>
>> no, every thread and function creates a new Persistence Broker before
>> any database interaction.
>>
>> Regards,
>> Oliver
>>
>> Armin Waibel wrote:
>>
>>> Hi Oliver,
>>>
>>> could it happen that
>>> de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>>> and
>>> de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>>> was called by concurrent threads at the same time (on the same PB
>>> instance)?
>>>
>>> regsrds,
>>> Armin
>>>
>>> Oliver Mihatsch wrote:
>>>
>>>> Hm, this could be the cause, but not sure:
>>>>
>>>> java.lang.ArrayIndexOutOfBoundsException
>>>> at java.lang.System.arraycopy(Native Method)
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>>>>
>>>> at
>>>> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1333)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:111)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:233)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:269)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:566)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.refreshRelationships(PersistenceBrokerImpl.java:1184)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1378)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1346)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1435)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>>>
>>>> at de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>>>> ...
>>>>
>>>>
>>>>
>>>> Oliver Mihatsch wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> in a web application I developed there is a strange error which
>>>>> occurs every 2 Weeks - 2 Months:
>>>>>
>>>>> java.lang.NullPointerException
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>>>
>>>>> at
>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>>>
>>>>> at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>>>>> ....
>>>>>
>>>>> OJB Version I'm using is ojb-1.0.1. It is self compiled to get the
>>>>> debug informations.
>>>>> After the error occurs every ojb db access fails with this NPE.
>>>>> Only restarting the application helps.
>>>>>
>>>>> The error is reproducable, but it takes ca. 2 Weeks - 2 Months to
>>>>> get it ;)
>>>>> I think only insert/update/delete actions produces it, but not sure.
>>>>>
>>>>> Thanks in advance,
>>>>> Oliver Mihatsch
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: NullPointer in PersistenceBrokerAbstractImpl
Posted by Armin Waibel <ar...@apache.org>.
Hi,
strange, I kind find a reson how these exception can happen
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at
org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
at
org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
at
org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
or
java.lang.NullPointerException
at
org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
at
org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
Think the only reason can be a concurrency problem. Do you use any
daemon/timer objects? Since you can't reproduce this issue with an test
case it's hard to find out the reason. Could you find any flaws in
PersistenceBrokerAbstractImpl?
regards,
Armin
Oliver Mihatsch wrote:
> Hi Armin,
>
> no, every thread and function creates a new Persistence Broker before
> any database interaction.
>
> Regards,
> Oliver
>
> Armin Waibel wrote:
>
>> Hi Oliver,
>>
>> could it happen that
>> de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>> and
>> de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>> was called by concurrent threads at the same time (on the same PB
>> instance)?
>>
>> regsrds,
>> Armin
>>
>> Oliver Mihatsch wrote:
>>
>>> Hm, this could be the cause, but not sure:
>>>
>>> java.lang.ArrayIndexOutOfBoundsException
>>> at java.lang.System.arraycopy(Native Method)
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>>>
>>> at
>>> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
>>> at
>>> org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1333)
>>>
>>> at
>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:111)
>>>
>>> at
>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:233)
>>>
>>> at
>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:269)
>>>
>>> at
>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:566)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.refreshRelationships(PersistenceBrokerImpl.java:1184)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1378)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1346)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1435)
>>>
>>> at
>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>>
>>> at
>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>>
>>> at de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>>> ...
>>>
>>>
>>>
>>> Oliver Mihatsch wrote:
>>>
>>>> Hello,
>>>>
>>>> in a web application I developed there is a strange error which
>>>> occurs every 2 Weeks - 2 Months:
>>>>
>>>> java.lang.NullPointerException
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>>
>>>> at
>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>>
>>>> at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>>>> ....
>>>>
>>>> OJB Version I'm using is ojb-1.0.1. It is self compiled to get the
>>>> debug informations.
>>>> After the error occurs every ojb db access fails with this NPE. Only
>>>> restarting the application helps.
>>>>
>>>> The error is reproducable, but it takes ca. 2 Weeks - 2 Months to
>>>> get it ;)
>>>> I think only insert/update/delete actions produces it, but not sure.
>>>>
>>>> Thanks in advance,
>>>> Oliver Mihatsch
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: NullPointer in PersistenceBrokerAbstractImpl
Posted by Oliver Mihatsch <o....@virtual-solution.de>.
Hi Armin,
no, every thread and function creates a new Persistence Broker before any database interaction.
Regards,
Oliver
Armin Waibel wrote:
> Hi Oliver,
>
> could it happen that
> de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
> and
> de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
> was called by concurrent threads at the same time (on the same PB
> instance)?
>
> regsrds,
> Armin
>
> Oliver Mihatsch wrote:
>
>> Hm, this could be the cause, but not sure:
>>
>> java.lang.ArrayIndexOutOfBoundsException
>> at java.lang.System.arraycopy(Native Method)
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>>
>> at
>> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
>> at
>> org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1333)
>>
>> at
>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:111)
>>
>> at
>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:233)
>>
>> at
>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:269)
>>
>> at
>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:566)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.refreshRelationships(PersistenceBrokerImpl.java:1184)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1378)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1346)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1435)
>>
>> at
>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>
>> at
>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>>
>> at de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
>> ...
>>
>>
>>
>> Oliver Mihatsch wrote:
>>
>>> Hello,
>>>
>>> in a web application I developed there is a strange error which
>>> occurs every 2 Weeks - 2 Months:
>>>
>>> java.lang.NullPointerException
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>>>
>>> at
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>>>
>>> at
>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>
>>> at
>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>>
>>> at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>>> ....
>>>
>>> OJB Version I'm using is ojb-1.0.1. It is self compiled to get the
>>> debug informations.
>>> After the error occurs every ojb db access fails with this NPE. Only
>>> restarting the application helps.
>>>
>>> The error is reproducable, but it takes ca. 2 Weeks - 2 Months to get
>>> it ;)
>>> I think only insert/update/delete actions produces it, but not sure.
>>>
>>> Thanks in advance,
>>> Oliver Mihatsch
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: NullPointer in PersistenceBrokerAbstractImpl
Posted by Armin Waibel <ar...@apache.org>.
Hi Oliver,
could it happen that
de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
and
de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
was called by concurrent threads at the same time (on the same PB instance)?
regsrds,
Armin
Oliver Mihatsch wrote:
> Hm, this could be the cause, but not sure:
>
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
>
> at
> org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
> at
> org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1333)
>
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:111)
>
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:233)
>
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:269)
>
> at
> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:566)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.refreshRelationships(PersistenceBrokerImpl.java:1184)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1378)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1346)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1435)
>
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
>
> at de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
> ...
>
>
>
> Oliver Mihatsch wrote:
>
>> Hello,
>>
>> in a web application I developed there is a strange error which occurs
>> every 2 Weeks - 2 Months:
>>
>> java.lang.NullPointerException
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>>
>> at
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>>
>> at
>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>
>> at
>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>>
>> at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
>> ....
>>
>> OJB Version I'm using is ojb-1.0.1. It is self compiled to get the
>> debug informations.
>> After the error occurs every ojb db access fails with this NPE. Only
>> restarting the application helps.
>>
>> The error is reproducable, but it takes ca. 2 Weeks - 2 Months to get
>> it ;)
>> I think only insert/update/delete actions produces it, but not sure.
>>
>> Thanks in advance,
>> Oliver Mihatsch
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: NullPointer in PersistenceBrokerAbstractImpl
Posted by Oliver Mihatsch <o....@virtual-solution.de>.
Hm, this could be the cause, but not sure:
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:112)
at org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(PersistenceBrokerAbstractImpl.java:87)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:205)
at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1333)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:111)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:233)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:269)
at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:566)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.refreshRelationships(PersistenceBrokerImpl.java:1184)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(PersistenceBrokerImpl.java:1378)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1346)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1435)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
at de.virtualsolution.util.OJBUtil.retrieve(OJBUtil.java:174)
...
Oliver Mihatsch wrote:
> Hello,
>
> in a web application I developed there is a strange error which occurs
> every 2 Weeks - 2 Months:
>
> java.lang.NullPointerException
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.notifiyStateListener(PersistenceBrokerAbstractImpl.java:350)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.fireBrokerEvent(PersistenceBrokerAbstractImpl.java:305)
>
> at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransaction(PersistenceBrokerImpl.java:400)
>
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>
> at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTransaction(DelegatingPersistenceBroker.java:139)
>
> at de.virtualsolution.util.OJBUtil.delete(OJBUtil.java:152)
> ....
>
> OJB Version I'm using is ojb-1.0.1. It is self compiled to get the debug
> informations.
> After the error occurs every ojb db access fails with this NPE. Only
> restarting the application helps.
>
> The error is reproducable, but it takes ca. 2 Weeks - 2 Months to get it ;)
> I think only insert/update/delete actions produces it, but not sure.
>
> Thanks in advance,
> Oliver Mihatsch
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org