You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Slavomir Kocka (JIRA)" <ji...@apache.org> on 2013/06/20 10:54:21 UTC

[jira] [Created] (DIRSERVER-1863) ApacheDS 2.0.0M12 in production, getting ERR_554 double get for block 0

Slavomir Kocka created DIRSERVER-1863:
-----------------------------------------

             Summary: 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