Issue Details (XML | Word | Printable)

Key: DIRSERVER-216
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Unassigned
Reporter: Emmanuel Lecharny
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

Race condition in DNParser

Created: 01/Nov/05 08:16 PM   Updated: 24/Jun/06 08:46 PM
Return to search
Component/s: ldap
Affects Version/s: pre-1.0
Fix Version/s: pre-1.0

Time Tracking:
Not Specified

Issue Links:
Reference
 

Resolution Date: 19/Nov/05 09:45 AM


 Description  « Hide
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)

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no subversion log entries for this issue yet.