[
https://issues.apache.org/jira/browse/ARIES-1454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15013708#comment-15013708
]
Mohammad Shamsi commented on ARIES-1454:
----------------------------------------
I had a quick look at CoordinationImpl in the Felix source code and it seems
that the actual coordination instance is kept as "WeakReference" :
this line:
{code}
private final WeakReference<CoordinationHolder> holderRef;
{code}
in this class:
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.felix/org.apache.felix.coordinator/1.0.0/org/apache/felix/coordinator/impl/CoordinationImpl.java#CoordinationImpl.0holderRef
Since it is a weak reference, I guess, the instance is being removed from heap
by GC. (only a guess)
> NPE in TxInterceptor
> --------------------
>
> Key: ARIES-1454
> URL: https://issues.apache.org/jira/browse/ARIES-1454
> Project: Aries
> Issue Type: Bug
> Components: Transaction
> Affects Versions: transaction-blueprint-1.1.1
> Environment: Karaf 4.0.2 (Felix)
> JPA (Hibernate)
> Reporter: Mohammad Shamsi
> Assignee: Christian Schneider
> Fix For: transaction-3.0.0
>
>
> I am running some load tests agains an osgi app, which is running inside
> karaf 4.0.2, using Aries Blueprint and JPA (Hibernate) .
> The test is using multiple threads (10) to issue some random calls to the
> application.
> Sometimes, randomly, some of the call throwing NPE in TxInterceptor:
> {code:java}
> java.lang.NullPointerException
> at
> org.apache.aries.transaction.TxInterceptorImpl.postCallWithReturn(TxInterceptorImpl.java:101)[66:org.apache.aries.transaction.blueprint:1.1.1]
> at
> org.apache.aries.blueprint.proxy.SingleInterceptorCollaborator.postInvoke(SingleInterceptorCollaborator.java:75)[48:org.apache.aries.blueprint.core:1.4.4]
> at Proxy65968de8_a064_4203_9a53_5f0c8e536279.lockAll(Unknown
> Source)[:]
> {code}
> The NPE is thrown from "postCallWithReturn" and "postCallWithException" in
> following line:
> {code:java}
> token.getCoordination().end();
> {code}
> The "getCoordination()" call in above line is returning null.
> As I mentioned, it is happening from time to time. sometimes after 20 mins,
> sometimes after hours of test execution and it is happening in different
> transactional methods in different classes of the application.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)