Uploaded image for project: 'Onyx'
  1. Onyx
  2. ONYX-1314

Data corruption in Onyx causes Internal Error to occur, and the interview is not accessible anymore

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Critical
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.6.4
    • Fix Version/s: 1.10.0
    • Component/s: None
    • Labels:
      None

      Description

      For blood samples stage, actions are not recorded in table 'action' as expected. For example, you may have actions 'Stop' and 'Cancel' but not 'Execute'.

      Pay attention to lines :Caused by: java.lang.NullPointerException
      at org.obiba.onyx.util.DateUtil.getDaysBetween(DateUtil.java:27)

      in error log file :

      2010-05-20 10:49:05,718 - INFO - $MenuItemSelectionBehavior - linkPageClass = HomePage, pageClass = HomePage
      2010-05-20 10:49:05,718 - INFO - $MenuItemSelectionBehavior - linkPageClass = ParticipantSearchPage, pageClass = HomePage
      2010-05-20 10:49:05,718 - INFO - $MenuItemSelectionBehavior - linkPageClass = WorkstationPage, pageClass = HomePage
      2010-05-20 10:49:05,796 - WARN - apache.wicket.Localizer - Tried to retrieve a localized string for a component that has not yet been added to the page. This can sometimes lead to an invalid or no localized resource returned. Make sure you are not calling Component#getString() inside your Component's constructor. Offending component: [MarkupContainer [Component id = content]]
      2010-05-20 10:49:11,906 - INFO - tate.StageExecutionContext - TransitionEventLog: Consent/Ready/start/InProgress/12687
      2010-05-20 10:49:13,921 - INFO - efaultInterviewManagerImpl - User 12412 has locked interview during 11s for participant id=3925.
      2010-05-20 10:49:13,921 - INFO - efaultInterviewManagerImpl - User 12412 has locked interview for participant id=3925.
      2010-05-20 10:49:15,218 - ERROR - apache.wicket.RequestCycle - Exception in rendering component: [Component id = cell]
      org.apache.wicket.WicketRuntimeException: Exception in rendering component: [Component id = cell]
      at org.apache.wicket.Component.renderComponent(Component.java:2658)
      at org.apache.wicket.markup.html.WebComponent.onRender(WebComponent.java:62)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.markup.repeater.AbstractRepeater.renderChild(AbstractRepeater.java:122)
      at org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:103)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.markup.repeater.AbstractRepeater.renderChild(AbstractRepeater.java:122)
      at org.apache.wicket.markup.repeater.AbstractRepeater.onRender(AbstractRepeater.java:103)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
      at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
      at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
      at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
      at org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:66)
      at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
      at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
      at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
      at org.apache.wicket.markup.resolver.MarkupInheritanceResolver.resolve(MarkupInheritanceResolver.java:73)
      at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
      at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1528)
      at org.apache.wicket.Page.onRender(Page.java:1545)
      at org.apache.wicket.Component.render(Component.java:2450)
      at org.apache.wicket.Page.renderPage(Page.java:914)
      at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:261)
      at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
      at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
      at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
      at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
      at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
      at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
      at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.NullPointerException
      at org.obiba.onyx.util.DateUtil.getDaysBetween(DateUtil.java:27)
      at org.obiba.onyx.webapp.stage.panel.StageSelectionPanel$EndTimeModel.getObject(StageSelectionPanel.java:399)
      at org.obiba.onyx.webapp.stage.panel.StageSelectionPanel$EndTimeModel.getObject(StageSelectionPanel.java:380)
      at org.apache.wicket.Component.getDefaultModelObject(Component.java:1657)
      at org.apache.wicket.Component.getDefaultModelObjectAsString(Component.java:1676)
      at org.apache.wicket.markup.html.basic.Label.onComponentTagBody(Label.java:114)
      at org.apache.wicket.Component.renderComponent(Component.java:2619)
      ... 88 more

        Attachments

          Issue Links

            Activity

            Hide
            mbelhiah Meryam Belhiah added a comment -

            This is what Phillipe did to delete corrupted rows. The interview became accessible but when the nurse tried to start 'Blood sample' stage, internal error occurred again.

            update
            stage_execution_memento
            set
            state='RubyReadyState',
            action_id=NULL
            where interview_id = $$$$ and stage = 'AllSamplesCollection';

            delete
            from
            stage_transition
            where interview_id = $$$$
            and action_id in ($0001, $0002);

            delete
            from
            action
            where id in($0001,$0002);

            Show
            mbelhiah Meryam Belhiah added a comment - This is what Phillipe did to delete corrupted rows. The interview became accessible but when the nurse tried to start 'Blood sample' stage, internal error occurred again. update stage_execution_memento set state='RubyReadyState', action_id=NULL where interview_id = $$$$ and stage = 'AllSamplesCollection'; delete from stage_transition where interview_id = $$$$ and action_id in ($0001, $0002); delete from action where id in($0001,$0002);
            Hide
            plaflamm Philippe Laflamme added a comment -

            This issue has re-appeared. This time for a Questionnaire stage.

            The following table shows the sequence of actions that took place on the stage, but did not seem to affect the state of the stage... It seems like the action window is persisting the action, but not applying the action on the stage.

            | 923 | action.EXECUTE.Ready.quartz.QuestionnaireBoneDensity       | NULL    | 2012-05-16 11:56:44 | NULL                              | QuestionnaireBoneDensity | EXECUTE  |            7 |       1 |
            | 924 | action.STOP.InProgress.quartz.QuestionnaireBoneDensity     | retest  | 2012-05-16 11:56:57 | Action.Reason.InterviewerDecision | QuestionnaireBoneDensity | STOP     |            7 |       1 |
            | 925 | action.STOP.InProgress.quartz.QuestionnaireBoneDensity     | retest  | 2012-05-16 11:57:08 | Action.Reason.InterviewerDecision | QuestionnaireBoneDensity | STOP     |            7 |       1 |
            | 926 | action.STOP.InProgress.quartz.QuestionnaireBoneDensity     | retest  | 2012-05-16 11:57:24 | Action.Reason.InterviewerDecision | QuestionnaireBoneDensity | STOP     |            7 |       1 |
            | 927 | action.COMPLETE.InProgress.quartz.QuestionnaireBoneDensity | NULL    | 2012-05-16 11:57:48 | NULL                              | QuestionnaireBoneDensity | COMPLETE |            7 |       1 |
            
            Show
            plaflamm Philippe Laflamme added a comment - This issue has re-appeared. This time for a Questionnaire stage. The following table shows the sequence of actions that took place on the stage, but did not seem to affect the state of the stage... It seems like the action window is persisting the action, but not applying the action on the stage. | 923 | action.EXECUTE.Ready.quartz.QuestionnaireBoneDensity | NULL | 2012-05-16 11:56:44 | NULL | QuestionnaireBoneDensity | EXECUTE | 7 | 1 | | 924 | action.STOP.InProgress.quartz.QuestionnaireBoneDensity | retest | 2012-05-16 11:56:57 | Action.Reason.InterviewerDecision | QuestionnaireBoneDensity | STOP | 7 | 1 | | 925 | action.STOP.InProgress.quartz.QuestionnaireBoneDensity | retest | 2012-05-16 11:57:08 | Action.Reason.InterviewerDecision | QuestionnaireBoneDensity | STOP | 7 | 1 | | 926 | action.STOP.InProgress.quartz.QuestionnaireBoneDensity | retest | 2012-05-16 11:57:24 | Action.Reason.InterviewerDecision | QuestionnaireBoneDensity | STOP | 7 | 1 | | 927 | action.COMPLETE.InProgress.quartz.QuestionnaireBoneDensity | NULL | 2012-05-16 11:57:48 | NULL | QuestionnaireBoneDensity | COMPLETE | 7 | 1 |

              People

              • Assignee:
                plaflamm Philippe Laflamme
                Reporter:
                mbelhiah Meryam Belhiah
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: