[
https://issues.apache.org/jira/browse/JCR-3022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13065224#comment-13065224
]
Stefan Guggisberg commented on JCR-3022:
----------------------------------------
logout is obviously called from the finalize method. this indicates that the
session
hasn't been closed explicitly by the application. you should therefore see
debug log
msgs like this:
"Unclosed session detected. The session was opened here: [stacktrace...]"
however, i can't explain how the versionMgr field could possibly be null.
versionMgr is declared as 'final' and is instantiated in the SessionImpl
constructor.
it can't be set to null because it's final.
please provide detailed information about your environment/deployment.
is this issue reproducible with a simple test case?
> NPE on logout in XASessionImpl
> ------------------------------
>
> Key: JCR-3022
> URL: https://issues.apache.org/jira/browse/JCR-3022
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 2.1.1, 2.1.2, 2.1.3, 2.1.5, 2.2.7
> Reporter: Carl Hall
>
> Found this in our logs when shutting down Sling. Not seen very frequently
> though. Seems like a null check before calling ((InternalXAVersionManager)
> versionMgr).close() would clear the message but maybe this null needs to be
> logged.
> v2.2 = org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:392)
> v2.1 =
> org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:413)
> 08.06.2011 14:01:28.484 *WARN* [Finalizer]
> org.apache.jackrabbit.core.XASessionImpl error while closing
> InternalXAVersionManager java.lang.NullPointerException
> at
> org.apache.jackrabbit.core.XASessionImpl.logout(XASessionImpl.java:413)
> at
> org.apache.jackrabbit.core.SessionImpl.finalize(SessionImpl.java:1680)
> at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
> at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
> at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira