jaeksoft / opensearchserver

Open-source Enterprise Grade Search Engine Software
http://www.opensearchserver.com
Apache License 2.0
499 stars 190 forks source link

Web Interface Crashes When Using Renderer (search) while Crawling #1539

Open jbondhus opened 9 years ago

jbondhus commented 9 years ago

As stated. When a crawl is running, if a search via the renderer search field is attempted, the web interface locks up completely. Attempts to load the web interface fail, with the browser waiting indefinitely for a response from the server. I have to do a reboot from my VM management console as the opensearchserver service refuses to restart properly. This means that crawls must all be stopped in order to do a search. SSH works, and memory usage is normal, with CPU usage is around 1%. See the below screenshots and log files for more information.

Renderer:

Crawler:

Runtime:

Logs:

jbondhus commented 9 years ago

An update - the crawl process configuration is the source of the problem. If auto-complete is enabled to be rebuilt after indexing, the server will crash when a search is performed. This appears to happen whether or not the auto-complete item exists in the configuration (I tried with and without it)

emmanuel-keller commented 9 years ago

Thanks for the details.

These two exceptions should be better handled. They seems to be the reason of the crash. We work on that.

May 24, 2015 12:22:51 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.util.regex.PatternSyntaxException: Unmatched closing ')' near index 18
^\\jons-storage\(.*)
                  ^
    at java.util.regex.Pattern.error(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.util.regex.Pattern.<init>(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.lang.String.replaceAll(Unknown Source)
    at com.jaeksoft.searchlib.renderer.field.RendererField.getValues(RendererField.java:272)
May 24, 2015 1:18:01 AM org.zkoss.bind.impl.BinderImpl$CommandEventListener onEvent:1329
SEVERE: Error writing 'enabled' on type com.jaeksoft.searchlib.crawler.cache.CrawlCacheManager at [file:/var/lib/opensearchserver/server/webapps/ROOT/WEB-INF/zul/runtime/crawlCache.zul, line:43]
org.zkoss.zk.ui.UiException: Error writing 'enabled' on type com.jaeksoft.searchlib.crawler.cache.CrawlCacheManager at [file:/var/lib/opensearchserver/server/webapps/ROOT/WEB-INF/zul/runtime/crawlCache.zul, line:43]
    at org.zkoss.bind.impl.MiscUtil.mergeExceptionInfo(MiscUtil.java:175)
    at org.zkoss.bind.impl.BindEvaluatorXImpl.setValue(BindEvaluatorXImpl.java:61)
    at org.zkoss.bind.impl.SavePropertyBindingImpl.save(SavePropertyBindingImpl.java:148)
    at org.zkoss.bind.impl.PropertyBindingHandler.doSaveBinding(PropertyBindingHandler.java:148)
    at org.zkoss.bind.impl.PropertyBindingHandler.doSaveEvent(PropertyBindingHandler.java:203)
    at org.zkoss.bind.impl.BinderImpl.doSaveEvent(BinderImpl.java:1618)
    at org.zkoss.bind.impl.BinderImpl.access$1300(BinderImpl.java:107)
    at org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent0(BinderImpl.java:1359)
    at org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent(BinderImpl.java:1327)
    at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2743)
    at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2714)
    at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2655)
    at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
    at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1720)
    at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1505)
    at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1215)
    at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:601)
    at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:483)
    at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:492)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.zkoss.zel.ELException: Error writing 'enabled' on type com.jaeksoft.searchlib.crawler.cache.CrawlCacheManager
    at org.zkoss.zel.BeanELResolver.setValue(BeanELResolver.java:173)
    at org.zkoss.zel.CompositeELResolver.setValue(CompositeELResolver.java:81)
    at org.zkoss.zel.CompositeELResolver.setValue(CompositeELResolver.java:81)
    at org.zkoss.xel.zel.XelELResolver.setValue(XelELResolver.java:114)
    at org.zkoss.bind.xel.zel.BindELResolver.setValue(BindELResolver.java:104)
    at org.zkoss.zel.impl.parser.AstValue.setValue(AstValue.java:245)
    at org.zkoss.zel.impl.ValueExpressionImpl.setValue(ValueExpressionImpl.java:247)
    at org.zkoss.xel.zel.ELXelExpression.setValue(ELXelExpression.java:50)
    at org.zkoss.bind.impl.BindEvaluatorXImpl.setValue(BindEvaluatorXImpl.java:58)
    ... 35 more
Caused by: java.lang.NullPointerException
    at java.io.File.<init>(Unknown Source)
    at com.jaeksoft.searchlib.crawler.cache.LocalFileCrawlCache.init(LocalFileCrawlCache.java:78)
    at com.jaeksoft.searchlib.crawler.cache.CrawlCacheManager.setEnabled(CrawlCacheManager.java:273)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.zkoss.zel.BeanELResolver.setValue(BeanELResolver.java:168)
    ... 43 more
jbondhus commented 9 years ago

If you need any more information please let me know.

jbondhus commented 9 years ago

Has this been fixed or are there any updates on it?