Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-4677

RS if user saves responses of a deleted survey

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 14.2.10
    • Component/s: Course
    • Labels:
      None

      Description

      1. Participant start to fill out survey.
      2. Owner deletes course node and publish the course.
      3. Participant saves the survey before the course was reloaded.

       

      Fehlernummer: I991760-J Vorherige Business Pfad: https://abc.openolat.com/url/RepositoryEntry/60948486/CourseNode/100117725971975 Business Pfad: https://abc.openolat.com/url/RepositoryEntry/60948486 Datum und Zeit: 11.05.2020 10:01 --------------------------------------------- ------------------------------------------ --- from user: 196611 ---2020-05-11 10:01:11.974 [ajp-nio2-8063-exec-7] ERROR DBRuntimeException ^%^ I991749-J115578 ^%^ org.olat.core.logging.DBRuntimeException ^%^ 196611 ^%^ 90.187.0.81 ^%^ https://abc.openolat.com/auth/RepositoryEntry/60948486 ^%^ Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15 ^%^ **RedScreen** commit failed, rollback transaction ::_:: ffo_main_execute org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer n/a org.olat.core.gui.control.Event validation ok com:validation ok,org.olat.core.gui.control.Event@d62b3f02 org.olat.modules.forms.ui.EvaluationFormExecutionController org.olat.course.nodes.survey.ui.SurveyRunController org.olat.course.run.RunMainController org.olat.course.run.CourseRuntimeController org.olat.core.commons.fullWebApp.BaseFullWebappController ::_:: org.olat.core.logging.DBRuntimeException: commit failed, rollback transaction at org.olat.core.commons.persistence.DBImpl.commit(DBImpl.java:573) at org.olat.modules.forms.ui.EvaluationFormExecutionController.doSaveResponses(EvaluationFormExecutionController.java:336) at org.olat.modules.forms.ui.EvaluationFormExecutionController.formOK(EvaluationFormExecutionController.java:298) at org.olat.core.gui.components.form.flexible.impl.FormBasicController.event(FormBasicController.java:389) at org.olat.core.gui.control.DefaultController.dispatchEvent(DefaultController.java:206) at org.olat.core.gui.components.AbstractComponent$1.run(AbstractComponent.java:240) at org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller.runWithUserActivityLogger(ThreadLocalUserActivityLoggerInstaller.java:108) at org.olat.core.gui.components.AbstractComponent.fireEvent(AbstractComponent.java:238) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.fireValidation(FormWrapperContainer.java:119) at org.olat.core.gui.components.form.flexible.impl.Form.submit(Form.java:441) at org.olat.core.gui.components.form.flexible.impl.Form.submit(Form.java:428) at org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit.dispatchFormRequest(FormSubmit.java:72) at org.olat.core.gui.components.form.flexible.impl.FormItemImpl.doDispatchFormRequest(FormItemImpl.java:561) at org.olat.core.gui.components.form.flexible.impl.Form.evalFormRequest(Form.java:296) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.doDispatchRequest(FormWrapperContainer.java:100) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.core.gui.components.Window.doDispatchToComponent(Window.java:1218) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:400) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:284) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:263) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:184) at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:269) at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:216) at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) at org.olat.core.servlets.OpenOLATServlet.service(OpenOLATServlet.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.olat.core.servlets.HeadersFilter.doFilter(HeadersFilter.java:95) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:479) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1699) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1050) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:630) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:608) at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) at sun.nio.ch.Invoker$2.run(Invoker.java:218) at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: org.olat.core.logging.DBRuntimeException: Try to commit a transaction in error status at org.olat.core.commons.persistence.DBImpl.commit(DBImpl.java:537) ... 56 more Caused by: java.lang.Exception: olat_rtexception_stackgenerator at org.olat.core.logging.OLATRuntimeException.(OLATRuntimeException.java:57) at org.olat.core.logging.OLATRuntimeException.(OLATRuntimeException.java:79) at org.olat.core.logging.DBRuntimeException.(DBRuntimeException.java:44) ... 57 moreDate: 2020-05-11 10:01:... Error#: I991760-J115579 Identity: 196611 Category/Class: org.hibernate.engine.jdbc.spi.SqlExceptionHelper Remote IP: 90.187.0.81 Referer: https://abc.openolat.com/auth/RepositoryEntry/60948486/CourseNode/100117725971975 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15 Exception: SQL Error: 0, SQLState: 235032020-05-11 10:01:18.885 [ajp-nio2-8063-exec-9] ERROR SqlExceptionHelper ^%^ I991760-J115580 ^%^ org.hibernate.engine.jdbc.spi.SqlExceptionHelper ^%^ 196611 ^%^ 90.187.0.81 ^%^ https://abc.openolat.com/auth/RepositoryEntry/60948486/CourseNode/100117725971975 ^%^ Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15 ^%^ ERROR: insert or update on table "o_eva_form_response" violates foreign key constraint "eva_resp_to_sess_idx" Detail: Key (fk_session)=(74) is not present in table "o_eva_form_session". Detail: Key (fk_session)=(74) is not present in table "o_eva_form_session".Date: 2020-05-11 10:01:... Error#: I991760-J115581 Identity: 196611 Category/Class: org.olat.modules.forms.ui.EvaluationFormExecutionController Remote IP: 90.187.0.81 Referer: https://abc.openolat.com/auth/RepositoryEntry/60948486/CourseNode/100117725971975 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15 Exception: Saving evaluation form response failed! javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:716) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:696) at org.olat.modules.forms.manager.EvaluationFormResponseDAO.createResponse(EvaluationFormResponseDAO.java:60) at org.olat.modules.forms.manager.EvaluationFormManagerImpl.createNumericalResponse(EvaluationFormManagerImpl.java:391) at org.olat.modules.forms.ui.RubricController.saveSliderResponse(RubricController.java:351) at org.olat.modules.forms.ui.RubricController.saveResponse(RubricController.java:319) at org.olat.modules.forms.ui.model.EvaluationFormResponseControllerElement.saveResponse(EvaluationFormResponseControllerElement.java:86) at org.olat.modules.forms.ui.model.ExecutionFragment.save(ExecutionFragment.java:64) at org.olat.modules.forms.ui.EvaluationFormExecutionController.doSaveResponses(EvaluationFormExecutionController.java:330) at org.olat.modules.forms.ui.EvaluationFormExecutionController.formOK(EvaluationFormExecutionController.java:298) at org.olat.core.gui.components.form.flexible.impl.FormBasicController.event(FormBasicController.java:389) at org.olat.core.gui.control.DefaultController.dispatchEvent(DefaultController.java:206) at org.olat.core.gui.components.AbstractComponent$1.run(AbstractComponent.java:240) at org.olat.core.logging.activity.ThreadLocalUserActivityLoggerInstaller.runWithUserActivityLogger(ThreadLocalUserActivityLoggerInstaller.java:108) at org.olat.core.gui.components.AbstractComponent.fireEvent(AbstractComponent.java:238) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.fireValidation(FormWrapperContainer.java:119) at org.olat.core.gui.components.form.flexible.impl.Form.submit(Form.java:441) at org.olat.core.gui.components.form.flexible.impl.Form.submit(Form.java:428) at org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit.dispatchFormRequest(FormSubmit.java:72) at org.olat.core.gui.components.form.flexible.impl.FormItemImpl.doDispatchFormRequest(FormItemImpl.java:561) at org.olat.core.gui.components.form.flexible.impl.Form.evalFormRequest(Form.java:296) at org.olat.core.gui.components.form.flexible.impl.FormWrapperContainer.doDispatchRequest(FormWrapperContainer.java:100) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.core.gui.components.Window.doDispatchToComponent(Window.java:1218) at org.olat.core.gui.components.Window.dispatchRequest(Window.java:400) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:284) at org.olat.core.gui.components.AbstractComponent.dispatchRequest(AbstractComponent.java:193) at org.olat.dispatcher.AuthenticatedDispatcher.processValidDispatchURI(AuthenticatedDispatcher.java:263) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:184) at org.olat.core.servlets.OpenOLATServlet.executeUserRequest(OpenOLATServlet.java:269) at org.olat.core.servlets.OpenOLATServlet.doPost(OpenOLATServlet.java:216) at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) at org.olat.core.servlets.OpenOLATServlet.service(OpenOLATServlet.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.olat.core.servlets.HeadersFilter.doFilter(HeadersFilter.java:95) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:479) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1699) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1050) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:630) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$4.completed(Nio2Endpoint.java:608) at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) at sun.nio.ch.Invoker$2.run(Invoker.java:218) at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:109) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:57) at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:43) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3133) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3737) at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:84) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645) at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282) at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263) at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317) at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:330) at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287) at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:123) at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:710) ... 63 more Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "o_eva_form_response" violates foreign key constraint "eva_resp_to_sess_idx" Detail: Key (fk_session)=(74) is not present in table "o_eva_form_session". at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:150) at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:127) at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:87) at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:87) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 81 more2020-05-11 10:01:18.886 [ajp-nio2-8063-exec-9]
      

        Attachments

          Activity

            People

            Assignee:
            uhensler Urs Hensler
            Reporter:
            gnaegi Florian Gnägi
            Tester:
            Mandy Menzel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 30 minutes
                30m