Ticket #333 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Assay step in study create wizard is broken

Reported by: business@… Owned by: work@…
Priority: critical Milestone: 0.6.6
Component: Unknown Version: 0.6.5
Keywords: Cc:
Product: Operating system:
URL: Hardware:

Description

If I go via 'next' to the assay step or click directly on the 'Assay' breadcrumb in the study edit wizard of any study on  http://test.gscf.nmcdsp.org or  http://test.gscf.dbnp.org, I get an error. As far as I know this is appearing since the upgrade to gscf 0.6.5.

org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'assays' of flow 'studyWizard/pages'
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException: Exception occurred rendering view org.codehaus.groovy.grails.web.servlet.view.GroovyPageView: unnamed; URL [/WEB-INF/grails-app/views//studyWizard/pages/_assays.gsp]
	... 6 more
Caused by: org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error processing GroovyPageView: Error executing tag <af:page>: Error evaluating expression [assay?.template] on line [27]: No such property: template for class: org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher at /home/tomcat/apache-tomcat-test/webapps/gscf-0.6.5-test/WEB-INF/grails-app/views/studyWizard/pages/_assays.gsp:1
	... 6 more
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Error executing tag <af:page>: Error evaluating expression [assay?.template] on line [27]: No such property: template for class: org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher at /home/tomcat/apache-tomcat-test/webapps/gscf-0.6.5-test/WEB-INF/grails-app/views/studyWizard/pages/_assays.gsp:1
	at home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp.run(home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp:84)
	... 6 more
Caused by: org.codehaus.groovy.grails.web.pages.exceptions.GroovyPagesException: Error evaluating expression [assay?.template] on line [27]: No such property: template for class: org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher
	at home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp$_run_closure1.doCall(home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp:44)
	at home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp$_run_closure1.doCall(home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp)
	at nl.grails.plugins.ajaxflow.AjaxflowTagLib$_closure7.doCall(AjaxflowTagLib.groovy:422)
	... 7 more
Caused by: groovy.lang.MissingPropertyException: No such property: template for class: org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher
	at home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp$_run_closure1_closure4.doCall(home_tomcat_apache_tomcat_test_webapps_gscf_0_6_5_test_WEB_INF_grails_app_views_studyWizard_pages__assays_gsp:44)
	... 10 more

Change History

Changed 3 years ago by business@…

I'm not sure it's caused by the upgrade, more likely a last minute change, because the test fails too:
 http://hudson.nmcdsp.org/hudson/job/GSCF-TEST-DOC/ws/target/test-reports/webtest/001_GscfCreateStudyWebTeststestCreateStu/WebTestReport.html#error1

Changed 3 years ago by work@…

Looked into the issue, and it is caused by ${assay?.template} failing because template is not set. This is weird, as the template should always be available then the instance exists. Debugging 'assay' shows the following:

assay:org.codehaus.groovy.grails.web.taglib.NamespacedTagDispatcher@4560df2c

So somehow an assay instance exists which is an instance of NamespacedTagDispacher? instead of org.dbnp.studycapturing.Assay???

Not sure how this happened, but it is pretty weird...

Changed 3 years ago by work@…

  • status changed from new to closed
  • resolution set to fixed

changed

${assay?.template}

into

${(assay && assay instanceof dbnp.studycapturing.Assay) ? assay.template : ''}

in r1566

Changed 3 years ago by work@…

webtests work again as well:

 http://hudson.nmcdsp.org/hudson/job/GSCF-TEST-DOC/ws/target/test-reports/webtest/index.html

Not sure what caused this bug to surface though?

Note: See TracTickets for help on using tickets.