You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Piotr Kubowicz (JIRA)" <ji...@apache.org> on 2013/06/11 11:07:19 UTC
[jira] [Created] (DIRSERVER-1853) NPE in getChildCount() when
reverting in an AVL partition
Piotr Kubowicz created DIRSERVER-1853:
-----------------------------------------
Summary: NPE in getChildCount() when reverting in an AVL partition
Key: DIRSERVER-1853
URL: https://issues.apache.org/jira/browse/DIRSERVER-1853
Project: Directory ApacheDS
Issue Type: Bug
Affects Versions: 2.0.0-M12
Reporter: Piotr Kubowicz
Stacktrace:
org.apache.directory.api.ldap.model.exception.LdapOperationException
at org.apache.directory.server.core.DefaultDirectoryService.revert(DefaultDirectoryService.java:1177)
Caused by: org.apache.directory.api.ldap.model.exception.LdapOperationErrorException
at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.getChildCount(AbstractBTreePartition.java:2156)
at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.delete(AbstractBTreePartition.java:825)
at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.delete(DefaultPartitionNexus.java:441)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor$1.delete(BaseInterceptor.java:185)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.journal.JournalInterceptor.delete(JournalInterceptor.java:181)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.changelog.ChangeLogInterceptor.delete(ChangeLogInterceptor.java:161)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.trigger.TriggerInterceptor.delete(TriggerInterceptor.java:336)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.event.EventInterceptor.delete(EventInterceptor.java:244)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.subtree.SubentryInterceptor.delete(SubentryInterceptor.java:1055)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.delete(OperationalAttributeInterceptor.java:482)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.exception.ExceptionInterceptor.delete(ExceptionInterceptor.java:206)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.admin.AdministrativePointInterceptor.delete(AdministrativePointInterceptor.java:1261)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.authz.DefaultAuthorizationInterceptor.delete(DefaultAuthorizationInterceptor.java:225)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.delete(AciAuthorizationInterceptor.java:664)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.referral.ReferralInterceptor.delete(ReferralInterceptor.java:288)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.authn.AuthenticationInterceptor.delete(AuthenticationInterceptor.java:737)
at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:480)
at org.apache.directory.server.core.normalization.NormalizationInterceptor.delete(NormalizationInterceptor.java:170)
at org.apache.directory.server.core.DefaultOperationManager.delete(DefaultOperationManager.java:586)
at org.apache.directory.server.core.shared.DefaultCoreSession.delete(DefaultCoreSession.java:340)
at org.apache.directory.server.core.shared.DefaultCoreSession.delete(DefaultCoreSession.java:325)
at org.apache.directory.server.core.DefaultDirectoryService.revert(DefaultDirectoryService.java:1142)
Caused by: java.lang.NullPointerException
at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.getChildCount(AbstractBTreePartition.java:2152)
Unfortunately, this happens randomly and I don't have clear reproduction steps. I run some unit test on AVL partitions on 2.0.0-M12. The test is like:
// test setup
service = new DirectoryServiceBuilder(...).buildService();
changeLog = new DefaultChangeLog();
changeLog.setExposed(true);
changeLog.setEnabled(true);
changeLog.init(service);
service.setChangeLog(changeLog);
service.setShutdownHookEnabled(true);
builder.buildPartition(...);
changeLog.tag();
// test case
changeLog.tag();
// some testing
service.sync();
service.revert(taggedRevision); // NPE here
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira