Hello, We are using ApacheDS 1.5.7. Thank you for your help.
Mit freundlichen Grüßen / Best regards Daniel van Maren Bosch Software Innovations GmbH Stuttgarter Str. 130, 71332 Waiblingen GERMANY www.bosch-si.de daniel.vanma...@bosch-si.com Registered office: Immenstaad, Register court: Amtsgericht Ulm, HRB 631888; Executives: Heinz Derenbach; Erica Fölsche, Thomas Cotic, Michael Hahn, Klaus Hüftle -----Ursprüngliche Nachricht----- Von: ayyagariki...@gmail.com [mailto:ayyagariki...@gmail.com] Im Auftrag von Kiran Ayyagari Gesendet: Mittwoch, 17. Oktober 2012 14:16 An: users@directory.apache.org Betreff: Re: ApacheDS crashes on Startup after Backup-Restoration which version of ApacheDS you are using? On Wed, Oct 17, 2012 at 5:10 PM, <daniel.vanma...@bosch-si.com> wrote: > Greetings, > > We are using ApacheDS as LDAP provider for one of our Solutions (for user > authentication). > Recently one of our ApacheDS Servers experienced a database corruption - we > are not sure why. > The ApacheDS server booted up correctly, but when some client tried to > retrieve a list of all users (for instance the Apache Directory Studio), the > Server throws a exception and closes the socket to the client: > > [05:40:05] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - > Unexpected exception forcing session to close: sending disconnect notice to > client. > java.lang.Error: ERR_546 CRITICAL: page header magic for block 64 not OK 0 > at jdbm.recman.PageHeader.<init>(PageHeader.java:95) > at jdbm.recman.PageHeader.getView(PageHeader.java:124) > at jdbm.recman.PageManager.getNext(PageManager.java:234) > at jdbm.recman.PageCursor.next(PageCursor.java:104) > at > jdbm.recman.PhysicalRowIdManager.fetch(PhysicalRowIdManager.java:158) > at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:324) > at jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:262) > at jdbm.btree.BPage.loadBPage(BPage.java:899) > at jdbm.btree.BPage.childBPage(BPage.java:890) > at jdbm.btree.BPage.find(BPage.java:284) > at jdbm.btree.BTree.find(BTree.java:408) > at > org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmTable.get(JdbmTable.java:395) > at > org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmMasterTable.get(JdbmMasterTable.java:155) > at > org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmStore.lookup(JdbmStore.java:1332) > at > org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmStore.lookup(JdbmStore.java:70) > at > org.apache.directory.server.xdbm.AbstractXdbmPartition.lookup(AbstractXdbmPartition.java:327) > at > org.apache.directory.server.core.partition.impl.btree.ServerEntryCursorAdaptor.get(ServerEntryCursorAdaptor.java:139) > at > org.apache.directory.server.core.partition.impl.btree.ServerEntryCursorAdaptor.get(ServerEntryCursorAdaptor.java:39) > at > org.apache.directory.server.core.filtering.BaseEntryFilteringCursor.next(BaseEntryFilteringCursor.java:503) > at > org.apache.directory.server.ldap.handlers.SearchHandler.readResults(SearchHandler.java:314) > at > org.apache.directory.server.ldap.handlers.SearchHandler.doSimpleSearch(SearchHandler.java:749) > at > org.apache.directory.server.ldap.handlers.SearchHandler.handleIgnoringReferrals(SearchHandler.java:978) > at > org.apache.directory.server.ldap.handlers.SearchHandler.handleWithReferrals(SearchHandler.java:1054) > at > org.apache.directory.server.ldap.handlers.SearchHandler.handleWithReferrals(SearchHandler.java:78) > at > org.apache.directory.server.ldap.handlers.ReferralAwareRequestHandler.handle(ReferralAwareRequestHandler.java:94) > at > org.apache.directory.server.ldap.handlers.ReferralAwareRequestHandler.handle(ReferralAwareRequestHandler.java:57) > at > org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:208) > at > org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:58) > at > org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:232) > at > org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:193) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793) > 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:662) > [05:40:05] WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - > Unexpected exception forcing session to close: sending disconnect notice to > client. > org.apache.mina.core.write.WriteToClosedSessionException > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.clearWriteRequestQueue(AbstractPollingIoProcessor.java:573) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:525) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.removeSessions(AbstractPollingIoProcessor.java:497) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:61) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:974) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > > We do not think that there is a way to repair this corruption, therefore we > tried to restore a backup (we are using Tivoli for backup of our SAN storage). > We were able to determine the Point in Time when the corruption took place, > as we use a oracle database job which fails in case the LDAP query fails. > After trying to restore to the point in time when the Database was still > working we experienced a new Problem: > The ApacheDS Server fails to boot up - it crashes with the following Stack > trace: > > [11:27:58] WARN [org.apache.directory.shared.ldap.ldif.LdifReader] - > No version information : assuming version: 1 [11:27:58] WARN > [org.apache.directory.shared.ldap.ldif.LdifReader] - No version > information : assuming version: 1 [11:27:58] WARN > [org.apache.directory.shared.ldap.ldif.LdifReader] - No version > information : assuming version: 1 [11:27:58] WARN > [org.apache.directory.shared.ldap.ldif.LdifReader] - No version > information : assuming version: 1 [11:27:58] WARN > [org.apache.directory.shared.ldap.ldif.LdifReader] - No version information : > assuming version: 1 [11:27:58] WARN > [org.apache.directory.shared.ldap.ldif.LdifReader] - No version information : > assuming version: 1 [11:27:59] ERROR > [org.apache.directory.daemon.Bootstrapper] - Failed on > null.init(InstallationLayout, String[]) java.lang.NullPointerException > at > org.apache.directory.server.core.entry.ClonedServerEntry.<init>(ClonedServerEntry.java:67) > at > org.apache.directory.server.xdbm.AbstractXdbmPartition.lookup(AbstractXdbmPartition.java:327) > at > org.apache.directory.server.core.partition.impl.btree.ServerEntryCursorAdaptor.get(ServerEntryCursorAdaptor.java:139) > at > org.apache.directory.server.core.partition.impl.btree.ServerEntryCursorAdaptor.get(ServerEntryCursorAdaptor.java:39) > at > org.apache.directory.server.core.filtering.BaseEntryFilteringCursor.next(BaseEntryFilteringCursor.java:503) > at > org.apache.directory.server.core.authz.GroupCache.initialize(GroupCache.java:147) > at > org.apache.directory.server.core.authz.GroupCache.<init>(GroupCache.java:111) > at > org.apache.directory.server.core.authz.AciAuthorizationInterceptor.init(AciAuthorizationInterceptor.java:202) > at > org.apache.directory.server.core.interceptor.InterceptorChain.register0(InterceptorChain.java:442) > at > org.apache.directory.server.core.interceptor.InterceptorChain.register(InterceptorChain.java:398) > at > org.apache.directory.server.core.interceptor.InterceptorChain.init(InterceptorChain.java:258) > at > org.apache.directory.server.core.DefaultDirectoryService.initialize(DefaultDirectoryService.java:1447) > at > org.apache.directory.server.core.DefaultDirectoryService.startup(DefaultDirectoryService.java:907) > at > org.apache.directory.server.configuration.ApacheDS.startup(ApacheDS.java:163) > at org.apache.directory.server.Service.initLdap(Service.java:136) > at org.apache.directory.server.Service.init(Service.java:77) > at > org.apache.directory.daemon.Bootstrapper.callInit(Bootstrapper.java:154) > at > org.apache.directory.daemon.TanukiBootstrapper.start(TanukiBootstrapper.java:54) > at > org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2 > 788) > > I failed to archive any information in the internet about this szenario. > Does someone know what the problem is? > May the Tivoli backup restore some inconsistent state? > > Is there any chance to rescue the data of this LDAP server? > Good thing it was no Productive environment this time - only QA, but > it would be great to solve this in order to know how to solve it the > next time.. ;-) (if there is a way to solve it) > > Some additional information about our Environment: We are using Red Head > Enterprise Linux release 5.8 (x86_64) on the impacted server. > ApacheDS is running on the embedded Java Virtual Machine > > > Mit freundlichen Grüßen / Best regards > > Daniel van Maren > > Bosch Software Innovations GmbH > Stuttgarter Str. 130, > 71332 Waiblingen > GERMANY > www.bosch-si.de > > daniel.vanma...@bosch-si.com<mailto:nikolaj.lang...@bosch-si.com> > > Registered office: Immenstaad, Register court: Amtsgericht Ulm, HRB > 631888; > Executives: Heinz Derenbach; Erica Fölsche, Thomas Cotic, Michael > Hahn, Klaus Hüftle > -- Kiran Ayyagari http://keydap.com