chanders Posted March 22, 2018 Posted March 22, 2018 Greetings,I had been getting null pointer exception on jdbc connection creation (ever since tommy crash) -- the root cause of this is the missing jdbc connection pooling jar files in the tomcat library. Either these libraries were not loaded after the 'tommy' crash or are corrupted. Please restore these missing jar files in Tomcat library or do a fresh install of the tomcat server. This should fix the null pointer issues for all those who are using the connection pooling in jdbc. Unfortunately this issue has remained undiscovered for quite sometime -- appreciate if you would please fix it as soon as possible. Thanks you.
chanders Posted March 22, 2018 Author Posted March 22, 2018 additional info -- I think one these jar file that may be corrupted is: tomcat-jdbc.jar
wolstech Posted March 23, 2018 Posted March 23, 2018 Moving so Krydos can take a look at this. For reference, the original issue is discussed here: https://www.helionet.org/index/topic/32206-sql-query-execute-in-a-servlet-on-tomcat-returning-null-pointer/
Krydos Posted March 23, 2018 Posted March 23, 2018 That file hasn't been touched or edited since the last time Tomcat was upgraded -rw-r-----. 1 nobody nobody 144265 Nov 27 05:31 tomcat-jdbc.jar
chanders Posted March 24, 2018 Author Posted March 24, 2018 Dear Krydos,While this file may not be corrupted, it is highly likely that some of jdbc calls might be getting overloaded (overridden) by non-functioning or corrupted jdbc calls (from a different jar file). Appreciate if you would please test and confirm by making calls to "Datasource" and "setPoolProperties" and then create a Connection using "getConnection()" -- then create a sql "Statement" and "execQuery" -- resultSet.next() will present java.lang.NullPointerException!
chanders Posted March 25, 2018 Author Posted March 25, 2018 Krydos,Thanks for trying -- Unfortunately my servlet 'citisnetsql3' works find locally, but I run on tommy (and has worked ok before though) gives null pointer exception -- please check my 'server log' to see if it provides any additional info.... Here is what I get in my console view.. <!doctype html><html lang="en"><head><title>HTTP Status 500 – Internal Server Error</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 500 – Internal Server Error</h1><hr class="line" /><p><b>Type</b> Exception Report</p><p><b>Description</b> The server encountered an unexpected condition that prevented it from fulfilling the request.</p><p><b>Exception</b></p><pre>java.lang.NullPointerExceptioncom.citisnet.buildapp.processRecord.runSqlCommand(processRecord.java:1572)com.citisnet.buildapp.processRecord.runSqlCommandOn(processRecord.java:923)com.citisnet.buildapp.processRecord.processSql(processRecord.java:913)com.citisnet.buildapp.processRecord.processSqls(processRecord.java:637)com.citisnet.buildapp.processRecord.processRec(processRecord.java:2778)com.citisnet.buildapp.processInput.process_action(processInput.java:201)com.citisnet.buildapp.processInput.processCmd(processInput.java:146)com.citisnet.buildapp.processInput.readParam3(processInput.java:126)com.citisnet.buildapp.MeBook.doPost(MeBook.java:95)javax.servlet.http.HttpServlet.service(HttpServlet.java:661)javax.servlet.http.HttpServlet.service(HttpServlet.java:742)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)</pre><p><b>Note</b> The full stack trace of the root cause is available in the server logs.</p><hr class="line" /><h3>Apache Tomcat/8.5.24</h3></body></html> thanks.
chanders Posted March 25, 2018 Author Posted March 25, 2018 http://citisnet.heliohost.org/citisnetsql3/ click 'Sign In' and enter arbitrary userid/password to login.
Krydos Posted March 25, 2018 Posted March 25, 2018 Ahh, here's the problem: https://stackoverflow.com/a/27276523 The reason my code works and yours doesn't is probably because I specify the timezonedriver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/krydos_test?serverTimezone=UTC" Your code probably stopped working when daylight savings time went into effect on March 11th.
chanders Posted March 25, 2018 Author Posted March 25, 2018 Thanks Krydos,I was wondering if it a bug -- and should it not be fixed by specifying this in the server.xml???
Recommended Posts