exist statup fails if umlaut or synonym-file is not available
How to reproduce the error:
- In collection.xconf declare the FontaneAnalyser as follows:
<analyzer id="fontane" class="eu.dariah.de.fontane.lucene.FontaneAnalyzer">
<param name="mappings" type="java.io.FileReader" value="/file_does_not_exist.txt"/>
<param name="synonyms" type="java.io.FileReader" value="/file_does_not_exist.txt"/>
</analyzer>
-
Be sure the referenced files do not exist!
-
be not happy about this error on eXist-Restart:
19 Jul 2018 14:22:03,999 [main] ERROR (JettyStart.java [run]:177) - configuration error: null
org.exist.EXistException: null
at org.exist.storage.BrokerPool._initialize(BrokerPool.java:669) ~[exist.jar:4.0.0]
at org.exist.storage.BrokerPool.initialize(BrokerPool.java:415) ~[exist.jar:4.0.0]
at org.exist.storage.BrokerPools.configure(BrokerPools.java:181) ~[exist.jar:4.0.0]
at org.exist.storage.BrokerPools.configure(BrokerPools.java:110) ~[exist.jar:4.0.0]
at org.exist.jetty.JettyStart.run(JettyStart.java:169) [exist-optional.jar:4.0.0]
at org.exist.jetty.JettyStart.main(JettyStart.java:82) [exist-optional.jar:4.0.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171]
at org.exist.start.Main.invokeMain(Main.java:140) [start.jar:4.0.0]
at org.exist.start.Main.run(Main.java:453) [start.jar:4.0.0]
at org.exist.start.Main.main(Main.java:64) [start.jar:4.0.0]
Caused by: java.lang.NullPointerException
at org.exist.indexing.lucene.AnalyzerConfig.configureAnalyzer(AnalyzerConfig.java:198) ~[exist-index-lucene.jar:4.0.0]
at org.exist.indexing.lucene.AnalyzerConfig.addAnalyzer(AnalyzerConfig.java:115) ~[exist-index-lucene.jar:4.0.0]
at org.exist.indexing.lucene.LuceneConfig.parseConfig(LuceneConfig.java:260) ~[exist-index-lucene.jar:4.0.0]
at org.exist.indexing.lucene.LuceneConfig.parseConfig(LuceneConfig.java:256) ~[exist-index-lucene.jar:4.0.0]
at org.exist.indexing.lucene.LuceneConfig.<init>(LuceneConfig.java:75) ~[exist-index-lucene.jar:4.0.0]
at org.exist.indexing.lucene.LuceneIndexWorker.configure(LuceneIndexWorker.java:156) ~[exist-index-lucene.jar:4.0.0]
at org.exist.indexing.IndexController.configure(IndexController.java:82) ~[exist.jar:4.0.0]
at org.exist.storage.IndexSpec.read(IndexSpec.java:107) ~[exist.jar:4.0.0]
at org.exist.storage.IndexSpec.<init>(IndexSpec.java:68) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfiguration.read(CollectionConfiguration.java:155) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.loadConfiguration(CollectionConfigurationManager.java:278) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:252) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:260) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:260) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:260) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:244) ~[exist.jar:4.0.0]
at org.exist.collections.CollectionConfigurationManager.startSystem(CollectionConfigurationManager.java:88) ~[exist.jar:4.0.0]
at org.exist.storage.BrokerPoolServicesManager.startSystemServices(BrokerPoolServicesManager.java:184) ~[exist.jar:4.0.0]
at org.exist.storage.BrokerPool._initialize(BrokerPool.java:578) ~[exist.jar:4.0.0]
... 12 more
org.exist.EXistException
at org.exist.storage.BrokerPool._initialize(BrokerPool.java:669)
at org.exist.storage.BrokerPool.initialize(BrokerPool.java:415)
at org.exist.storage.BrokerPools.configure(BrokerPools.java:181)
at org.exist.storage.BrokerPools.configure(BrokerPools.java:110)
at org.exist.jetty.JettyStart.run(JettyStart.java:169)
at org.exist.jetty.JettyStart.main(JettyStart.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.exist.start.Main.invokeMain(Main.java:140)
at org.exist.start.Main.run(Main.java:453)
at org.exist.start.Main.main(Main.java:64)
Caused by: java.lang.NullPointerException
at org.exist.indexing.lucene.AnalyzerConfig.configureAnalyzer(AnalyzerConfig.java:198)
at org.exist.indexing.lucene.AnalyzerConfig.addAnalyzer(AnalyzerConfig.java:115)
at org.exist.indexing.lucene.LuceneConfig.parseConfig(LuceneConfig.java:260)
at org.exist.indexing.lucene.LuceneConfig.parseConfig(LuceneConfig.java:256)
at org.exist.indexing.lucene.LuceneConfig.<init>(LuceneConfig.java:75)
at org.exist.indexing.lucene.LuceneIndexWorker.configure(LuceneIndexWorker.java:156)
at org.exist.indexing.IndexController.configure(IndexController.java:82)
at org.exist.storage.IndexSpec.read(IndexSpec.java:107)
at org.exist.storage.IndexSpec.<init>(IndexSpec.java:68)
at org.exist.collections.CollectionConfiguration.read(CollectionConfiguration.java:155)
at org.exist.collections.CollectionConfigurationManager.loadConfiguration(CollectionConfigurationManager.java:278)
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:252)
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:260)
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:260)
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:260)
at org.exist.collections.CollectionConfigurationManager.loadAllConfigurations(CollectionConfigurationManager.java:244)
at org.exist.collections.CollectionConfigurationManager.startSystem(CollectionConfigurationManager.java:88)
at org.exist.storage.BrokerPoolServicesManager.startSystemServices(BrokerPoolServicesManager.java:184)
at org.exist.storage.BrokerPool._initialize(BrokerPool.java:578)
... 12 more
- What to do next (since eXist won't start ever again):
- on your local filesystem go to exists directory
- edit [$EXIST-HOME]/webapp/WEB-INF/data/expathrepo/.expath-pkg/packages.txt by removing the following entry
fontane-lucene-exist-module-2.0.2 http://textgrid.de/exist/fontane-lucene-exist-module 2.0.2
- edit [$EXIST-HOME]/webapp/WEB-INF/data/expathrepo/.expath-pkg/packages.xml by removing the referemce to the fontane-lucene module
- remove the app from exists expathrepo:
rm -r webapp/WEB-INF/data/expathrepo/fontane-lucene-exist-module-2.0.2/
- Be happy again and enter the right file-path next time (or fix this bug :-))!
Edited by usikora