[ https://issues.apache.org/jira/browse/JCR-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840730#action_12840730 ]
Andrey Adamovich edited comment on JCR-2160 at 3/3/10 5:43 PM: --------------------------------------------------------------- The error line in XAItemStateManager contains: ChangeLog changeLog = (ChangeLog) commitLogs.get(Thread.currentThread()); The only thing that can be null in that line is the commitLogs. But that is initialized in the default constructor: private final Map commitLogs = Collections.synchronizedMap(new IdentityHashMap()); How this could ever be possible? was (Author: superfilin): That line contains: ChangeLog changeLog = (ChangeLog) commitLogs.get(Thread.currentThread()); The only thing that can be null in that line is the commitLogs. But that is initialized in the default constructor: private final Map commitLogs = Collections.synchronizedMap(new IdentityHashMap()); How this could ever be possible? > NPE in XAItemStateManager > ------------------------- > > Key: JCR-2160 > URL: https://issues.apache.org/jira/browse/JCR-2160 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core > Affects Versions: 1.5.6 > Environment: OS: Linux > JVM: 1.5.0 > Tomcat: 5.5 > Spring extensions: 0.9 > Spring framework: 2.5 > Jackrabbit: 1.5.6 > Reporter: Jan Schraepen > > We're having a NPE during an stress test when using multiple concurrent > threads. In this test we're trying to add multiple versionable items in the > repository. This exception causes a tomcat unavailability. Only killing the > tomcat process helps in this case. > java.lang.NullPointerException > at > org.apache.jackrabbit.core.state.XAItemStateManager.stateModified(XAItemStateManager.java:580) > at > org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyStateModified(StateChangeDispatcher.java:111) > at > org.apache.jackrabbit.core.state.SharedItemStateManager.stateModified(SharedItemStateManager.java:400) > at > org.apache.jackrabbit.core.state.StateChangeDispatcher.notifyStateModified(StateChangeDispatcher.java:111) > at > org.apache.jackrabbit.core.state.SharedItemStateManager.stateModified(SharedItemStateManager.java:400) > at > org.apache.jackrabbit.core.state.ItemState.notifyStateUpdated(ItemState.java:244) > at > org.apache.jackrabbit.core.state.ChangeLog.persisted(ChangeLog.java:285) > at > org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:735) > at > org.apache.jackrabbit.core.state.XAItemStateManager.commit(XAItemStateManager.java:174) > at > org.apache.jackrabbit.core.version.XAVersionManager.commit(XAVersionManager.java:497) > at > org.apache.jackrabbit.core.TransactionContext.commit(TransactionContext.java:206) > at > org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:339) > at > org.springframework.extensions.jcr.jackrabbit.support.JackRabbitUserTransaction.commit(JackRabbitUserTransaction.java:95) > at > org.springframework.extensions.jcr.jackrabbit.LocalTransactionManager.doCommit(LocalTransactionManager.java:189) > ... 39 more > We could appreciate it, if someone could have a look at this.. > Thanks in advance! -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.