fermi-ad / controls

Central repo for reporting bugs, making feature requests, managing RFCs, and requesting seminar topics.
https://www-bd.fnal.gov/controls/
2 stars 0 forks source link

SQLExceptions on PXIEPulseCorrelatedDataGatherer launch #50

Closed cnlklink closed 5 months ago

cnlklink commented 5 months ago

Describe the bug

When I launch PXIEPulseCorrelatedDataGatherer the following exceptions are thrown:

Feb 09, 2024 9:27:53 AM gov.fnal.controls.framework.helpers.RMIAddressHelper configureRMI
INFO: This computer has an address on the Controls' network: 131.225.129.10
Feb 09, 2024 9:27:53 AM gov.fnal.controls.kerberos.protocol.Init enableKerberosAuthentication
INFO: Enabling Kerberos authentication
Feb 09, 2024 9:27:53 AM gov.fnal.controls.framework.ApplicationManager enableKerberosAuthentication
INFO: Enabled Kerberos HTTP authentication
Feb 09, 2024 9:27:54 AM gov.fnal.controls.framework.ApplicationManager <init>
INFO: Local host: ad126611-lt.fnal.gov
Feb 09, 2024 9:27:54 AM gov.fnal.controls.framework.ApplicationManager <init>
INFO: appix_server: https://www-bd.fnal.gov/appix
Feb 09, 2024 9:27:54 AM gov.fnal.controls.framework.helpers.SelfDeterminator getDescription
INFO: Openning connection to: https://www-bd.fnal.gov/appix/service/appdesc?exec=gov.fnal.controls.applications.PXIEPulseCorrelatedDataGatherer.PXIEPulseCorrelatedDataGatherer&type=0
Feb 09, 2024 9:27:58 AM gov.fnal.controls.service.dmq.impl.AbstractRemoteAdapter setConnection
INFO: Connected
Feb 09, 2024 9:27:58 AM gov.fnal.controls.service.dmq.DaqClient <init>
INFO: Obtained job manager ClientJobManager@237351678
Feb 09, 2024 9:27:58 AM gov.fnal.controls.kerberos.KerberosLoginContext configure
INFO: Kerberos Login Module PR-72230
Feb 09, 2024 9:27:58 AM gov.fnal.controls.kerberos.KerberosLoginContext configure
INFO: Using Kerberos configuration from C:\Users\SCHUPB~2\AppData\Local\Temp\schupbach_krb5.conf
Feb 09, 2024 9:28:40 AM gov.fnal.controls.db.util.Util useDirect
INFO: DB connections to Sybase servers will be via servlet
Feb 09, 2024 9:28:41 AM gov.fnal.controls.db.util.Util useDirect
INFO: DB connections to Sybase servers will be via servlet
Feb 09, 2024 9:28:41 AM gov.fnal.controls.kerberos.protocol.Init doKerberos
INFO: Starting kerberos authentication to https://www-bd.fnal.gov/DbServlet/servlet at due41.fnal.gov
Feb 09, 2024 9:28:41 AM gov.fnal.controls.kerberos.login.CacheLoginModule login
INFO: Reading windows memory cache
Feb 09, 2024 9:28:41 AM gov.fnal.controls.kerberos.login.DelegatingCacheAdapter <init>
INFO: Using direct class loader delegation
Feb 09, 2024 9:28:41 AM gov.fnal.controls.kerberos.KerberosLoginContext login
INFO: Authenticated as schupbach@FNAL.GOV until 2024-02-10 10:38:14-0600
Feb 09, 2024 9:28:41 AM gov.fnal.controls.kerberos.protocol.Init doKerberos
INFO: Sending one-time kerberos password to: https://www-bd.fnal.gov/DbServlet/j_security_check
Feb 09, 2024 9:28:41 AM gov.fnal.controls.kerberos.protocol.Init doKerberos
INFO: Kerberos authentication completed
java.sql.SQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:303)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223)
    at org.postgresql.Driver.makeConnection(Driver.java:465)
    at org.postgresql.Driver.connect(Driver.java:264)
    at gov.fnal.controls.db.direct.AbstractServer.tryConnect(AbstractServer.java:248)
    at gov.fnal.controls.db.direct.AbstractServer.connect(AbstractServer.java:222)
    at gov.fnal.controls.db.direct.AbstractServer.connect(AbstractServer.java:200)
    at gov.fnal.controls.db.direct.AbstractServer.getConnection(AbstractServer.java:163)
    at gov.fnal.controls.db.direct.Pool.getRawConnection(Pool.java:135)
    at gov.fnal.controls.db.direct.Pool.getConnection(Pool.java:87)
    at gov.fnal.controls.db.direct.PooledServer.getConnection(PooledServer.java:128)
    at gov.fnal.controls.db.direct.UniversalServerImpl.getConnection(UniversalServerImpl.java:117)
    at gov.fnal.controls.db.servlet.DbServlet.doPostXML(DbServlet.java:225)
    at gov.fnal.controls.db.servlet.DbServlet.doPost(DbServlet.java:155)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at gov.fnal.controls.db.servlet.XmlToHtmlFilter.doFilter(XmlToHtmlFilter.java:110)
    at gov.fnal.controls.db.servlet.XmlToHtmlFilter.doFilter(XmlToHtmlFilter.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:312)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
java.sql.SQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:303)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223)
    at org.postgresql.Driver.makeConnection(Driver.java:465)
    at org.postgresql.Driver.connect(Driver.java:264)
    at gov.fnal.controls.db.direct.AbstractServer.tryConnect(AbstractServer.java:248)
    at gov.fnal.controls.db.direct.AbstractServer.connect(AbstractServer.java:222)
    at gov.fnal.controls.db.direct.AbstractServer.connect(AbstractServer.java:200)
    at gov.fnal.controls.db.direct.AbstractServer.getConnection(AbstractServer.java:163)
    at gov.fnal.controls.db.direct.Pool.getRawConnection(Pool.java:135)
    at gov.fnal.controls.db.direct.Pool.getConnection(Pool.java:87)
    at gov.fnal.controls.db.direct.PooledServer.getConnection(PooledServer.java:128)
    at gov.fnal.controls.db.direct.UniversalServerImpl.getConnection(UniversalServerImpl.java:117)
    at gov.fnal.controls.db.servlet.DbServlet.doPostXML(DbServlet.java:225)
    at gov.fnal.controls.db.servlet.DbServlet.doPost(DbServlet.java:155)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at gov.fnal.controls.db.servlet.XmlToHtmlFilter.doFilter(XmlToHtmlFilter.java:110)
    at gov.fnal.controls.db.servlet.XmlToHtmlFilter.doFilter(XmlToHtmlFilter.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:358)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Feb 09, 2024 9:28:42 AM gov.fnal.controls.framework.AbstractControlsFrame <init>
INFO: GUI descriptor jar:file:/C:/Users/schupbach/OneDrive%20-%20Fermi%20National%20Accelerator%20Laboratory/Documents/code/acnet-workspace/BoosterDDSCurves/lib/framework.jar!/gov/fnal/controls/framework/JControlsFrame.xml loaded
Feb 09, 2024 9:28:42 AM gov.fnal.controls.framework.AbstractControlsFrame <init>
INFO: GUI descriptor file:/C:/Users/schupbach/OneDrive%20-%20Fermi%20National%20Accelerator%20Laboratory/Documents/code/acnet-workspace/PXIEPulseCorrelatedDataGatherer/gov/fnal/controls/applications/PXIEPulseCorrelatedDataGatherer/PXIEPulseCorrelatedDataGatherer.xml loaded

Feb 09, 2024 9:28:43 AM gov.fnal.controls.kerberos.login.CacheLoginModule login
INFO: Reading windows memory cache
Feb 09, 2024 9:28:43 AM gov.fnal.controls.kerberos.login.DelegatingCacheAdapter <init>
INFO: Using direct class loader delegation
Feb 09, 2024 9:28:44 AM gov.fnal.controls.kerberos.KerberosLoginContext login
INFO: Authenticated as schupbach@FNAL.GOV until 2024-02-10 10:38:14-0600

Notice the java.sql.SQLException: Connection to localhost:5432 refused.

To Reproduce

  1. Launch PXIEPulseCorrelatedDataGatherer via appix

Affected system

cnlklink commented 5 months ago

Seems to work fine when starting from a clx w/ javaws https://www-bd.fnal.gov/appix/start?p=60000508&n=55000888

huaji168 commented 5 months ago

It seems the error happens when running it from localhost, and it is using IP forwarding at localhost:5432, please check if the correct tunnel has been setup in putty and ssh session is up when running the program.

finstrom commented 5 months ago

I can run the application from appix without any exceptions (although I do run into the known issue with a delay to detect my ability to connect directly to the database). I'm at a loss as to why I don't see the same issue as others. Note that you do not need to setup a tunnel to run controls java applications.

finstrom commented 5 months ago

My desktop is a Mac, and it works fine there, but I also tried it on a Windows machine and on a control room cns*pc, and it worked everywhere. Is anyone able to duplicate the error?

beauremus commented 5 months ago

It seems the error happens when running it from localhost, and it is using IP forwarding at localhost:5432, please check if the correct tunnel has been setup in putty and ssh session is up when running the program.

Is this normal operation? @finstrom did you do this?

huaji168 commented 5 months ago

Tried and it worked on windows PC. The source code does not have the phrase for "Sybase", it seems the user is running the old version of application. can user check to remove the old version from local and run the new one on web?

cnlklink commented 5 months ago

Confirmed with Brian that an old version of his gov tree jars was the problem.