You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Ersin Er (JIRA)" <ji...@apache.org> on 2007/07/01 00:35:04 UTC

[jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and LDAP filter

    [ https://issues.apache.org/jira/browse/DIRSERVER-916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509336 ] 

Ersin Er commented on DIRSERVER-916:
------------------------------------

Haven't we fixed this ?

> SubtreeSpecificationParser and LDAP filter
> ------------------------------------------
>
>                 Key: DIRSERVER-916
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-916
>             Project: Directory ApacheDS
>          Issue Type: Bug
>            Reporter: Stefan Seelmann
>             Fix For: 1.5.1
>
>
> I got a curious error. While playing with the new LS subtreespecification editor and writing a subtreespecification with an LDAP filter the SubtreeSpecificationParser *sometimes* gets killed. 
> It seems like the parser is stateful. If I first write some subtreespecifications w/o an LDAP filter the parser seems to be stable. But when adding it just after starting the server the parser dies with an "Read end dead".
> It was able to reproduce it with the following steps, using the trunk:
> 1.) Create an entry with the following subtreespecification
> -------------------------------------------------------------------
> dn: cn=subentry,dc=example,dc=com
> objectClass: accessControlSubentry
> objectClass: subentry
> objectClass: top
> cn: subentry
> prescriptiveaci: { identificationTag "dummy", precedence 1, authenticationLe
>  vel none, itemOrUserFirst userFirst: { userClasses {  }, userPermissions { 
>   } } }
> subtreespecification: { specificationFilter (cn=test)  }
> -------------------------------------------------------------------
> 2.) Shutdown the server
> 3.) Startup the server
> 4.) Overwrite the subtreespecification value with a refinement
> -------------------------------------------------------------------
> dn: cn=subentry,dc=example,dc=com
> changetype: modify
> replace: subtreespecification
> subtreespecification: { specificationFilter item:top  }
> -
> -------------------------------------------------------------------
> 4.) Overwrite the subtreespecification value with a filter
> -------------------------------------------------------------------
> dn: cn=subentry,dc=example,dc=com
> changetype: modify
> replace: subtreespecification
> subtreespecification: { specificationFilter (cn=test)  }
> -
> -------------------------------------------------------------------
> The client receives the following error message:
> -------------------------------------------------------------------
> ldap_modify: Invalid syntax (21)
>         additional info: failed to modify entry cn=subentry,dc=example,dc=com: failed to parse the new subtreeSpecification
> -------------------------------------------------------------------
> The server throws the following exception:
> -------------------------------------------------------------------
> [22:46:49] ERROR [org.apache.directory.server.core.subtree.SubentryService] - failed to parse the new subtreeSpecification
> java.text.ParseException: Parser failure on subtree specification:
>         { specificationFilter (cn=test)  }
> Antlr exception trace:
> filterParser failed. Read end dead
>         at org.apache.directory.shared.ldap.subtree.SubtreeSpecificationParser.parse(SubtreeSpecificationParser.java:133)
>         at org.apache.directory.server.core.subtree.SubentryService.modify(SubentryService.java:1045)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.schema.SchemaService.modify(SchemaService.java:1517)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.operational.OperationalAttributeService.modify(OperationalAttributeService.java:177)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.exception.ExceptionService.modify(ExceptionService.java:291)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.authz.DefaultAuthorizationService.modify(DefaultAuthorizationService.java:241)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.authz.AuthorizationService.modify(AuthorizationService.java:510)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.referral.ReferralService.modify(ReferralService.java:746)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.authn.AuthenticationService.modify(AuthenticationService.java:351)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.normalization.NormalizationService.modify(NormalizationService.java:132)
>         at org.apache.directory.server.core.interceptor.InterceptorChain.modify(InterceptorChain.java:761)
>         at org.apache.directory.server.core.partition.PartitionNexusProxy.modify(PartitionNexusProxy.java:362)
>         at org.apache.directory.server.core.partition.PartitionNexusProxy.modify(PartitionNexusProxy.java:349)
>         at org.apache.directory.server.core.jndi.ServerDirContext.modifyAttributes(ServerDirContext.java:233)
>         at javax.naming.directory.InitialDirContext.modifyAttributes(InitialDirContext.java:153)
>         at org.apache.directory.server.ldap.support.ModifyHandler.messageReceived(ModifyHandler.java:80)
>         at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:144)
>         at org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:427)
>         at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
>         at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>         at org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>         at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>         at org.apache.mina.filter.LoggingFilter.messageReceived(LoggingFilter.java:97)
>         at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>         at org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>         at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>         at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
>         at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:190)
>         at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>         at org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>         at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>         at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>         at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:305)
>         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:595)
> -------------------------------------------------------------------
> Now when trying to modify the subtreespecification again, the client gets the follwoing message, but no server logs:
> -------------------------------------------------------------------
> ldap_modify: Loop detected (54)
>         additional info: failed to modify entry cn=subentry,dc=example,dc=com: Unexpected exception
> -------------------------------------------------------------------
> The same error occurs when trying to delete the entry

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and LDAP filter

Posted by Stefan Seelmann <se...@apache.org>.
I am checking it...


Alex Karasulu schrieb:
> thought so but we need to have someone confirm it
> alex
> 
> On 7/1/07, *Ersin Er (JIRA)* <jira@apache.org <ma...@apache.org>>
> wrote:
> 
> 
>         [
>     https://issues.apache.org/jira/browse/DIRSERVER-916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509336
>     ]
> 
>     Ersin Er commented on DIRSERVER-916:
>     ------------------------------------
> 
>     Haven't we fixed this ?
> 
>     > SubtreeSpecificationParser and LDAP filter
>     > ------------------------------------------
>     >
>     >                 Key: DIRSERVER-916
>     >                 URL:
>     https://issues.apache.org/jira/browse/DIRSERVER-916
>     >             Project: Directory ApacheDS
>     >          Issue Type: Bug
>     >            Reporter: Stefan Seelmann
>     >             Fix For: 1.5.1
>     >
>     >
>     > I got a curious error. While playing with the new LS
>     subtreespecification editor and writing a subtreespecification with
>     an LDAP filter the SubtreeSpecificationParser *sometimes* gets killed.
>     > It seems like the parser is stateful. If I first write some
>     subtreespecifications w/o an LDAP filter the parser seems to be
>     stable. But when adding it just after starting the server the parser
>     dies with an "Read end dead".
>     > It was able to reproduce it with the following steps, using the trunk:
>     > 1.) Create an entry with the following subtreespecification
>     > -------------------------------------------------------------------
>     > dn: cn=subentry,dc=example,dc=com
>     > objectClass: accessControlSubentry
>     > objectClass: subentry
>     > objectClass: top
>     > cn: subentry
>     > prescriptiveaci: { identificationTag "dummy", precedence 1,
>     authenticationLe
>     >  vel none, itemOrUserFirst userFirst: { userClasses {  },
>     userPermissions {
>     >   } } }
>     > subtreespecification: { specificationFilter (cn=test)  }
>     > -------------------------------------------------------------------
>     > 2.) Shutdown the server
>     > 3.) Startup the server
>     > 4.) Overwrite the subtreespecification value with a refinement
>     > -------------------------------------------------------------------
>     > dn: cn=subentry,dc=example,dc=com
>     > changetype: modify
>     > replace: subtreespecification
>     > subtreespecification: { specificationFilter item:top  }
>     > -
>     > -------------------------------------------------------------------
>     > 4.) Overwrite the subtreespecification value with a filter
>     > -------------------------------------------------------------------
>     > dn: cn=subentry,dc=example,dc=com
>     > changetype: modify
>     > replace: subtreespecification
>     > subtreespecification: { specificationFilter (cn=test)  }
>     > -
>     > -------------------------------------------------------------------
>     > The client receives the following error message:
>     > -------------------------------------------------------------------
>     > ldap_modify: Invalid syntax (21)
>     >         additional info: failed to modify entry
>     cn=subentry,dc=example,dc=com: failed to parse the new
>     subtreeSpecification
>     > -------------------------------------------------------------------
>     > The server throws the following exception:
>     > -------------------------------------------------------------------
>     > [22:46:49] ERROR
>     [org.apache.directory.server.core.subtree.SubentryService] - failed
>     to parse the new subtreeSpecification
>     > java.text.ParseException: Parser failure on subtree specification:
>     >         { specificationFilter (cn=test)  }
>     > Antlr exception trace:
>     > filterParser failed. Read end dead
>     >         at
>     org.apache.directory.shared.ldap.subtree.SubtreeSpecificationParser.parse
>     (SubtreeSpecificationParser.java:133)
>     >         at
>     org.apache.directory.server.core.subtree.SubentryService.modify(SubentryService.java:1045)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.schema.SchemaService.modify(SchemaService.java:1517)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.operational.OperationalAttributeService.modify(OperationalAttributeService.java:177)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.exception.ExceptionService.modify(ExceptionService.java:291)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.authz.DefaultAuthorizationService.modify(DefaultAuthorizationService.java:241)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.authz.AuthorizationService.modify(AuthorizationService.java:510)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.referral.ReferralService.modify(ReferralService.java:746)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.authn.AuthenticationService.modify(AuthenticationService.java:351)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
>     (InterceptorChain.java:1162)
>     >         at
>     org.apache.directory.server.core.normalization.NormalizationService.modify(NormalizationService.java:132)
>     >         at
>     org.apache.directory.server.core.interceptor.InterceptorChain.modify
>     (InterceptorChain.java:761)
>     >         at
>     org.apache.directory.server.core.partition.PartitionNexusProxy.modify(PartitionNexusProxy.java:362)
>     >         at
>     org.apache.directory.server.core.partition.PartitionNexusProxy.modify
>     (PartitionNexusProxy.java:349)
>     >         at
>     org.apache.directory.server.core.jndi.ServerDirContext.modifyAttributes(ServerDirContext.java:233)
>     >         at
>     javax.naming.directory.InitialDirContext.modifyAttributes
>     (InitialDirContext.java:153)
>     >         at
>     org.apache.directory.server.ldap.support.ModifyHandler.messageReceived(ModifyHandler.java:80)
>     >         at
>     org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived
>     (DemuxingIoHandler.java:144)
>     >         at
>     org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived(LdapProtocolProvider.java:427)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived
>     (AbstractIoFilterChain.java:703)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain.access$1200
>     (AbstractIoFilterChain.java:54)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>     >         at org.apache.mina.filter.LoggingFilter.messageReceived
>     (LoggingFilter.java:97)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain.access$1200
>     (AbstractIoFilterChain.java:54)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
>     >         at
>     org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush
>     (SimpleProtocolDecoderOutput.java:60)
>     >         at
>     org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:190)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived
>     (AbstractIoFilterChain.java:362)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
>     >         at
>     org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived
>     (AbstractIoFilterChain.java:800)
>     >         at
>     org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:243)
>     >         at
>     org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run
>     (ExecutorFilter.java:305)
>     >         at
>     edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>     >         at
>     edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
>     (ThreadPoolExecutor.java:690)
>     >         at java.lang.Thread.run(Thread.java:595)
>     > -------------------------------------------------------------------
>     > Now when trying to modify the subtreespecification again, the
>     client gets the follwoing message, but no server logs:
>     > -------------------------------------------------------------------
>     > ldap_modify: Loop detected (54)
>     >         additional info: failed to modify entry
>     cn=subentry,dc=example,dc=com: Unexpected exception
>     > -------------------------------------------------------------------
>     > The same error occurs when trying to delete the entry
> 
>     --
>     This message is automatically generated by JIRA.
>     -
>     You can reply to this email to add a comment to the issue online.
> 
> 


Re: [jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and LDAP filter

Posted by Alex Karasulu <ak...@apache.org>.
thought so but we need to have someone confirm it
alex

On 7/1/07, Ersin Er (JIRA) <ji...@apache.org> wrote:
>
>
>     [
> https://issues.apache.org/jira/browse/DIRSERVER-916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509336]
>
> Ersin Er commented on DIRSERVER-916:
> ------------------------------------
>
> Haven't we fixed this ?
>
> > SubtreeSpecificationParser and LDAP filter
> > ------------------------------------------
> >
> >                 Key: DIRSERVER-916
> >                 URL: https://issues.apache.org/jira/browse/DIRSERVER-916
> >             Project: Directory ApacheDS
> >          Issue Type: Bug
> >            Reporter: Stefan Seelmann
> >             Fix For: 1.5.1
> >
> >
> > I got a curious error. While playing with the new LS
> subtreespecification editor and writing a subtreespecification with an LDAP
> filter the SubtreeSpecificationParser *sometimes* gets killed.
> > It seems like the parser is stateful. If I first write some
> subtreespecifications w/o an LDAP filter the parser seems to be stable. But
> when adding it just after starting the server the parser dies with an "Read
> end dead".
> > It was able to reproduce it with the following steps, using the trunk:
> > 1.) Create an entry with the following subtreespecification
> > -------------------------------------------------------------------
> > dn: cn=subentry,dc=example,dc=com
> > objectClass: accessControlSubentry
> > objectClass: subentry
> > objectClass: top
> > cn: subentry
> > prescriptiveaci: { identificationTag "dummy", precedence 1,
> authenticationLe
> >  vel none, itemOrUserFirst userFirst: { userClasses {  },
> userPermissions {
> >   } } }
> > subtreespecification: { specificationFilter (cn=test)  }
> > -------------------------------------------------------------------
> > 2.) Shutdown the server
> > 3.) Startup the server
> > 4.) Overwrite the subtreespecification value with a refinement
> > -------------------------------------------------------------------
> > dn: cn=subentry,dc=example,dc=com
> > changetype: modify
> > replace: subtreespecification
> > subtreespecification: { specificationFilter item:top  }
> > -
> > -------------------------------------------------------------------
> > 4.) Overwrite the subtreespecification value with a filter
> > -------------------------------------------------------------------
> > dn: cn=subentry,dc=example,dc=com
> > changetype: modify
> > replace: subtreespecification
> > subtreespecification: { specificationFilter (cn=test)  }
> > -
> > -------------------------------------------------------------------
> > The client receives the following error message:
> > -------------------------------------------------------------------
> > ldap_modify: Invalid syntax (21)
> >         additional info: failed to modify entry
> cn=subentry,dc=example,dc=com: failed to parse the new subtreeSpecification
> > -------------------------------------------------------------------
> > The server throws the following exception:
> > -------------------------------------------------------------------
> > [22:46:49] ERROR [
> org.apache.directory.server.core.subtree.SubentryService] - failed to
> parse the new subtreeSpecification
> > java.text.ParseException: Parser failure on subtree specification:
> >         { specificationFilter (cn=test)  }
> > Antlr exception trace:
> > filterParser failed. Read end dead
> >         at
> org.apache.directory.shared.ldap.subtree.SubtreeSpecificationParser.parse(
> SubtreeSpecificationParser.java:133)
> >         at
> org.apache.directory.server.core.subtree.SubentryService.modify(
> SubentryService.java:1045)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at org.apache.directory.server.core.schema.SchemaService.modify(
> SchemaService.java:1517)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.operational.OperationalAttributeService.modify
> (OperationalAttributeService.java:177)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.exception.ExceptionService.modify(
> ExceptionService.java:291)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.authz.DefaultAuthorizationService.modify(
> DefaultAuthorizationService.java:241)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.authz.AuthorizationService.modify(
> AuthorizationService.java:510)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.referral.ReferralService.modify(
> ReferralService.java:746)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.authn.AuthenticationService.modify(
> AuthenticationService.java:351)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.modify
> (InterceptorChain.java:1162)
> >         at
> org.apache.directory.server.core.normalization.NormalizationService.modify
> (NormalizationService.java:132)
> >         at
> org.apache.directory.server.core.interceptor.InterceptorChain.modify(
> InterceptorChain.java:761)
> >         at
> org.apache.directory.server.core.partition.PartitionNexusProxy.modify(
> PartitionNexusProxy.java:362)
> >         at
> org.apache.directory.server.core.partition.PartitionNexusProxy.modify(
> PartitionNexusProxy.java:349)
> >         at
> org.apache.directory.server.core.jndi.ServerDirContext.modifyAttributes(
> ServerDirContext.java:233)
> >         at javax.naming.directory.InitialDirContext.modifyAttributes(
> InitialDirContext.java:153)
> >         at
> org.apache.directory.server.ldap.support.ModifyHandler.messageReceived(
> ModifyHandler.java:80)
> >         at
> org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(
> DemuxingIoHandler.java:144)
> >         at
> org.apache.directory.server.ldap.LdapProtocolProvider$LdapProtocolHandler.messageReceived
> (LdapProtocolProvider.java:427)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived
> (AbstractIoFilterChain.java:703)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived
> (AbstractIoFilterChain.java:362)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(
> AbstractIoFilterChain.java:54)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived
> (AbstractIoFilterChain.java:800)
> >         at org.apache.mina.filter.LoggingFilter.messageReceived(
> LoggingFilter.java:97)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived
> (AbstractIoFilterChain.java:362)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(
> AbstractIoFilterChain.java:54)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived
> (AbstractIoFilterChain.java:800)
> >         at
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(
> SimpleProtocolDecoderOutput.java:60)
> >         at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(
> ProtocolCodecFilter.java:190)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived
> (AbstractIoFilterChain.java:362)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(
> AbstractIoFilterChain.java:54)
> >         at
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived
> (AbstractIoFilterChain.java:800)
> >         at org.apache.mina.filter.executor.ExecutorFilter.processEvent(
> ExecutorFilter.java:243)
> >         at
> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(
> ExecutorFilter.java:305)
> >         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
> (ThreadPoolExecutor.java:665)
> >         at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:690)
> >         at java.lang.Thread.run(Thread.java:595)
> > -------------------------------------------------------------------
> > Now when trying to modify the subtreespecification again, the client
> gets the follwoing message, but no server logs:
> > -------------------------------------------------------------------
> > ldap_modify: Loop detected (54)
> >         additional info: failed to modify entry
> cn=subentry,dc=example,dc=com: Unexpected exception
> > -------------------------------------------------------------------
> > The same error occurs when trying to delete the entry
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>