Description
When loading the Discovery Home page, "java.lang.NullPointerException" error shows and page doesn't load. This is caused by tables existing in the CMDB according to the records in the sys_db_object table, that don't actually exist in the database.
This has been seen by multiple customers due to these 5 tables of the 3rd party UPM·X application being missing, although this Discovery Homepage problem could be caused by any missing table in the CMDB:
x_inpgh_upmx_process_category
x_inpgh_upmx_process_task
x_inpgh_upmx_social_media
x_inpgh_upmx_value_stream
x_inpgh_upmx_website
Error in the logs as below
2020-02-12 01:03:29 (362) Default-thread-10 9B71DDABDB3604101F6C7ABE3B961989 txid=9af0b56bdb7a SEVERE *** ERROR *** JavaScript evaluation error on:
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var manager = new DiscoveryResultManager();
var stats = manager.getHomepageStats();
response.setStatus(200);
response.setContentType('application/json');
response.setBody(stats);
})(request, response);
Root cause of JavaScriptException: java.lang.NullPointerException
java.lang.NullPointerException
The exception in the app node logs will include this line, which is the from the DiscoveryResultManager script include trying to query the missing table:
at org.mozilla.javascript.gen.sys_script_include_3fd4f6d2c3473200e412bea192d3ae6a_script_28701._c_anonymous_9(sys_script_include.3fd4f6d2c3473200e412bea192d3ae6a.script:145)
Steps to Reproduce
- Install Discovery plugin, and have CMDB tables in sys_db_object that don't actually exist. (This situation may be possible to create by installing the UPM-X Store application.)
- Navigate to Discovery - Home
https://<instancename>.service-now.com/$discovery_result_homepage.do - Observe the red ribbon on the top with " java.lang.NullPointerException" message
Workaround
This problem is currently under review. You can contact ServiceNow Technical Support or subscribe to this Known Error article by clicking the Subscribe button at the top right of this form to be notified when more information will become available.
The problem can be avoided by resolving the Table problem.
Related Problem: PRB1386203