Hi Rupert, all,
thanks for your support.
We fixed it by setting the CATALINA_OPTS variable with propert values.
Bests.
Andrea
> Hi Rupert,
>
> we have the problem only with the full-war launcher under tomcat6 and
> seems related to a Java heap space exception.
> The full standalone jar works fine.
> In case the full stack is reported below.
>
> Bests.
> Andrea
>
> org.apache.stanbol.enhancer.servicesapi.ChainException: Enhancement Chain
> failed because of required Engine 'ner' failed with Message: Unable to
> process ContentItem
> '<urn:content-item-sha1-598f93b594a1aa790aba55c54d6cc550bb764f17>' with
> Enhancement Engine 'ner' because the engine was unable to process the
> content (Engine class:
> org.apache.stanbol.enhancer.engines.opennlp.impl.NamedEntityExtractionEnhancementEngine)(Reason:
> 'NEREngineCore' failed to process content item
> 'urn:content-item-sha1-598f93b594a1aa790aba55c54d6cc550bb764f17' with type
> 'text/plain': java.lang.IllegalStateException: Unable to create
> TokenNameFinderModel for en-ner-person.bin!)!
> at
> org.apache.stanbol.enhancer.jobmanager.event.impl.EventJobManagerImpl.enhanceContent(EventJobManagerImpl.java:151)
> at
> org.apache.stanbol.enhancer.jersey.resource.AbstractEnhancerResource.enhance(AbstractEnhancerResource.java:232)
> at
> org.apache.stanbol.enhancer.jersey.resource.AbstractEnhancerUiResource.enhanceFromForm(AbstractEnhancerUiResource.java:126)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> at
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
> at
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> at
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
> at
> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
> at
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> at
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
> at
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
> at
> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
> at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> at
> org.apache.stanbol.commons.httpqueryheaders.impl.QueryHeadersFilter.doFilter(QueryHeadersFilter.java:75)
> at
> org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
> at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:78)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
> at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> at
> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
> at
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
> at
> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.sling.launchpad.base.webapp.SlingServletDelegate.service(SlingServletDelegate.java:278)
> at
> org.apache.sling.launchpad.webapp.SlingServlet.service(SlingServlet.java:174)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.stanbol.enhancer.servicesapi.EngineException:
> 'NEREngineCore' failed to process content item
> 'urn:content-item-sha1-598f93b594a1aa790aba55c54d6cc550bb764f17' with type
> 'text/plain': java.lang.IllegalStateException: Unable to create
> TokenNameFinderModel for en-ner-person.bin!
> at
> org.apache.stanbol.enhancer.engines.opennlp.impl.NEREngineCore.computeEnhancements(NEREngineCore.java:181)
> at
> org.apache.stanbol.enhancer.engines.opennlp.impl.NamedEntityExtractionEnhancementEngine.computeEnhancements(NamedEntityExtractionEnhancementEngine.java:164)
> at
> org.apache.stanbol.enhancer.jobmanager.event.impl.EnhancementJobHandler.processEvent(EnhancementJobHandler.java:239)
> at
> org.apache.stanbol.enhancer.jobmanager.event.impl.EnhancementJobHandler.handleEvent(EnhancementJobHandler.java:167)
> at
> org.apache.felix.eventadmin.impl.tasks.HandlerTaskImpl.execute(HandlerTaskImpl.java:88)
> at
> org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks.execute(SyncDeliverTasks.java:221)
> at
> org.apache.felix.eventadmin.impl.tasks.AsyncDeliverTasks$TaskExecuter.run(AsyncDeliverTasks.java:110)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
> ... 1 more
> Caused by: java.lang.IllegalStateException: Unable to create
> TokenNameFinderModel for en-ner-person.bin!
> at
> org.apache.stanbol.commons.opennlp.OpenNLP.initModel(OpenNLP.java:396)
> at
> org.apache.stanbol.commons.opennlp.OpenNLP.getNameModel(OpenNLP.java:109)
> at
> org.apache.stanbol.enhancer.engines.opennlp.impl.NEREngineCore.computeEnhancements(NEREngineCore.java:173)
> ... 8 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> org.apache.stanbol.commons.opennlp.OpenNLP.initModel(OpenNLP.java:364)
> ... 10 more
> Caused by: java.lang.OutOfMemoryError: Java heap space
>
>> Hi Alberto
>>
>> This kind of Exception is only created if the model file is present,
>> but it can not be accessed/loaded/instantiated. Can you please provide
>> the full stack trace including the "caused by" exceptions.
>>
>> I had a similar problem once and it was because some proxy cause to
>> send html instead of the model files what caused the downloaded models
>> to be corrupted. Typically you can detect this by the file size. The
>>
>>
>> data/opennlp/ner/en/src/main/resources/org/apache/stanbol/data/opennlp/en-ner-person.bin
>>
>> is "5.207.953 bytes" on my machine. You can also try to extract them
>> as they are normal JAR files.
>>
>> In case you encounter corrupted files you will need to manually delete
>> the models from
>>
>> {stanbol-source-code}/data/opennlp/ner/{lang}/src/main/resources
>> {stanbol-source-code}/data/opennlp/lang/{lang}/src/main/resources
>>
>> Note that {lang} are the different language codes
>>
>> After that the models will be re-downloaded by the next build. BTW:
>> OpenNLP models are currently downloaded for this mirror [1] if you
>> want to check if you can reach it from your host.
>>
>> To install the re-build bundles to your Stanbol instance you can call
>>
>> mvn clean install -PinstallBundle
>> -Dsling.url=http://localhost:8080/system/console
>>
>> within
>>
>> {stanbol-source-code}/data/opennlp/ner/en
>>
>> to refresh the english NER models that caused the reported error.
>>
>> If file corruption is not the reason for your issue please provide the
>> stack trace of the encounter error.
>>
>> best
>> Rupert
>>
>>
>> [1] http://dev.iks-project.eu/downloads/opennlp/models-1.5/
>>
>> On Fri, Jun 29, 2012 at 12:12 PM, Alberto Musetti <[email protected]>
>> wrote:
>>> Hi all,
>>>
>>> I have a problem with my Stanbol instance:
>>> when i post an english text to the enhancer, it fails the execution on
>>> ner engine with this error:
>>>
>>> org.apache.stanbol.enhancer.servicesapi.ChainException: Enhancement
>>> Chain failed because of required Engine 'ner' failed with Message:
>>> Unable to process ContentItem
>>> '<urn:content-item-sha1-a274b8c641d15f7e45f834630d667ab64096b122>' with
>>> Enhancement Engine 'ner' because the engine was unable to process the
>>> content (Engine class:
>>> org.apache.stanbol.enhancer.engines.opennlp.impl.NamedEntityExtractionEnhancementEngine)(Reason:
>>> 'NEREngineCore' failed to process content item
>>> 'urn:content-item-sha1-a274b8c641d15f7e45f834630d667ab64096b122' with
>>> type 'text/plain': java.lang.IllegalStateException: Unable to create
>>> TokenNameFinderModel for en-ner-person.bin!)! at
>>> org.apache.stanbol.enhancer.jobmanager.event.impl.EventJobManagerImpl.enhanceContent(EventJobManagerImpl.java:151)
>>>
>>> My ner configuration is:
>>> Name: ner
>>> Language : <empty>
>>> Default Language: <empty>
>>> Ranking: 0
>>>
>>> If i post an italian or french text there isn't any problems.
>>>
>>> Do you know this problem?
>>>
>>> Bests,
>>> Alberto
>>
>>
>>
>> --
>> | Rupert Westenthaler       [email protected]
>> | BodenlehenstraÃe 11Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
>> ++43-699-11108907
>> | A-5500 Bischofshofen
>>
>
>