[ 
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.

Reply via email to