[
https://issues.apache.org/jira/browse/DIRSERVER-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12721164#action_12721164
]
Emmanuel Lecharny commented on DIRSERVER-1377:
----------------------------------------------
I have added some traces, we get a NPE in the AvlTreeMarshaller (the tree dump
at the end) :
java.lang.NullPointerException
at
org.apache.directory.server.core.avltree.AvlTreeMarshaller.deserialize(AvlTreeMarshaller.java:210)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.getDupsContainer(JdbmTable.java:864)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.put(JdbmTable.java:593)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.add(JdbmIndex.java:458)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmStore.add(JdbmStore.java:1221)
at
org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.add(JdbmPartition.java:584)
at
org.apache.directory.server.core.partition.DefaultPartitionNexus.add(DefaultPartitionNexus.java:849)
at
org.apache.directory.server.core.interceptor.InterceptorChain$1.add(InterceptorChain.java:137)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.trigger.TriggerInterceptor.add(TriggerInterceptor.java:282)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.event.EventInterceptor.add(EventInterceptor.java:153)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.add(CollectiveAttributeInterceptor.java:352)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.subtree.SubentryInterceptor.add(SubentryInterceptor.java:582)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.schema.SchemaInterceptor.add(SchemaInterceptor.java:1872)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.operational.OperationalAttributeInterceptor.add(OperationalAttributeInterceptor.java:202)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.exception.ExceptionInterceptor.add(ExceptionInterceptor.java:220)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.interceptor.BaseInterceptor.add(BaseInterceptor.java:129)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.authz.AciAuthorizationInterceptor.add(AciAuthorizationInterceptor.java:448)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.referral.ReferralInterceptor.add(ReferralInterceptor.java:251)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.authn.AuthenticationInterceptor.add(AuthenticationInterceptor.java:212)
at
org.apache.directory.server.core.interceptor.InterceptorChain$Entry$1.add(InterceptorChain.java:1196)
at
org.apache.directory.server.core.normalization.NormalizationInterceptor.add(NormalizationInterceptor.java:117)
at
org.apache.directory.server.core.interceptor.InterceptorChain.add(InterceptorChain.java:756)
at
org.apache.directory.server.core.DefaultOperationManager.add(DefaultOperationManager.java:260)
at
org.apache.directory.server.core.DefaultCoreSession.add(DefaultCoreSession.java:183)
at
org.apache.directory.server.core.DefaultCoreSession.add(DefaultCoreSession.java:169)
at
org.apache.directory.server.ldap.handlers.AddHandler.handle(AddHandler.java:57)
at
org.apache.directory.server.ldap.handlers.AddHandler.handle(AddHandler.java:39)
at
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:176)
at
org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:1)
at
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:232)
at
org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:194)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:721)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:433)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:801)
at
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:71)
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
at
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:801)
at
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:793)
at
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:735)
at java.lang.Thread.run(Thread.java:619)
Bad tree : [0x00 0x00 0x00 0x00 0x14 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00
0x00 0x00 0x6C 0x67 0x00 0x00 0x00 0x0A 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x07 0x00 0x00 0x00 0x02
0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x03
0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x02
0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x03
0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04
0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x00 0x00 0x00 0x05
0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x05
0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04
0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x07 0x00 0x00 0x00 0x06
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x08
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0A 0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x02
0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x08
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04
0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x6C 0x73 0x00 0x00 0x00 0x11
0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x6C 0x6F
0x00 0x00 0x00 0x0D 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00
0x00 0x00 0x6C 0x6D 0x00 0x00 0x00 0x0B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x6C 0x71
0x00 0x00 0x00 0x0F 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00
0x00 0x00 0x6C 0x70 0x00 0x00 0x00 0x0E 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x6C 0x72
0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04
0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x6C 0x74 0x00 0x00 0x00 0x12
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00
0x00 0x00 0x6C 0x78 0x00 0x00 0x00 0x13 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
]
> Potential concurrency issue when adding/modifying/deleting entries at a high
> rate
> ---------------------------------------------------------------------------------
>
> Key: DIRSERVER-1377
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1377
> Project: Directory ApacheDS
> Issue Type: Bug
> Affects Versions: 1.5.4
> Reporter: Emmanuel Lecharny
> Priority: Blocker
> Fix For: 1.5.5
>
>
> When adding/deleting entries with many clients (a client add and delete an
> entry many times), we may have some concurrency problem, as the index are
> updated without concurrent acces protection.
> Synchronizing the classes where we update the index might help.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.