radiology-research / ispy2_mri

GUI to enter info on incoming MRI's for ISPY2 into database
GNU General Public License v3.0
0 stars 0 forks source link

this program can write data that causes the web app to fail #7

Open RossBoylan opened 10 months ago

RossBoylan commented 10 months ago

While experimenting for #3 we generated some data which caused the tomcat web application to fail. The failure was pretty bad: when searching for a specific record we got nothing but an error message. When trying to list everything (? at least a lot of records) it listed up to the ispy2_id with the problem and then showed nothing after that.

While one could argue the problem is in the tomcat program, known as bdb to me, it can be interpreted as a bug in this program for writing such data.

Here's the error that was displayed in the web app. The messages suggest the problem is specifically with a date. Some of the dates are NULL, but that was true before-hand, though maybe a missing mri_date is new. Well, 2 other records have a NULL mri_date, but they also have a blank ispy2_id, and blanks, NULL or uk for everything else. Or perhaps NULLs in the code fields that are usually mdy is causing trouble.

There is an outside chance it is the presence of multiple records for the same id and visit that causes the problem.

HTTP Status 500 - java.lang.NullPointerException
________________________________________
type Exception report
message java.lang.NullPointerException
description The server encountered an internal error that prevented it from fulfilling this request.
exception 
org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:561)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause 
java.lang.NullPointerException
    edu.ucsf.mrsc.jsp.DateTime.formatDateString(DateTime.java:94)
    org.apache.jsp.insert.ispy2_005fsearch_005faction_jsp._jspService(ispy2_005fsearch_005faction_jsp.java:547)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.76 logs.
________________________________________
Apache Tomcat/7.0.76