Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-37046

Matching question type with question text > 4000 chars generates stack trace

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.9.0
    • Fix Version/s: 2.9.0
    • Labels:
      None
    • Environment:
      qa3-us, 2.9.0-a01
      Mac OS 10.6, FF 8
    • Previous Issue Keys:
      SAM-1482

      Description

      When attempting to save a matching question with a question text greater than 4000 chars, the system generates a stack trace and the question is not saved (stack trace pasted below). To reproduce:

      1. Create a new assessment
      2. Add a matching question
      3. Paste 5000 or more chars into the question text field (can use http://www.lipsum.com to generate samp,e text)
      4. Add a few choice/match pairs
      5. Save question. You will get a stack trace, as follows

      This information will automatically be included in your bug report.

      org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:73)
      caused by: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1467)
      caused by: javax.servlet.ServletException: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
      caused by: java.lang.RuntimeException: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790
      at org.sakaiproject.tool.assessment.ui.listener.author.ItemAddListener.saveItem(ItemAddListener.java:774)
      caused by: org.springframework.orm.hibernate3.HibernateObjectRetrievalFailureException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790; nested exception is org.hibernate.ObjectNotFoundException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790
      at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
      caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: org.sakaiproject.tool.assessment.data.dao.assessment.ItemData#3790
      at org.hibernate.impl.SessionFactoryImpl$1.handleEntityNotFound(SessionFactoryImpl.java:386)
      at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:145)
      at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:179)
      at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
      at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:879)
      at org.hibernate.impl.SessionImpl.load(SessionImpl.java:796)
      at org.hibernate.impl.SessionImpl.load(SessionImpl.java:789)
      at org.springframework.orm.hibernate3.HibernateTemplate$3.doInHibernate(HibernateTemplate.java:569)
      at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
      at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
      at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:563)
      at org.springframework.orm.hibernate3.HibernateTemplate.load(HibernateTemplate.java:557)
      at org.sakaiproject.tool.assessment.facade.ItemFacadeQueries.getItem(ItemFacadeQueries.java:495)
      at sun.reflect.GeneratedMethodAccessor6592.invoke(null:-1)
      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 $Proxy77.getItem(null:-1)
      at org.sakaiproject.tool.assessment.services.ItemService.getItem(ItemService.java:206)
      at org.sakaiproject.tool.assessment.ui.listener.author.ItemAddListener.saveItem(ItemAddListener.java:774)
      at org.sakaiproject.tool.assessment.ui.listener.author.ItemAddListener.processAction(ItemAddListener.java:236)
      at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)
      at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:669)
      at javax.faces.component.UICommand.broadcast(UICommand.java:317)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:598)
      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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
      at org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:301)
      at org.sakaiproject.jsf.util.JsfTool.doPost(JsfTool.java:256)
      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:304)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:369)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
      at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1467)
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
      at org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:73)
      at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1260)
      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:304)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:659)
      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:224)
      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:100)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304)
      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)

      user: 75bb69da-be18-43be-9afe-b67f647a9238

      usage-session: 680a4543-c50f-4214-a718-cca233a100e1

      time: Nov 15, 2011 14:47:30

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  samigoteam SAMIGO TEAM (Inactive)
                  Reporter:
                  leward@iupui.edu Lynn E. Ward
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code