Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.4
    • Fix Version/s: 2.4
    • Component/s: Gradebook
    • Labels:
      None

      Description

      On an upgraded server from LAMS 2.3.5, when accessing any lesson gradebook, the activity view keeps trying to load and finally gives up and the server.log shows:

      2012-03-08 11:25:02,697 INFO [UniversalLoginModule] ===> Assign user to role AUTHOR
      11:25:12,622 INFO [TilesRequestProcessor] Tiles definition factory found for request processor ''.
      11:25:12,622 WARN [RequestUtils] No FormBeanConfig found under 'monitoringForm'
      2012-03-08 11:25:12,631 DEBUG [GradebookMonitoringAction] request monitorGradebook for lesson: 23935
      2012-03-08 11:25:12,867 DEBUG [GradebookMonitoringAction] user is staff
      2012-03-08 11:25:15,874 DEBUG [GradebookService] Getting gradebook data for lesson: 23935
       11:26:43,218 ERROR [STDERR] Exception in thread "QuartzScheduler_scheduler-NON_CLUSTERED_MisfireHandler"
      11:26:43,900 ERROR [STDERR] java.lang.OutOfMemoryError: GC overhead limit exceeded
      11:26:43,900 ERROR [STDERR] at java.lang.Class.getDeclaredMethods0(Native Method)
      11:26:43,900 ERROR [STDERR] at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
      11:26:43,900 ERROR [STDERR] at java.lang.Class.getMethod0(Class.java:2670)
      11:26:43,900 ERROR [STDERR] at java.lang.Class.getMethod(Class.java:1603)
      11:26:43,900 ERROR [STDERR] at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:438)
      11:26:43,900 ERROR [STDERR] at org.apache.commons.logging.LogFactory$1.run(LogFactory.java:222)
      11:26:43,900 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
      11:26:43,900 ERROR [STDERR] at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:218)
      11:26:43,901 ERROR [STDERR] at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
      11:26:43,901 ERROR [STDERR] at org.quartz.impl.jdbcjobstore.JobStoreSupport.getLog(JobStoreSupport.java:458)
      11:26:43,901 ERROR [STDERR] at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:2447)
      11:26:43,901 ERROR [STDERR] at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:2468)
      11:26:43,902 WARN [TxConnectionManager] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@4785c9[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@1b2b103 handles=1 lastUse=1331166315873 permit=true trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@833cd3 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@e7f7b xaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@1d38411 txSync=null]
      javax.resource.spi.ResourceAdapterInternalException: Unexpected error
              at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.broadcastConnectionError(BaseWrapperManagedConnection.java:409)
              at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.connectionError(BaseWrapperManagedConnection.java:385)
              at org.jboss.resource.adapter.jdbc.WrappedConnection.checkException(WrappedConnection.java:865)
              at org.jboss.resource.adapter.jdbc.WrappedStatement.checkException(WrappedStatement.java:852)
              at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:347)
              at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
              at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
              at org.hibernate.loader.Loader.doQuery(Loader.java:697)
              at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
              at org.hibernate.loader.Loader.doList(Loader.java:2228)
              at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
              at org.hibernate.loader.Loader.list(Loader.java:2120)
              at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
              at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
              at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
              at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
              at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
              at org.lamsfoundation.lams.gradebook.dao.hibernate.GradebookDAO.getAverageDurationForActivity(GradebookDAO.java:162)
              at org.lamsfoundation.lams.gradebook.service.GradebookService.getGradebookActivityDTO(GradebookService.java:1008)
              at org.lamsfoundation.lams.gradebook.service.GradebookService.getGBActivityRowsForLesson(GradebookService.java:193)
              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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
              at $Proxy181.getGBActivityRowsForLesson(Unknown Source)
              at org.lamsfoundation.lams.gradebook.web.action.GradebookAction.getActivityGridData(GradebookAction.java:153)
              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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:142)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.session.SystemSessionFilter.doFilter(SystemSessionFilter.java:69)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
              at org.lamsfoundation.lams.integration.security.SingleSignOn.invoke(SingleSignOn.java:118)
              at org.lamsfoundation.lams.integration.security.LoginRequestValve.invoke(LoginRequestValve.java:71)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
      11:26:43,906 ERROR [STDERR] Exception in thread "Thread-9"
      11:26:43,907 ERROR [STDERR] java.lang.OutOfMemoryError: Java heap space
      11:26:43,907 ERROR [STDERR] Exception in thread "ContainerBackgroundProcessor[StandardEngine[jboss.web]]"
      11:26:43,907 ERROR [STDERR] java.lang.OutOfMemoryError: Java heap space
      11:26:43,907 ERROR [STDERR] at java.util.HashMap.newValueIterator(HashMap.java:843)
      11:26:43,907 ERROR [STDERR] at java.util.HashMap$Values.iterator(HashMap.java:910)
      11:26:43,907 ERROR [STDERR] at java.util.AbstractCollection.toArray(AbstractCollection.java:162)
      11:26:43,907 ERROR [STDERR] at org.apache.catalina.core.ContainerBase.findChildren(ContainerBase.java:870)
      11:26:43,907 ERROR [STDERR] at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1618)
      11:26:43,908 ERROR [STDERR] at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621)
      11:26:43,908 ERROR [STDERR] at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621)
      11:26:43,908 ERROR [STDERR] at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1621)
      11:26:43,908 ERROR [STDERR] at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1601)
      11:26:43,908 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662)
      11:26:43,908 ERROR [STDERR] Exception in thread "Timer-Log4jService"
      11:26:43,908 ERROR [STDERR] java.lang.OutOfMemoryError: GC overhead limit exceeded
      11:26:43,908 ERROR [STDERR] at org.jboss.net.protocol.resource.Handler.openConnection(Handler.java:43)
      11:26:43,908 ERROR [STDERR] at java.net.URL.openConnection(URL.java:945)
      11:26:43,908 ERROR [STDERR] at org.jboss.logging.Log4jService$URLWatchTimerTask.run(Log4jService.java:623)
      11:26:43,908 ERROR [STDERR] at java.util.TimerThread.mainLoop(Timer.java:512)
      11:26:43,908 ERROR [STDERR] at java.util.TimerThread.run(Timer.java:462)
      11:26:43,908 ERROR [STDERR] Exception in thread "http-137.111.246.19-8080-2"
      11:26:43,908 ERROR [STDERR] java.lang.OutOfMemoryError: GC overhead limit exceeded
      11:26:43,908 ERROR [STDERR] Exception in thread "scheduler_QuartzSchedulerThread"
      11:26:43,908 ERROR [STDERR] java.lang.OutOfMemoryError: GC overhead limit exceeded
      11:26:43,934 ERROR [TransactionInterceptor] Application exception overridden by rollback exception
      org.hibernate.exception.GenericJDBCException: could not execute query
              at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
              at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
              at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
              at org.hibernate.loader.Loader.doList(Loader.java:2231)
              at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
              at org.hibernate.loader.Loader.list(Loader.java:2120)
              at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
              at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
              at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
              at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
              at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
              at org.lamsfoundation.lams.gradebook.dao.hibernate.GradebookDAO.getAverageDurationForActivity(GradebookDAO.java:162)
              at org.lamsfoundation.lams.gradebook.service.GradebookService.getGradebookActivityDTO(GradebookService.java:1008)
              at org.lamsfoundation.lams.gradebook.service.GradebookService.getGBActivityRowsForLesson(GradebookService.java:193)
              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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
              at $Proxy181.getGBActivityRowsForLesson(Unknown Source)
              at org.lamsfoundation.lams.gradebook.web.action.GradebookAction.getActivityGridData(GradebookAction.java:153)
              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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:142)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.session.SystemSessionFilter.doFilter(SystemSessionFilter.java:69)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
              at org.lamsfoundation.lams.integration.security.SingleSignOn.invoke(SingleSignOn.java:118)
              at org.lamsfoundation.lams.integration.security.LoginRequestValve.invoke(LoginRequestValve.java:71)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.jboss.util.NestedSQLException: Error; - nested throwable: (java.lang.OutOfMemoryError: GC overhead limit exceeded)
              at org.jboss.resource.adapter.jdbc.WrappedConnection.checkException(WrappedConnection.java:873)
              at org.jboss.resource.adapter.jdbc.WrappedStatement.checkException(WrappedStatement.java:852)
              at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:347)
              at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
              at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
              at org.hibernate.loader.Loader.doQuery(Loader.java:697)
              at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
              at org.hibernate.loader.Loader.doList(Loader.java:2228)
              ... 68 more
      Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
      2012-03-08 11:26:43,950 FATAL [CustomStrutsExceptionHandler] fatal System exception: [org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed] :Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
      org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
              at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:677)
              at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:823)
              at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:800)
              at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:339)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
              at $Proxy181.getGBActivityRowsForLesson(Unknown Source)
              at org.lamsfoundation.lams.gradebook.web.action.GradebookAction.getActivityGridData(GradebookAction.java:153)
              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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:142)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.session.SystemSessionFilter.doFilter(SystemSessionFilter.java:69)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
              at org.lamsfoundation.lams.integration.security.SingleSignOn.invoke(SingleSignOn.java:118)
              at org.lamsfoundation.lams.integration.security.LoginRequestValve.invoke(LoginRequestValve.java:71)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.hibernate.TransactionException: JDBC rollback failed
              at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:204)
              at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:674)
              ... 54 more
      Caused by: java.sql.SQLException: Connection is not associated with a managed connection.org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6@1d10082
              at org.jboss.resource.adapter.jdbc.WrappedConnection.lock(WrappedConnection.java:81)
              at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:496)
              at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:217)
              at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:196)
              ... 55 more
      2012-03-08 11:26:43,954 FATAL [CustomStrutsExceptionHandler] org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
              at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:677)
              at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:823)
              at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:800)
              at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:339)
              at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
              at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
              at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
              at $Proxy181.getGBActivityRowsForLesson(Unknown Source)
              at org.lamsfoundation.lams.gradebook.web.action.GradebookAction.getActivityGridData(GradebookAction.java:153)
              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 org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
              at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:142)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.lamsfoundation.lams.web.session.SystemSessionFilter.doFilter(SystemSessionFilter.java:69)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
              at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
              at org.lamsfoundation.lams.integration.security.SingleSignOn.invoke(SingleSignOn.java:118)
              at org.lamsfoundation.lams.integration.security.LoginRequestValve.invoke(LoginRequestValve.java:71)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.hibernate.TransactionException: JDBC rollback failed
              at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:204)
              at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:674)
              ... 54 more
      Caused by: java.sql.SQLException: Connection is not associated with a managed connection.org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6@1d10082
              at org.jboss.resource.adapter.jdbc.WrappedConnection.lock(WrappedConnection.java:81)
              at org.jboss.resource.adapter.jdbc.WrappedConnection.rollback(WrappedConnection.java:496)
              at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:217)
              at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:196)
              ... 55 more



      Need to investigate further

        Activity

        Hide
        ernieg Ernie Ghiglione added a comment -
        Ok, I don't think this is related to the 2.3.5 to 2.4 upgrade though... as it does not happen if I create another lesson with the same sequence. So it only happens on certain lesson which happened to be created *after* the upgrade.
        Show
        ernieg Ernie Ghiglione added a comment - Ok, I don't think this is related to the 2.3.5 to 2.4 upgrade though... as it does not happen if I create another lesson with the same sequence. So it only happens on certain lesson which happened to be created *after* the upgrade.
        Hide
        ernieg Ernie Ghiglione added a comment -
        Marcin suggested to look into:

        1) A query throws an error. From logs I can see it's
        GradebooDAO#getAverageDurationForActivity()
        method which executes following query

        select compProg.finishDate, compProg.startDate from
        CompletedActivityProgress compProg, Activity act where
        compProg.activity.activityId=:activityID

        It's strange that it works for other lessons and for this single one not...
        First thing, I think we can get rid of ", Activity act" part as it does
        nothing here. So the query can become:

        select compProg.finishDate, compProg.startDate from
        CompletedActivityProgress compProg where
        compProg.activity.activityId=:activityID


        Yep, that was exactly it!

        This little bugger was causing mysql to return 12 million records and it just simply takes all the memory on the JVM and causes and exception.

        So, here's the terrible query:

        select completeda0_.completed_date_time as col_0_0_,completeda0_.start_date_time as col_1_0_ from lams_progress_completed completeda0_, lams_learning_activity activity1_ where completeda0_.activity_id=325652;

        However, the query above doesn't have anything to join the tables,
        therefore it returns a ton of records:

        mysql> select count(*) from lams_progress_completed completeda0_, lams_learning_activity activity1_ where completeda0_.activity_id=325652;
        +----------+
        | count(*) |
        +----------+
        | 12832836 |
        +----------+
        1 row in set (0.67 sec)

        And that clogs the pipe, the jvm gets flooded and LAMS dies with an out of memory exception.

        So as Marcin suggested, the fix is to drop the activity table link all together as it's really pointless.
        Show
        ernieg Ernie Ghiglione added a comment - Marcin suggested to look into: 1) A query throws an error. From logs I can see it's GradebooDAO#getAverageDurationForActivity() method which executes following query select compProg.finishDate, compProg.startDate from CompletedActivityProgress compProg, Activity act where compProg.activity.activityId=:activityID It's strange that it works for other lessons and for this single one not... First thing, I think we can get rid of ", Activity act" part as it does nothing here. So the query can become: select compProg.finishDate, compProg.startDate from CompletedActivityProgress compProg where compProg.activity.activityId=:activityID Yep, that was exactly it! This little bugger was causing mysql to return 12 million records and it just simply takes all the memory on the JVM and causes and exception. So, here's the terrible query: select completeda0_.completed_date_time as col_0_0_,completeda0_.start_date_time as col_1_0_ from lams_progress_completed completeda0_, lams_learning_activity activity1_ where completeda0_.activity_id=325652; However, the query above doesn't have anything to join the tables, therefore it returns a ton of records: mysql> select count(*) from lams_progress_completed completeda0_, lams_learning_activity activity1_ where completeda0_.activity_id=325652; +----------+ | count(*) | +----------+ | 12832836 | +----------+ 1 row in set (0.67 sec) And that clogs the pipe, the jvm gets flooded and LAMS dies with an out of memory exception. So as Marcin suggested, the fix is to drop the activity table link all together as it's really pointless.
        Hide
        ernieg Ernie Ghiglione added a comment -
        Tested with lamsv2 db and it works fine now.
        Show
        ernieg Ernie Ghiglione added a comment - Tested with lamsv2 db and it works fine now.
        Hide
        ernieg Ernie Ghiglione added a comment -
        Done
        Show
        ernieg Ernie Ghiglione added a comment - Done

          People

          • Assignee:
            ernieg Ernie Ghiglione
            Reporter:
            ernieg Ernie Ghiglione
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development