You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@directory.apache.org by Brad Moody <br...@googlemail.com> on 2010/03/16 12:27:40 UTC

Error in logs originating from JdbmTable.remove

Hi all,

our application uses directory 1.5.5 running in JBoss 5.1. We recently got
the following stack trace in our logs:

java.lang.
IllegalArgumentException: Key not found: 275
at jdbm.btree.BPage.remove(BPage.java:480)
at jdbm.btree.BPage.remove(BPage.java:492)
at jdbm.btree.BPage.remove(BPage.java:492)
at jdbm.btree.BTree.remove(BTree.java:366)
at org.apache.directory
.server.core.partition.impl.btree.jdbm.JdbmTable.remove(JdbmTable.java:803)
at org.apache.directory
.server.core.partition.impl.btree.jdbm.JdbmIndex.drop(JdbmIndex.java:490)
at org.apache.directory
.server.core.partition.impl.btree.jdbm.JdbmStore.replace(JdbmStore.java:1602)
at org.apache.directory
.server.core.partition.impl.btree.jdbm.JdbmStore.modify(JdbmStore.java:1725)
at org.apache.directory
.server.core.partition.impl.btree.jdbm.JdbmPartition.modify(JdbmPartition.java:535)
at org.apache.directory
.server.core.partition.DefaultPartitionNexus.modify(DefaultPartitionNexus.java:845)
at org.apache.directory
.server.core.interceptor.InterceptorChain$1.modify(InterceptorChain.java:143)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.journal.JournalInterceptor.modify(JournalInterceptor.java:217)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.trigger.TriggerInterceptor.modify(TriggerInterceptor.java:347)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.event.EventInterceptor.modify(EventInterceptor.java:195)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.collective.CollectiveAttributeInterceptor.modify(CollectiveAttributeInterceptor.java:360)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.subtree.SubentryInterceptor.modify(SubentryInterceptor.java:1104)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.schema.SchemaInterceptor.modify(SchemaInterceptor.java:1551)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.operational.OperationalAttributeInterceptor.modify(OperationalAttributeInterceptor.java:209
)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.changelog.ChangeLogInterceptor.modify(ChangeLogInterceptor.java:225)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.exception.ExceptionInterceptor.modify(ExceptionInterceptor.java:367)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.authz.DefaultAuthorizationInterceptor.modify(DefaultAuthorizationInterceptor.java:273)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.authz.AciAuthorizationInterceptor.modify(AciAuthorizationInterceptor.java:565)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.referral.ReferralInterceptor.modify(ReferralInterceptor.java:403)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.authn.AuthenticationInterceptor.modify(AuthenticationInterceptor.java:336)
at org.apache.directory
.server.core.interceptor.InterceptorChain$Entry$1.modify(InterceptorChain.java:1216)
at org.apache.directory
.server.core.normalization.NormalizationInterceptor.modify(NormalizationInterceptor.java:146)
at org.apache.directory
.server.core.interceptor.InterceptorChain.modify(InterceptorChain.java:821)
at org.apache.directory
.server.core.DefaultOperationManager.modify(DefaultOperationManager.java:691)
at org.apache.directory
.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:829)
at org.apache.directory
.server.core.DefaultCoreSession.modify(DefaultCoreSession.java:815)
at org.apache.directory
.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.java:56)
at org.apache.directory
.server.ldap.handlers.ModifyHandler.handle(ModifyHandler.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:56)
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.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:480)
at
org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:434)
at java.lang.Thread.run(Thread.java:619)

....which looks (to me) to be very similar to this previously closed issue:

http://issues.apache.org/jira/browse/DIRSERVER-1211

Can anybody offer an opinion on what's going wrong and how to fix it please?

Thanks,
Brad.

Re: Error in logs originating from JdbmTable.remove

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 3/17/10 12:00 PM, Brad Moody wrote:
> Hi Emmanuel,
>
> JIRA reopened as requested.
>    
Thanks ! I rescheduled it to be fix (hoperfully) in the next version.

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com



Re: Error in logs originating from JdbmTable.remove

Posted by Brad Moody <br...@googlemail.com>.
Hi Emmanuel,

JIRA reopened as requested.

Thanks,
Brad.

On Wed, Mar 17, 2010 at 10:47 AM, Emmanuel Lecharny <el...@gmail.com>wrote:

> On 3/17/10 10:41 AM, Brad Moody wrote:
>
>> Hi Kiran,
>>
>> It is very likely there were concurrent operations going on. We think they
>> were performing an operation in our software which would have initiated a
>> delete in the directory structure. Unfortunately that's all we have to go
>> on
>> for now.
>>
>>
> Hi Brad,
>
> can you reopen the JIRA ? We will go through all the operations to check
> what's going on, but it may take a while.
>
>
> --
>
> Regards,
> Cordialement,
> Emmanuel Lécharny
> www.nextury.com
>
>
>

Re: Error in logs originating from JdbmTable.remove

Posted by Emmanuel Lecharny <el...@gmail.com>.
On 3/17/10 10:41 AM, Brad Moody wrote:
> Hi Kiran,
>
> It is very likely there were concurrent operations going on. We think they
> were performing an operation in our software which would have initiated a
> delete in the directory structure. Unfortunately that's all we have to go on
> for now.
>    
Hi Brad,

can you reopen the JIRA ? We will go through all the operations to check 
what's going on, but it may take a while.


-- 

Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com



Re: Error in logs originating from JdbmTable.remove

Posted by Brad Moody <br...@googlemail.com>.
Hi Kiran,

It is very likely there were concurrent operations going on. We think they
were performing an operation in our software which would have initiated a
delete in the directory structure. Unfortunately that's all we have to go on
for now.


On Tue, Mar 16, 2010 at 8:29 PM, Kiran Ayyagari <ay...@gmail.com>wrote:

> On 3/16/10 1:27 PM, Brad Moody wrote:
>
>> Hi all,
>>
>> our application uses directory 1.5.5 running in JBoss 5.1. We recently got
>> the following stack trace in our logs:
>>
>> java.lang.
>> IllegalArgumentException: Key not found: 275
>> at jdbm.btree.BPage.remove(BPage.java:480)
>> at jdbm.btree.BPage.remove(BPage.java:492)
>> at jdbm.btree.BPage.remove(BPage.java:492)
>> at jdbm.btree.BTree.remove(BTree.java:366)
>> at org.apache.directory
>>
>> .server.core.partition.impl.btree.jdbm.JdbmTable.remove(JdbmTable.java:803)
>>
>
> as you mentioned this issue was identified and fixed earlier, looks like
> this is happening in a highly concurrent(just a wild guess cause you said
> you found this stacktrace 'recently')
>
> can you provide any more details about the kind of operations performed on
> the server
>
>
> Kiran Ayyagari
>

Re: Error in logs originating from JdbmTable.remove

Posted by Kiran Ayyagari <ay...@gmail.com>.
On 3/16/10 1:27 PM, Brad Moody wrote:
> Hi all,
>
> our application uses directory 1.5.5 running in JBoss 5.1. We recently got
> the following stack trace in our logs:
>
> java.lang.
> IllegalArgumentException: Key not found: 275
> at jdbm.btree.BPage.remove(BPage.java:480)
> at jdbm.btree.BPage.remove(BPage.java:492)
> at jdbm.btree.BPage.remove(BPage.java:492)
> at jdbm.btree.BTree.remove(BTree.java:366)
> at org.apache.directory
> .server.core.partition.impl.btree.jdbm.JdbmTable.remove(JdbmTable.java:803)

as you mentioned this issue was identified and fixed earlier, looks like 
this is happening in a highly concurrent(just a wild guess cause you 
said you found this stacktrace 'recently')

can you provide any more details about the kind of operations performed 
on the server


Kiran Ayyagari