[jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > Apache Server configuration support > Apache Directory Project > [jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    [jira] Commented: (DIRSERVER-916) SubtreeSpecificationParser and  
Ersin Er (JIRA)


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
04-25-07 06:11 AM


[ https://issues.apache.org/jira/brow...action_12491518 ]

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

Thanks Stefan. This is really an interesting problem. But I have to say it w
orries me. I'll have a look at it today.

> 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 SubtreeSpe
cificationParser *sometimes* gets killed.
> It seems like the parser is stateful. If I first write some subtreespecifi
cations 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, authentic
ationLe
>  vel none, itemOrUserFirst userFirst: { userClasses {  }, userPe
rmissions {
>   } } }
> 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.Subentr
yService] - 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.SubtreeSpecificationPa
rser.parse(SubtreeSpecificationParser.java:133)
>         at org.apache.directory.server.core.subtree.SubentryService.modify
(SubentryService.java:1045)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.schema.SchemaService.modify(Sc
hemaService.java:1517)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.operational.OperationalAttribu
teService.modify(OperationalAttributeService.java:177)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.exception.ExceptionService.mod
ify(ExceptionService.java:291)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.authz.DefaultAuthorizationServ
ice.modify(DefaultAuthorizationService.java:241)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.authz.AuthorizationService.mod
ify(AuthorizationService.java:510)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.referral.ReferralService.modif
y(ReferralService.java:746)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.authn.AuthenticationService.mo
dify(AuthenticationService.java:351)
>         at org.apache.directory.server.core.interceptor.InterceptorChain$E
ntry$1.modify(InterceptorChain.java:1162)
>         at org.apache.directory.server.core.normalization.NormalizationSer
vice.modify(NormalizationService.java:132)
>         at org.apache.directory.server.core.interceptor.InterceptorChain.m
odify(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.modifyAt
tributes(ServerDirContext.java:233)
>         at javax.naming.directory.InitialDirContext.modifyAttributes(Initi
alDirContext.java:153)
>         at org.apache.directory.server.ldap.support.ModifyHandler.messageR
eceived(ModifyHandler.java:80)
>         at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived
(DemuxingIoHandler.java:144)
>         at org.apache.directory.server.ldap.LdapProtocolProvider$LdapProto
colHandler.messageReceived(LdapProtocolProvider.java:427)
>         at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter
.messageReceived(AbstractIoFilterChain.java:703)
>         at org.apache.mina.common.support.AbstractIoFilterChain.callNextMe
ssageReceived(AbstractIoFilterChain.java:362)
>         at org.apache.mina.common.support.AbstractIoFilterChain.access$120
0(AbstractIoFilterChain.java:54)
>         at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$
1.messageReceived(AbstractIoFilterChain.java:800)
>         at org.apache.mina.filter.LoggingFilter.messageReceived(LoggingFil
ter.java:97)
>         at org.apache.mina.common.support.AbstractIoFilterChain.callNextMe
ssageReceived(AbstractIoFilterChain.java:362)
>         at org.apache.mina.common.support.AbstractIoFilterChain.access$120
0(AbstractIoFilterChain.java:54)
>         at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$
1.messageReceived(AbstractIoFilterChain.java:800)
>         at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutpu
t.flush(SimpleProtocolDecoderOutput.java:60)
>         at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceive
d(ProtocolCodecFilter.java:190)
>         at org.apache.mina.common.support.AbstractIoFilterChain.callNextMe
ssageReceived(AbstractIoFilterChain.java:362)
>         at org.apache.mina.common.support.AbstractIoFilterChain.access$120
0(AbstractIoFilterChain.java:54)
>         at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$
1.messageReceived(AbstractIoFilterChain.java:800)
>         at org.apache.mina.filter.executor.ExecutorFilter.processEvent(Exe
cutorFilter.java:243)
>         at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRun
nable.run(ExecutorFilter.java:305)
>         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecut
or$Worker.runTask(ThreadPoolExecutor.java:665)
>         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecut
or$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.







[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 06:14 PM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register