directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (DIRSERVER-1863) ApacheDS 2.0.0M12 in production, getting ERR_554 double get for block 0
Date Thu, 20 Jun 2013 09:39:21 GMT

     [ https://issues.apache.org/jira/browse/DIRSERVER-1863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Emmanuel Lecharny resolved DIRSERVER-1863.
------------------------------------------

    Resolution: Duplicate

As a matter of fact, we just fixed a huge bug in the server yesterday, which was producing
the exact same error than he one you posted.

Bottom line, we had some conflict when some search was conducted when some modify operation
was done at the very same time, due to a wrong usage of some locks.

We are cutting a new release today.

Thanks for the report.
                
> ApacheDS 2.0.0M12 in production, getting ERR_554 double get for block 0
> -----------------------------------------------------------------------
>
>                 Key: DIRSERVER-1863
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1863
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M12
>         Environment: RedHat 5.8
> java version "1.6.0_45"
> Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
> Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
>            Reporter: Slavomir Kocka
>            Priority: Blocker
>
> Clean installation of ApacheDS we use together with Websphere Application Server 8.0.0.4...
> After one day of intensive testing, we got error, which broke partition. Server was unable
to respond, and after restart, it was unable start again... We have also mirror LDAP... Comparing
broken vs correct LDAP, master.lg on broken has 294 bytes, and on correct 123377231 bytes.
> Stacktrace from log, when error occured:
> [09:36:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [09:36:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception
forcing session to close: sending disconnect notice to client.
> java.lang.Error: ERR_554 double get for block 0
> 	at jdbm.recman.RecordFile.get(RecordFile.java:185)
> 	at jdbm.recman.PhysicalRowIdManager.fetch(PhysicalRowIdManager.java:159)
> 	at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:323)
> 	at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:299)
> 	at jdbm.recman.BaseRecordManager.getNameDirectory(BaseRecordManager.java:451)
> 	at jdbm.recman.BaseRecordManager.getNamedObject(BaseRecordManager.java:379)
> 	at jdbm.recman.CacheRecordManager.getNamedObject(CacheRecordManager.java:377)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.sync(JdbmTable.java:959)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.commit(JdbmTable.java:1169)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.remove(JdbmTable.java:810)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.drop(JdbmIndex.java:435)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.drop(JdbmIndex.java:59)
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.updateRdnIdx(AbstractBTreePartition.java:890)
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.add(AbstractBTreePartition.java:765)
> 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.add(DefaultPartitionNexus.java:385)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor$1.add(BaseInterceptor.java:158)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.trigger.TriggerInterceptor.add(TriggerInterceptor.java:300)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.event.EventInterceptor.add(EventInterceptor.java:220)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.subtree.SubentryInterceptor.add(SubentryInterceptor.java:1011)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.collective.CollectiveAttributeInterceptor.add(CollectiveAttributeInterceptor.java:134)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.operational.OperationalAttributeInterceptor.add(OperationalAttributeInterceptor.java:252)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.schema.SchemaInterceptor.add(SchemaInterceptor.java:1095)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.hash.PasswordHashingInterceptor.add(PasswordHashingInterceptor.java:84)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.exception.ExceptionInterceptor.add(ExceptionInterceptor.java:188)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.admin.AdministrativePointInterceptor.add(AdministrativePointInterceptor.java:1201)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.authz.AciAuthorizationInterceptor.add(AciAuthorizationInterceptor.java:516)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.referral.ReferralInterceptor.add(ReferralInterceptor.java:249)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.authn.AuthenticationInterceptor.add(AuthenticationInterceptor.java:392)
> 	at org.apache.directory.server.core.api.interceptor.BaseInterceptor.next(BaseInterceptor.java:412)
> 	at org.apache.directory.server.core.normalization.NormalizationInterceptor.add(NormalizationInterceptor.java:127)
> 	at org.apache.directory.server.core.DefaultOperationManager.add(DefaultOperationManager.java:373)
> 	at org.apache.directory.server.core.shared.DefaultCoreSession.add(DefaultCoreSession.java:218)
> 	at org.apache.directory.server.core.shared.DefaultCoreSession.add(DefaultCoreSession.java:202)
> 	at org.apache.directory.server.ldap.handlers.request.AddRequestHandler.handle(AddRequestHandler.java:57)
> 	at org.apache.directory.server.ldap.handlers.request.AddRequestHandler.handle(AddRequestHandler.java:39)
> 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:207)
> 	at org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56)
> 	at org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:221)
> 	at org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:217)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
> 	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
> 	at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)
> 	at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
> 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.runTask(UnorderedThreadPoolExecutor.java:474)
> 	at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:428)
> 	at java.lang.Thread.run(Thread.java:662)
> [09:36:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [09:36:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [09:37:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [09:38:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [09:38:43] ERROR [org.apache.directory.server.core.authn.AbstractAuthenticator] - ERR_6
Authentication error : null
> [09:39:26] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [09:39:32] ERROR [org.apache.directory.server.core.authn.AbstractAuthenticator] - ERR_6
Authentication error : null
> [09:40:05] ERROR [org.apache.directory.server.core.authn.AbstractAuthenticator] - ERR_6
Authentication error : null
> [09:40:27] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> After stopping and starting server log contains following:
> [10:03:50] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception
forcing session to close: sending disconnect notice to client.
> java.io.IOException: Connection reset by peer
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:198)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:171)
> 	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:245)
> 	at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
> 	at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
> 	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> 	at java.lang.Thread.run(Thread.java:662)
> [10:03:50] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [10:03:50] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception
forcing session to close: sending disconnect notice to client.
> java.io.IOException: Connection reset by peer
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:198)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:171)
> 	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:245)
> 	at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
> 	at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
> 	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
> 	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> 	at java.lang.Thread.run(Thread.java:662)
> [10:03:50] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [10:03:50] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [10:03:50] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Null LdapSession
given to cleanUpSession.
> [10:03:51] ERROR [org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition]
- ERR_124 Failed to close an index.
> java.lang.Error: ERR_554 double get for block 0
> 	at jdbm.recman.RecordFile.get(RecordFile.java:185)
> 	at jdbm.recman.PhysicalRowIdManager.fetch(PhysicalRowIdManager.java:159)
> 	at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:323)
> 	at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:299)
> 	at jdbm.recman.BaseRecordManager.getNameDirectory(BaseRecordManager.java:451)
> 	at jdbm.recman.BaseRecordManager.getNamedObject(BaseRecordManager.java:379)
> 	at jdbm.recman.CacheRecordManager.getNamedObject(CacheRecordManager.java:377)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.sync(JdbmTable.java:959)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.close(JdbmTable.java:948)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex.close(JdbmIndex.java:664)
> 	at org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition.doDestroy(AbstractBTreePartition.java:474)
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.doDestroy(JdbmPartition.java:473)
> 	at org.apache.directory.server.core.api.partition.AbstractPartition.destroy(AbstractPartition.java:125)
> 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.removeContextPartition(DefaultPartitionNexus.java:909)
> 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.doDestroy(DefaultPartitionNexus.java:278)
> 	at org.apache.directory.server.core.api.partition.AbstractPartition.destroy(AbstractPartition.java:125)
> 	at org.apache.directory.server.core.DefaultDirectoryService.shutdown(DefaultDirectoryService.java:1313)
> 	at org.apache.directory.server.ApacheDsService.stop(ApacheDsService.java:593)
> 	at org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.stop(ApacheDsTanukiWrapper.java:97)
> 	at org.tanukisoftware.wrapper.WrapperManager$13.run(WrapperManager.java:3134)
> [10:03:51] WARN [org.apache.directory.server.core.shared.partition.DefaultPartitionNexus]
- Failed to destroy a partition: 2.5.4.11=ivisiam
> org.apache.directory.api.ldap.model.exception.LdapOperationErrorException: ERR_577 Errors
encountered on destroy()
> 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.removeContextPartition(DefaultPartitionNexus.java:913)
> 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.doDestroy(DefaultPartitionNexus.java:278)
> 	at org.apache.directory.server.core.api.partition.AbstractPartition.destroy(AbstractPartition.java:125)
> 	at org.apache.directory.server.core.DefaultDirectoryService.shutdown(DefaultDirectoryService.java:1313)
> 	at org.apache.directory.server.ApacheDsService.stop(ApacheDsService.java:593)
> 	at org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.stop(ApacheDsTanukiWrapper.java:97)
> 	at org.tanukisoftware.wrapper.WrapperManager$13.run(WrapperManager.java:3134)
> Caused by: org.apache.directory.api.util.exception.MultiException: ERR_577 Errors encountered
on destroy()
> 	at org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition.doDestroy(JdbmPartition.java:464)
> 	at org.apache.directory.server.core.api.partition.AbstractPartition.destroy(AbstractPartition.java:125)
> 	at org.apache.directory.server.core.shared.partition.DefaultPartitionNexus.removeContextPartition(DefaultPartitionNexus.java:909)
> 	... 6 more
> And server was unable to start again...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message