Heliosearch / heliosearch

The next generation of open source search
http://heliosearch.org
90 stars 19 forks source link

Unsatisfied link error at BitDocSetNative #25

Closed crewone closed 7 years ago

crewone commented 10 years ago

My logs are full with the following error:

java.lang.UnsatisfiedLinkError: org.apache.solr.search.BitDocSetNative.setBits(JJJI)V at org.apache.solr.search.BitDocSetNative.setBits(Native Method) at org.apache.solr.search.DedupDocSetCollector.setBits(DedupDocSetCollector.java:98) at org.apache.solr.search.DedupDocSetCollector.newBuffer(DedupDocSetCollector.java:84) at org.apache.solr.search.DedupDocSetCollector.collect(DedupDocSetCollector.java:60) at org.apache.solr.query.TFilter.collect(TFilter.java:299) at org.apache.solr.query.TFilter.createDocSet(TFilter.java:314) at org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:75) at org.apache.solr.search.SolrConstantScoreQuery.createDocSet(SolrConstantScoreQuery.java:102) at org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1287) at org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:920) at org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1107) at org.apache.solr.search.SolrIndexSearcher.getDocListAndSetNC(SolrIndexSearcher.java:1836) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1581) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:523) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:489) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:219) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1976) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread.java:745)

yonik commented 10 years ago

It's a JNI issue. You probably either have an old version of the native code (in solr/example/native directory) or it's missing altogether.

When you start the server, you should see something like this:

[helio_stream] /opt/code/hs/solr/example$ java -jar start.jar
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/code/hs/solr/example/lib/ext/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/code/hs/solr/example/lib/ext/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
0    [main] INFO  org.eclipse.jetty.server.Server  – jetty-8.1.10.v20130312
51   [main] INFO  org.eclipse.jetty.deploy.providers.ScanningAppProvider  – Deployment monitor /opt/code/hs/solr/example/contexts at interval 0
64   [main] INFO  org.eclipse.jetty.deploy.DeploymentManager  – Deployable added: /opt/code/hs/solr/example/contexts/solr-jetty-context.xml
1214 [main] INFO  org.eclipse.jetty.webapp.StandardDescriptorProcessor  – NO JSP Support for /solr, did not find org.apache.jasper.servlet.JspServlet
1288 [main] INFO  org.apache.solr.servlet.SolrDispatchFilter  – SolrDispatchFilter.init()
!!!!!! Heliosearch native libraries loaded. !!!!!!
1318 [main] INFO  org.apache.solr.core.SolrResourceLoader  – JNDI not configured for solr (NoInitialContextEx)
1319 [main] INFO  org.apache.solr.core.SolrResourceLoader  – solr home defaulted to 'solr/' (could not find system property or JNDI)

Note the "!!!!!! Heliosearch native libraries loaded. !!!!!!" in there.

argakon commented 9 years ago

I have same problem but only with tomcat, this was in hs 0.08, but also i downloaded latest heliosearch 0.09 and problem exists. In schema.xml i have this fields:

I set filter query and answer is a Exception. Filters that i test: "p_make:(chevrolet OR ford)" or for example "id:(1 OR 2)"

Then i run solr under jetty it's working ok.

ERROR - 2014-12-10 17:59:27.708; org.apache.solr.common.SolrException; null:java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: org.apache.solr.search.BitDocSetNative.setBits(JJJI)V at org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:793) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:434) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 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.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:931) 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.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1780) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.UnsatisfiedLinkError: org.apache.solr.search.BitDocSetNative.setBits(JJJI)V at org.apache.solr.search.BitDocSetNative.setBits(Native Method) at org.apache.solr.search.DedupDocSetCollector.setBits(DedupDocSetCollector.java:98) at org.apache.solr.search.DedupDocSetCollector.newBuffer(DedupDocSetCollector.java:84) at org.apache.solr.search.DedupDocSetCollector.collect(DedupDocSetCollector.java:60) at org.apache.solr.query.TFilter.collect(TFilter.java:299) at org.apache.solr.query.TFilter.createDocSet(TFilter.java:314) at org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:75) at org.apache.solr.search.SolrConstantScoreQuery.createDocSet(SolrConstantScoreQuery.java:102) at org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1287) at org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:920) at org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1107) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1719) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1595) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:523) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:488) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1966) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) ... 16 more

yonik commented 9 years ago

I've never tried heliosearch under tomcat... but we look for the native code libraries in the "native" directory under the solr home. Make sure that directory (and the native shard libs) exists in your tomcat install.

-Yonik http://heliosearch.org - native code faceting, facet functions, sub-facets, off-heap data

On Wed, Dec 10, 2014 at 1:08 PM, argakon notifications@github.com wrote:

I have same problem but only with tomcat, this was in hs 0.08, but also i downloaded latest heliosearch 0.09 and problem exists. In schema.xml i have this fields:

I set filter query and answer is a Exception. Filters that i test: "p_make:(chevrolet OR ford)" or for example "id:(1 OR 2)"

Then i run solr under jetty it's working ok.

ERROR - 2014-12-10 17:59:27.708; org.apache.solr.common.SolrException; null:java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: org.apache.solr.search.BitDocSetNative.setBits(JJJI)V at org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:793) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:434) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 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.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:931) 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.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1780) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.UnsatisfiedLinkError: org.apache.solr.search.BitDocSetNative.setBits(JJJI)V at org.apache.solr.search.BitDocSetNative.setBits(Native Method) at org.apache.solr.search.DedupDocSetCollector.setBits(DedupDocSetCollector.java:98) at org.apache.solr.search.DedupDocSetCollector.newBuffer(DedupDocSetCollector.java:84) at org.apache.solr.search.DedupDocSetCollector.collect(DedupDocSetCollector.java:60) at org.apache.solr.query.TFilter.collect(TFilter.java:299) at org.apache.solr.query.TFilter.createDocSet(TFilter.java:314) at org.apache.solr.search.DocSetUtil.createDocSet(DocSetUtil.java:75) at org.apache.solr.search.SolrConstantScoreQuery.createDocSet(SolrConstantScoreQuery.java:102) at org.apache.solr.search.SolrIndexSearcher.getDocSetNC(SolrIndexSearcher.java:1287) at org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:920) at org.apache.solr.search.SolrIndexSearcher.getProcessedFilter(SolrIndexSearcher.java:1107) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1719) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1595) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:523) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:488) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1966) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418) ... 16 more

— Reply to this email directly or view it on GitHub https://github.com/Heliosearch/heliosearch/issues/25#issuecomment-66495548 .

argakon commented 9 years ago

Thanx, i copied "native" directory to tomcat home directory and that fixed the problem