[5.x]: Repeating authentication popup when opening NASA GES DISC TDS catalog
Versions impacted by the bug
v5.x
What went wrong?
Opening this THREDDS catalog from the NASA GES DISC resulted in repeated authentication popup windows:
https://gpm1.gesdisc.eosdis.nasa.gov/thredds/catalog/aggregation/GPM_3IMERGHHL.06/2021/catalog.xml
I did not have this problem accessing one of the datasets in this catalog using DAP2, e.g.:
https://gpm1.gesdisc.eosdis.nasa.gov/thredds/dodsC/aggregation/GPM_3IMERGHHL.06/2021/GPM_3IMERGHHL.06_Aggregation_2021305.ncml.ncml
NOTE: NASA EarthData Login required and must "Allow" the NASA GESDISC Data Archive. Directions here: https://disc.gsfc.nasa.gov/earthdata-login
Relevant stack trace
[16:14:17.184 ERROR t.c.catalog.builder.CatalogBuilder] failed to read catalog at https://gpm1.gesdisc.eosdis.nasa.gov/thredds/catalog/aggregation/GPM_3IMERGHHL.06/2021/catalog.xml, java.lang.IllegalStateException
java.lang.NullPointerException
at ucar.nc2.ui.widget.UrlAuthenticatorDialog.getPasswordAuthentication(UrlAuthenticatorDialog.java:173)
at java.net.Authenticator.requestPasswordAuthentication(Authenticator.java:317)
at sun.net.www.protocol.http.HttpURLConnection$1.run(HttpURLConnection.java:453)
at sun.net.www.protocol.http.HttpURLConnection$1.run(HttpURLConnection.java:448)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.privilegedRequestPasswordAuthentication(HttpURLConnection.java:447)
at sun.net.www.protocol.http.HttpURLConnection.getServerAuthentication(HttpURLConnection.java:2439)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1737)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:806)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)
at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:329)
at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1266)
at thredds.client.catalog.builder.CatalogBuilder.readXML(CatalogBuilder.java:291)
at thredds.client.catalog.builder.CatalogBuilder.buildFromLocation(CatalogBuilder.java:62)
at thredds.ui.catalog.CatalogTreeView.setCatalog(CatalogTreeView.java:342)
at thredds.ui.catalog.CatalogChooser.lambda$new$0(CatalogChooser.java:114)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Relevant log messages
No response
If you have an example file that you can share, please attach it to this issue.
If so, may we include it in our test datasets to help ensure the bug does not return once fixed? Note: the test datasets are publicly accessible without restriction.
N/A
Code of Conduct
- [X] I agree to follow the UCAR/Unidata Code of Conduct