Kaamil Jasani created DIRSERVER-2315:
----------------------------------------

             Summary: Having a schema with an object class that doesn't have 
any superior classes causes crash on replication
                 Key: DIRSERVER-2315
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2315
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: replication, schema
    Affects Versions: 2.0.0.AM26
            Reporter: Kaamil Jasani


Either that is a bug in that a superior class is not needed but this exception 
still occurs, or perhaps if that is required then it would make more sense to 
fail when the LDIF is applied?

Warning and error logs:
{code:java}
[11:03:41] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - 
Unexpected exception forcing session to close: sending disconnect notice to 
client.
org.apache.directory.api.ldap.model.exception.LdapException: 
java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.handleSyncRequest(SyncReplRequestHandler.java:351)
        at 
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleReplication(SearchRequestHandler.java:230)
        at 
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:189)
        at 
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:94)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:209)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:57)
        at 
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:243)
        at 
org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:224)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:1015)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
        at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106)
        at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:541)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:493)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: org.apache.directory.api.ldap.model.exception.LdapException: 
java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
        at 
org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1250)
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doSimpleSearch(SyncReplRequestHandler.java:655)
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doInitialRefresh(SyncReplRequestHandler.java:572)
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.handleSyncRequest(SyncReplRequestHandler.java:313)
        ... 16 more
Caused by: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for 
length 0
        at 
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at 
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at 
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:372)
        at java.base/java.util.ArrayList.get(ArrayList.java:440)
        at 
org.apache.directory.server.core.operational.OperationalAttributeInterceptor.processSubordinates(OperationalAttributeInterceptor.java:747)
        at 
org.apache.directory.server.core.operational.OperationalAttributeInterceptor.access$500(OperationalAttributeInterceptor.java:82)
        at 
org.apache.directory.server.core.operational.OperationalAttributeInterceptor$SubordinatesSearchFilter.accept(OperationalAttributeInterceptor.java:191)
        at 
org.apache.directory.server.core.api.filtering.EntryFilteringCursorImpl.next(EntryFilteringCursorImpl.java:453)
        at 
org.apache.directory.server.core.shared.DefaultCoreSession.sortResults(DefaultCoreSession.java:1411)
        at 
org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1223)
        ... 19 more
{code}
{code:java}
[11:03:41] ERROR [org.apache.directory.server.PROVIDER_LOG] - Failed to handle 
the syncrepl request
org.apache.directory.api.ldap.model.exception.LdapException: 
java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for length 0
        at 
org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1250)
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doSimpleSearch(SyncReplRequestHandler.java:655)
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.doInitialRefresh(SyncReplRequestHandler.java:572)
        at 
org.apache.directory.server.ldap.replication.provider.SyncReplRequestHandler.handleSyncRequest(SyncReplRequestHandler.java:313)
        at 
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handleReplication(SearchRequestHandler.java:230)
        at 
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:189)
        at 
org.apache.directory.server.ldap.handlers.request.SearchRequestHandler.handle(SearchRequestHandler.java:94)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:209)
        at 
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:57)
        at 
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:243)
        at 
org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:224)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:1015)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)
        at 
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)
        at 
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106)
        at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:541)
        at 
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:493)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.IndexOutOfBoundsException: Index 0 out-of-bounds for 
length 0
        at 
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at 
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at 
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:372)
        at java.base/java.util.ArrayList.get(ArrayList.java:440)
        at 
org.apache.directory.server.core.operational.OperationalAttributeInterceptor.processSubordinates(OperationalAttributeInterceptor.java:747)
        at 
org.apache.directory.server.core.operational.OperationalAttributeInterceptor.access$500(OperationalAttributeInterceptor.java:82)
        at 
org.apache.directory.server.core.operational.OperationalAttributeInterceptor$SubordinatesSearchFilter.accept(OperationalAttributeInterceptor.java:191)
        at 
org.apache.directory.server.core.api.filtering.EntryFilteringCursorImpl.next(EntryFilteringCursorImpl.java:453)
        at 
org.apache.directory.server.core.shared.DefaultCoreSession.sortResults(DefaultCoreSession.java:1411)
        at 
org.apache.directory.server.core.shared.DefaultCoreSession.search(DefaultCoreSession.java:1223)
        ... 19 more
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to