Trader does not handle NULL from Broker
Closed this issue · 1 comments
CC9759 commented
When the DB is inaccessible/missing/misnamed, Broker takes in a null value and Trader does not check. As a result Trader errors out and the website redirects to the error message:
Error 500: java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
rather than a more user-friendly view.
The source of the problem should be from summary.jsp
where broker is called. It returns a NULL value that isn't checked and will error out the program.
Trader's Log:
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[INFO ] FFDC1015I: An FFDC Incident has been created: "java.lang.NullPointerException: Cannot read the array length because "<local6>" is null com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters 1105" at ffdc_23.01.18_14.49.23.0.log
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
[ERROR ] SRVE0777E: Exception thrown by application class 'com.ibm._jsp._summary._jspService:135'
java.lang.NullPointerException: Cannot read the array length because "<local6>" is null
at com.ibm._jsp._summary._jspService(_summary.java:135)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:100)
at [internal classes]
at com.ibm.hybrid.cloud.sample.stocktrader.trader.Summary.doGet(Summary.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at [internal classes]
jwalcorn commented
Fixed this a long time ago (I believe by merging a PR that Celina submitted). Just forgot to close out this issue at that time.