• OpenKM versión 6.2.2 DEV

  • OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #19707  by dix
 
Hola de nuevo,

Desde la actualización del OpenKM a la versión 6.2.1 se solucionó el bug del "text extration" pero me salen una serie de errores referentes al "Java heap space out of memory". Es extraño porque la memoria disponible para el Tomcat es de 2GB y tengo monitorizado ese valor y no supera los 700-800MB. Me toca apagar y reiniciar el tomcat para solucionarlo ya que sino es imposible acceder a la aplicación.

¿Cuál puede ser la causa de este error?

El error en cuestión es:
Code: Select all
2012-12-06 08:13:13,561 [http-bio-0.0.0.0-8080-exec-427] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/OpenKM] - Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.util.List com.openkm.frontend.client.service.OKMDashboardService.getLastUploadedDocuments() throws com.openkm.frontend.client.OKMException' threw an unexpected exception: java.lang.OutOfMemoryError: Java heap space
        at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
        at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        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:225)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        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:999)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.OutOfMemoryError: Java heap space
2012-12-06 08:15:17,426 [http-bio-0.0.0.0-8080-exec-419] WARN  org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: S1000
2012-12-06 08:15:17,426 [http-bio-0.0.0.0-8080-exec-419] ERROR org.hibernate.util.JDBCExceptionReporter - java.lang.OutOfMemoryError: Java heap space
2012-12-06 08:15:17,427 [http-bio-0.0.0.0-8080-exec-419] ERROR com.openkm.module.common.CommonAuthModule - could not execute query
com.openkm.principal.PrincipalAdapterException: could not execute query
        at com.openkm.principal.DatabasePrincipalAdapter.getName(DatabasePrincipalAdapter.java:149)
        at com.openkm.module.common.CommonAuthModule.getName(CommonAuthModule.java:141)
        at com.openkm.module.db.DbAuthModule.getName(DbAuthModule.java:387)
        at com.openkm.api.OKMAuth.getName(OKMAuth.java:179)
        at com.openkm.module.common.CommonAuthModule.getName(CommonAuthModule.java:141)
        at com.openkm.module.db.DbAuthModule.getName(DbAuthModule.java:387)
        at com.openkm.api.OKMAuth.getName(OKMAuth.java:179)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:1392)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:179)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:618)
        at com.openkm.servlet.frontend.DashboardServlet.getLastWeekTopModifiedDocuments(DashboardServlet.java:468)
        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.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
        at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        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:225)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        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:999)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: com.openkm.core.DatabaseException: could not execute query
        at com.openkm.dao.AuthDAO.findUserByPk(AuthDAO.java:351)
        at com.openkm.principal.DatabasePrincipalAdapter.getName(DatabasePrincipalAdapter.java:144)
        ... 56 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.loader.Loader.doList(Loader.java:2545)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
        at org.hibernate.loader.Loader.list(Loader.java:2271)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:459)
        at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:365)
        at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
        at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:890)
        at com.openkm.dao.AuthDAO.findUserByPk(AuthDAO.java:347)
        ... 57 more
Caused by: java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:433)
        at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:877)
        at com.mysql.jdbc.ConnectionImpl.clientPrepareStatement(ConnectionImpl.java:1489)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4343)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4242)
        at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
        at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700)
        at org.hibernate.loader.Loader.doQuery(Loader.java:801)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
        at org.hibernate.loader.Loader.doList(Loader.java:2542)
        ... 66 more
2012-12-06 08:15:17,429 [http-bio-0.0.0.0-8080-exec-419] ERROR com.openkm.servlet.frontend.DashboardServlet - could not execute query
com.openkm.principal.PrincipalAdapterException: could not execute query
        at com.openkm.principal.DatabasePrincipalAdapter.getName(DatabasePrincipalAdapter.java:149)
        at com.openkm.module.common.CommonAuthModule.getName(CommonAuthModule.java:141)
        at com.openkm.module.db.DbAuthModule.getName(DbAuthModule.java:387)
        at com.openkm.api.OKMAuth.getName(OKMAuth.java:179)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:1392)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:179)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:618)
        at com.openkm.servlet.frontend.DashboardServlet.getLastWeekTopModifiedDocuments(DashboardServlet.java:468)
        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.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
        at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        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:225)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        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:999)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: com.openkm.core.DatabaseException: could not execute query
        at com.openkm.dao.AuthDAO.findUserByPk(AuthDAO.java:351)
        at com.openkm.principal.DatabasePrincipalAdapter.getName(DatabasePrincipalAdapter.java:144)
        ... 56 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.loader.Loader.doList(Loader.java:2545)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
        at org.hibernate.loader.Loader.list(Loader.java:2271)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:459)
        at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:365)
        at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
        at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
        at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:890)
        at com.openkm.dao.AuthDAO.findUserByPk(AuthDAO.java:347)
        ... 57 more
Caused by: java.sql.SQLException: java.lang.OutOfMemoryError: Java heap space
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:433)
        at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:877)
        at com.mysql.jdbc.ConnectionImpl.clientPrepareStatement(ConnectionImpl.java:1489)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4343)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4242)
        at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
        at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700)
        at org.hibernate.loader.Loader.doQuery(Loader.java:801)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
        at org.hibernate.loader.Loader.doList(Loader.java:2542)
        ... 66 more
2012-12-06 08:15:17,445 [http-bio-0.0.0.0-8080-exec-425] ERROR org.dozer.MappingProcessor - Field mapping error -->
  MapId: null
  Type: null
  Source parent class: com.openkm.bean.Document
  Source field name: actualVersion
  Source field type: null
  Source field value: null
  Dest parent class: com.openkm.frontend.client.bean.GWTDocument
  Dest field name: actualVersion
  Dest field type: com.openkm.frontend.client.bean.GWTVersion
java.lang.OutOfMemoryError: Java heap space
2012-12-06 08:15:17,445 [http-bio-0.0.0.0-8080-exec-425] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/OpenKM] - Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.util.List com.openkm.frontend.client.service.OKMDashboardService.getLastMonthTopDownloadedDocuments() throws com.openkm.frontend.client.OKMException' threw an unexpected exception: org.dozer.MappingException: java.lang.OutOfMemoryError: Java heap space
        at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
        at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        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:225)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        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:999)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.dozer.MappingException: java.lang.OutOfMemoryError: Java heap space
        at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82)
        at org.dozer.MappingProcessor.mapField(MappingProcessor.java:288)
        at org.dozer.MappingProcessor.map(MappingProcessor.java:245)
        at org.dozer.MappingProcessor.map(MappingProcessor.java:187)
        at org.dozer.MappingProcessor.map(MappingProcessor.java:124)
        at org.dozer.MappingProcessor.map(MappingProcessor.java:119)
        at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:111)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:150)
        at com.openkm.util.GWTUtil.copy(GWTUtil.java:618)
        at com.openkm.servlet.frontend.DashboardServlet.getLastMonthTopDownloadedDocuments(DashboardServlet.java:431)
        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.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
        ... 44 more
Caused by: java.lang.OutOfMemoryError: Java heap space
2012-12-06 08:39:45,781 [Update Info] INFO  com.openkm.core.UpdateInfo - *** UpdateInfo activated ***
2012-12-06 12:02:22,406 [Thread-654] WARN  com.openkm.core.Cron - Error executing crontab task 'RepositoryInfo': Sourced file: inline evaluation of: ``new com.openkm.core.RepositoryInfo().run();'' : target exception : at Line: 1 : in file: inline evaluation of: ``new com.openkm.core.RepositoryInfo().run();'' : .run ( ) 

Target exception: java.lang.OutOfMemoryError: Java heap space
Otro error que sale es al apagar el tomcat, el error es el siguiente:
Code: Select all
2012-12-07 08:18:26,723 [pool-2-thread-2] ERROR org.apache.catalina.loader.WebappClassLoader - La aplicación web [/OpenKM] parece haber arrancado un hilo llamado [OfficeProcessThread-0] pero no ha podido pararlo. Esto tiene todas las papeletas de convertirse en un fallo de memoria.
2012-12-07 08:18:26,742 [    main] INFO  org.apache.coyote.http11.Http11Protocol - Stopping ProtocolHandler ["http-bio-0.0.0.0-8080"]
2012-12-07 08:18:27,746 [    main] INFO  org.apache.coyote.ajp.AjpProtocol - Stopping ProtocolHandler ["ajp-bio-127.0.0.1-8009"]
2012-12-07 08:18:27,746 [    main] INFO  org.apache.coyote.http11.Http11Protocol - Destroying ProtocolHandler ["http-bio-0.0.0.0-8080"]
2012-12-07 08:18:27,749 [    main] INFO  org.apache.coyote.ajp.AjpProtocol - Destroying ProtocolHandler ["ajp-bio-127.0.0.1-8009"]
¿Alguna sugerencia?

Gracias y un saludo.
 #19728  by pavila
 
Deberías aumentar la memoria destinada a la Java Virtual Machine, aunque según dices debería bastar. Escribe la configuración que tengas para poder revisarla. Debería estar en el fichero $TOMCAT_HOME/bin/setenv.sh (o setenv.bat si estás en Windows).
 #19748  by dix
 
La configuración es la siguiente:
Code: Select all
JAVA_OPTS="-Xms2G -Xmx2G -XX:PermSize=128m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dfile.encoding=utf-8"
CATALINA_PID=$CATALINA_HOME/catalina.pid
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib/sigar

JAVA_HOME=/opt/openkm-6.2.0-community/java
 #19772  by dix
 
En la siguiente gráfica se puede ver el consumo de memoria en el Tomcat. El parón se corresponde hasta que reinicio el servicio por la mañana.

Image

No sé cuál puede ser la causa.
 #19797  by jllort
 
Algo ha pasado aquí. Podrías mirar en el log en ese rango horario a ver si sale algo.
Otra cosa interesante seria conectar con la maquina virtual y ver que esta haciendo http://docs.oracle.com/javase/6/docs/te ... index.html

Aquí esta muy bien explicado http://wiki.openkm.com/index.php/Profiling_OpenKM ( requiere invertir un poco de tiempo, estas cosas no son precisamente triviales ).
 #19808  by dix
 
Le echaré un vistazo a la depuración de la máquina virtual Java.

Por lo que he estado viendo en el log, a las 00:00 se produce el siguiente error:
Code: Select all
2012-12-13 00:00:02,755 [Thread-489] INFO  com.openkm.extractor.TextExtractorWorker - processSerial.Working on {docUuid=ee07268f-b77a-4625-afb0-75acdc15dbcb, docPath=/okm:root/LP_ZER_290410.xls, docVerUuid=be0edd9c-824b-4a9a-b05b-9da14e94d06a, date=Fri Nov 09 17:04:43 CET 2012}
WARN  org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: S1000
ERROR org.hibernate.util.JDBCExceptionReporter - Packet for query is too large (37668383 > 16777216). You can change this value on the server by setting the max_allowed_packet' variable.
Parece un error del MySQL con ese documento en concreto que se repite indefinidamente y no deja entrar a la aplicación hasta que no reinicia el servidor.
 #19852  by pavila
 
Cuando la hoja Excel tiene varios cientos de celdas, el extractor de texto puede tardar decenas de minutos en completar la tarea y carga la CPU bastante. En este caso es necesario extraer el texto de otra forma.

Por otra parte, el problema que comentas está relacionado con la base de datos. El documento es muy grande? Qué base datos utilizas?
 #19867  by dix
 
El documento es un Excel que pesa 66MB. Me imagino que el openkm intentará extraer el texto para indexarlo y se llenará la memoria disponible; de todas formas he probado a aumentar la memoria del tomcat a 3GB y sigue igual. ¿Qué solución tiene? ¿Desactivar el indexado de archivos con tamaño mayor de X MB?

Pongo el documento en el google docs porque ocupa mucho como para enviarlo por mail, os envío la url a través del formulario de contacto.
 #19913  by jllort
 
un excel de 66 megas es mucho excel. El problema es el extractor que va celda por celda. Aquí hay que pasarle otro extractor mas rápido para que consuma menos memoria ( este extractor solo lo tenemos disponible en la versión profesional )
 #19920  by dix
 
Más que el tema de lo que tarde en extraer el texto del excel, me preocupa el error de sql que da:
Code: Select all
ERROR org.hibernate.util.JDBCExceptionReporter - Packet for query is too large (37668383 > 16777216). You can change this value on the server by setting the max_allowed_packet' variable.
Ya que está continuamente con ese error.
 #19937  by jllort
 
Se ha quedado el fichero bloqueado en la cola de extracción ( administracion -> stats -> cola de extracción ). La solución que tienes ahora es por base de datos marcarlo como indexado, para quitarlo de la cola.

En la tabla OKM_NODE_DOCUMENT tiene un campo NDC_TEXT_EXTRACTED, si pones el valor a 'T' indicará que el documento se ha indexado y se lo saltará.

A partir del UUID del documento que te aparece en el profile puedes localizar el registro en cuestión que te interesa
Code: Select all
SELECT * FROM OKM_NODE_DOCUMENT where NBS_UUID='bae32711-e92b-4a97-bcdd-9b317905c6f9';
 #19941  by pavila
 
El mismo error te está diciendo que debes aumentar el tamño de la propiedad de configuración max_allowed_packet de MySQL. HAce bastante que no veo este error. Qué sistema operativo y versión usas? Y de MySQL?
 #19956  by dix
 
Actualizando la tabla, problema resuelto. Lo que no sé, es si es recomendable ampliar el tamaño del paquete para la base de datos; ahora está en 16777216 y los paquetes para la extracción de ese documento requiere 37668383. ¿Es recomendable tocar ese valor?

El sistema es una Debian 6.0.6 con el MySQL 5.1.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.