You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2006/06/24 15:48:30 UTC

[jira] Closed: (DIRSERVER-216) Race condition in DNParser

     [ http://issues.apache.org/jira/browse/DIRSERVER-216?page=all ]
     
Emmanuel Lecharny closed DIRSERVER-216:
---------------------------------------


We don't use anymore the antlr grammar to parse DNs

> Race condition in DNParser
> --------------------------
>
>          Key: DIRSERVER-216
>          URL: http://issues.apache.org/jira/browse/DIRSERVER-216
>      Project: Directory ApacheDS
>         Type: Bug

>   Components: ldap
>     Versions: pre-1.0
>     Reporter: Emmanuel Lecharny
>     Priority: Blocker
>      Fix For: pre-1.0

>
> I got an exception while parsing a DN under heavy load. It seems that theDNParser is not thread-safe
> Here are the traces (some logs have been added) : 
>     2354> --AuthenticationService         -- [ERROR] Authentication failed : null
>     4912> --SimpleAuthenticator           -- [ERROR] Error : first argument was not a distinguished name : ou=groups,ou=system/Parser failure on name:
> 	ou=groups,ou=system
> Antlr exception trace:
> line 1:1: unexpected token: ou
> 	at org.apache.ldap.common.name.antlrNameParser.attributeTypeAndValue(antlrNameParser.java:181)
> 	at org.apache.ldap.common.name.antlrNameParser.nameComponent(antlrNameParser.java:120)
> 	at org.apache.ldap.common.name.antlrNameParser.name(antlrNameParser.java:69)
> 	at org.apache.ldap.common.name.DnParser.parse(DnParser.java:187)
> 	at org.apache.ldap.common.name.DnParser.parse(DnParser.java:228)
> 	at org.apache.ldap.common.schema.DnComparator.compare(DnComparator.java:100)
> 	at org.apache.ldap.server.schema.SerializableComparator.compare(SerializableComparator.java:95)
> 	at jdbm.btree.BPage.compare(BPage.java:841)
> 	at jdbm.btree.BPage.findChildren(BPage.java:682)
> 	at jdbm.btree.BPage.find(BPage.java:269)
> 	at jdbm.btree.BTree.find(BTree.java:407)
> 	at org.apache.ldap.server.partition.impl.btree.jdbm.JdbmTable.getRaw(JdbmTable.java:1108)
> 	at org.apache.ldap.server.partition.impl.btree.jdbm.JdbmTable.get(JdbmTable.java:288)
> 	at org.apache.ldap.server.partition.impl.btree.jdbm.JdbmIndex.forwardLookup(JdbmIndex.java:208)
> 	at org.apache.ldap.server.partition.impl.btree.jdbm.JdbmDirectoryPartition.getEntryId(JdbmDirectoryPartition.java:512)
> 	at org.apache.ldap.server.partition.impl.btree.BTreeDirectoryPartition.lookup(BTreeDirectoryPartition.java:264)
> 	at org.apache.ldap.server.partition.impl.btree.BTreeDirectoryPartition.lookup(BTreeDirectoryPartition.java:275)
> 	at org.apache.ldap.server.partition.DefaultDirectoryPartitionNexus.lookup(DefaultDirectoryPartitionNexus.java:710)
> 	at org.apache.ldap.server.authn.SimpleAuthenticator.authenticate(SimpleAuthenticator.java:103)
> 	at org.apache.ldap.server.authn.AuthenticationService.authenticate(AuthenticationService.java:372)
> 	at org.apache.ldap.server.authn.AuthenticationService.hasEntry(AuthenticationService.java:216)
> 	at org.apache.ldap.server.interceptor.InterceptorChain$2.hasEntry(InterceptorChain.java:1232)
> 	at org.apache.ldap.server.normalization.NormalizationService.hasEntry(NormalizationService.java:175)
> 	at org.apache.ldap.server.interceptor.InterceptorChain.hasEntry(InterceptorChain.java:809)
> 	at org.apache.ldap.server.partition.DirectoryPartitionNexusProxy.hasEntry(DirectoryPartitionNexusProxy.java:449)
> 	at org.apache.ldap.server.partition.DirectoryPartitionNexusProxy.hasEntry(DirectoryPartitionNexusProxy.java:438)
> 	at org.apache.ldap.server.jndi.ServerContext.<init>(ServerContext.java:139)
> 	at org.apache.ldap.server.jndi.ServerDirContext.<init>(ServerDirContext.java:78)
> 	at org.apache.ldap.server.jndi.ServerLdapContext.<init>(ServerLdapContext.java:58)
> 	at org.apache.ldap.server.DefaultDirectoryService.getJndiContext(DefaultDirectoryService.java:173)
> 	at org.apache.ldap.server.jndi.AbstractContextFactory.getInitialContext(AbstractContextFactory.java:121)
> 	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
> 	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
> 	at javax.naming.InitialContext.init(InitialContext.java:223)
> 	at javax.naming.InitialContext.<init>(InitialContext.java:197)
> 	at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
> 	at org.apache.ldap.server.ServerMain.main(ServerMain.java:96)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira