You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Jörg Henne (JIRA)" <ji...@apache.org> on 2006/02/17 12:56:26 UTC

[jira] Updated: (DIRSERVER-579) Corrupt database causes server startup to fail

     [ http://issues.apache.org/jira/browse/DIRSERVER-579?page=all ]

Jörg Henne updated DIRSERVER-579:
---------------------------------

    Attachment: db.zip

> Corrupt database causes server startup to fail
> ----------------------------------------------
>
>          Key: DIRSERVER-579
>          URL: http://issues.apache.org/jira/browse/DIRSERVER-579
>      Project: Directory ApacheDS
>         Type: Bug
>   Components: core
>     Versions: pre-1.0
>  Environment: DS 0.9.3, Windows
>     Reporter: Jörg Henne
>  Attachments: db.zip
>
> The server left one of its databases in a corrupt state, which causes the startup to fail. The database corruption happened when I was editing the directory using JXplorer.
> I think database corruption should not cause the startup to fail. Instead it should try to recover as much as possible.
> I will attach the database in question. The partition configuration is this:
>   <bean id="tcatTestPartition" class="org.apache.ldap.server.configuration.MutableDirectoryPartitionConfiguration">
>     <property name="name"><value>tcat</value></property>
>     <property name="suffix"><value>dc=tcat,dc=test</value></property>
>     <property name="indexedAttributes">
>       <set>
>         <value>dc</value>
>         <value>ou</value>
>         <value>objectClass</value>
>         <value>krb5PrincipalName</value>
>         <value>uid</value>
>       </set>
>     </property>
>     <property name="contextEntry">
>       <value>
>         objectClass: top
>         objectClass: domain
>         objectClass: extensibleObject
>         dc: tcat
>       </value>
>     </property>
>   </bean>
> This is the log from the failed startup attempt:
> INFO  2006-02-17 12:45:29,616 [server.ServerMain; main]: server: loading settings from main/server.xml
> INFO  2006-02-17 12:45:29,806 [xml.XmlBeanDefinitionReader; main]: Loading XML bean definitions from file [C:\workspace\apacheds-0.9.3\main\server.xml]
> INFO  2006-02-17 12:45:29,996 [core.CollectionFactory; main]: JDK 1.4+ collections available
> INFO  2006-02-17 12:45:30,016 [core.CollectionFactory; main]: Commons Collections 3.x available
> INFO  2006-02-17 12:45:30,217 [support.FileSystemXmlApplicationContext; main]: Bean factory for application context [org.springframework.context.support.FileSystemXmlApplicationContext;hashCode=22057969]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [environment,configuration,examplePartitionConfiguration,examplePartitionConfiguration2,tcatTestPartition,org.springframework.beans.factory.config.CustomEditorConfigurer]; root of BeanFactory hierarchy
> INFO  2006-02-17 12:45:30,237 [support.FileSystemXmlApplicationContext; main]: 6 beans defined in application context [org.springframework.context.support.FileSystemXmlApplicationContext;hashCode=22057969]
> INFO  2006-02-17 12:45:30,237 [support.DefaultListableBeanFactory; main]: Creating shared instance of singleton bean 'org.springframework.beans.factory.config.CustomEditorConfigurer'
> INFO  2006-02-17 12:45:30,297 [support.FileSystemXmlApplicationContext; main]: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@1342a67]
> INFO  2006-02-17 12:45:30,297 [support.FileSystemXmlApplicationContext; main]: Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@1d8d39f]
> INFO  2006-02-17 12:45:30,307 [support.DefaultListableBeanFactory; main]: Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [environment,configuration,examplePartitionConfiguration,examplePartitionConfiguration2,tcatTestPartition,org.springframework.beans.factory.config.CustomEditorConfigurer]; root of BeanFactory hierarchy]
> INFO  2006-02-17 12:45:30,307 [support.DefaultListableBeanFactory; main]: Creating shared instance of singleton bean 'environment'
> INFO  2006-02-17 12:45:30,307 [support.DefaultListableBeanFactory; main]: Creating shared instance of singleton bean 'configuration'
> INFO  2006-02-17 12:45:30,467 [support.DefaultListableBeanFactory; main]: Creating shared instance of singleton bean 'examplePartitionConfiguration'
> INFO  2006-02-17 12:45:30,497 [support.DefaultListableBeanFactory; main]: Creating shared instance of singleton bean 'examplePartitionConfiguration2'
> INFO  2006-02-17 12:45:30,497 [support.DefaultListableBeanFactory; main]: Creating shared instance of singleton bean 'tcatTestPartition'
> Exception in thread "main" org.apache.ldap.server.interceptor.InterceptorException: Failed to initialize interceptor chain. [Root exception is java.lang.NullPointerException]
> 	at org.apache.ldap.server.interceptor.InterceptorChain.init(InterceptorChain.java:243)
> 	at org.apache.ldap.server.DefaultDirectoryService.initialize(DefaultDirectoryService.java:680)
> 	at org.apache.ldap.server.DefaultDirectoryService.startup(DefaultDirectoryService.java:203)
> 	at org.apache.ldap.server.jndi.AbstractContextFactory.getInitialContext(AbstractContextFactory.java:102)
> 	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
> 	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
> 	at javax.naming.InitialContext.init(InitialContext.java:223)
> 	at javax.naming.InitialContext.<init>(InitialContext.java:197)
> 	at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
> 	at org.apache.ldap.server.ServerMain.main(ServerMain.java:76)
> Caused by: java.lang.NullPointerException
> 	at org.apache.ldap.server.partition.impl.btree.ScopeEvaluator.assertSubtreeScope(ScopeEvaluator.java:102)
> 	at org.apache.ldap.server.partition.impl.btree.ScopeEvaluator.evaluate(ScopeEvaluator.java:79)
> 	at org.apache.ldap.server.partition.impl.btree.LeafEvaluator.evaluate(LeafEvaluator.java:108)
> 	at org.apache.ldap.server.partition.impl.btree.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:106)
> 	at org.apache.ldap.server.partition.impl.btree.ExpressionEnumerator$2.assertCandidate(ExpressionEnumerator.java:259)
> 	at org.apache.ldap.server.partition.impl.btree.IndexAssertionEnumeration.prefetch(IndexAssertionEnumeration.java:165)
> 	at org.apache.ldap.server.partition.impl.btree.IndexAssertionEnumeration.<init>(IndexAssertionEnumeration.java:66)
> 	at org.apache.ldap.server.partition.impl.btree.ExpressionEnumerator.enumConj(ExpressionEnumerator.java:272)
> 	at org.apache.ldap.server.partition.impl.btree.ExpressionEnumerator.enumerate(ExpressionEnumerator.java:134)
> 	at org.apache.ldap.server.partition.impl.btree.DefaultSearchEngine.search(DefaultSearchEngine.java:139)
> 	at org.apache.ldap.server.partition.impl.btree.BTreeDirectoryPartition.search(BTreeDirectoryPartition.java:256)
> 	at org.apache.ldap.server.partition.DefaultDirectoryPartitionNexus.search(DefaultDirectoryPartitionNexus.java:647)
> 	at org.apache.ldap.server.authz.GroupCache.initialize(GroupCache.java:99)
> 	at org.apache.ldap.server.authz.GroupCache.<init>(GroupCache.java:79)
> 	at org.apache.ldap.server.authz.AuthorizationService.init(AuthorizationService.java:156)
> 	at org.apache.ldap.server.interceptor.InterceptorChain.register0(InterceptorChain.java:398)
> 	at org.apache.ldap.server.interceptor.InterceptorChain.register(InterceptorChain.java:357)
> 	at org.apache.ldap.server.interceptor.InterceptorChain.init(InterceptorChain.java:229)
> 	... 9 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira