Details

      Description

      Situation: When starting IGB 9.1.10 the below error is occurring, causing the DAS data to fail to load.

      Task: Investigate the DAS error.

        Attachments

          Issue Links

            Activity

            Hide
            nfreese Nowlan Freese added a comment -

            Error:

            10:21:14.674 ERROR o.l.igb.das.utils.DasServerUtils - Could not initialize JAXBContext for org.lorainelab.igb.das.model.dsn.DasDsn 
            javax.xml.bind.UnmarshalException: null
            	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335) ~[na:1.8.0_332]
            	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:563) ~[na:1.8.0_332]
            	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:249) ~[na:1.8.0_332]
            	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214) ~[na:1.8.0_332]
            	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:140) ~[na:1.8.0_332]
            	at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:123) ~[na:1.8.0_332]
            	at org.lorainelab.igb.das.utils.DasServerUtils.retrieveDsnResponse(DasServerUtils.java:68) ~[das-9.1.10.jar:na]
            	at org.lorainelab.igb.das.DasDataProvider.initialize(DasDataProvider.java:103) [das-9.1.10.jar:na]
            	at com.affymetrix.igb.general.DataProviderManager.initializeDataProvider(DataProviderManager.java:333) [igb-9.1.10.jar:na]
            	at com.affymetrix.igb.general.DataProviderManager.lambda$addDataProvider$87(DataProviderManager.java:324) [igb-9.1.10.jar:na]
            	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_332]
            	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[na:1.8.0_332]
            	at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_332]
            	at java.awt.EventQueue$3.run(EventQueue.java:709) ~[na:1.8.0_332]
            	at java.awt.EventQueue$3.run(EventQueue.java:703) ~[na:1.8.0_332]
            	at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_332]
            	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[na:1.8.0_332]
            	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[na:1.8.0_332]
            	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) ~[na:1.8.0_332]
            	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) ~[na:1.8.0_332]
            	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) ~[na:1.8.0_332]
            	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[na:1.8.0_332]
            	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) ~[na:1.8.0_332]
            	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) ~[na:1.8.0_332]
            Caused by: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
            	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:399) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:326) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1466) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanExternalID(XMLScanner.java:1066) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:641) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:923) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:601) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[na:1.8.0_332]
            	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:642) ~[na:1.8.0_332]
            	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243) ~[na:1.8.0_332]
            	... 21 common frames omitted
            
            Show
            nfreese Nowlan Freese added a comment - Error: 10:21:14.674 ERROR o.l.igb.das.utils.DasServerUtils - Could not initialize JAXBContext for org.lorainelab.igb.das.model.dsn.DasDsn javax.xml.bind.UnmarshalException: null at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335) ~[na:1.8.0_332] at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:563) ~[na:1.8.0_332] at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:249) ~[na:1.8.0_332] at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214) ~[na:1.8.0_332] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:140) ~[na:1.8.0_332] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:123) ~[na:1.8.0_332] at org.lorainelab.igb.das.utils.DasServerUtils.retrieveDsnResponse(DasServerUtils.java:68) ~[das-9.1.10.jar:na] at org.lorainelab.igb.das.DasDataProvider.initialize(DasDataProvider.java:103) [das-9.1.10.jar:na] at com.affymetrix.igb.general.DataProviderManager.initializeDataProvider(DataProviderManager.java:333) [igb-9.1.10.jar:na] at com.affymetrix.igb.general.DataProviderManager.lambda$addDataProvider$87(DataProviderManager.java:324) [igb-9.1.10.jar:na] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[na:1.8.0_332] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[na:1.8.0_332] at java.awt.EventQueue.access$500(EventQueue.java:97) ~[na:1.8.0_332] at java.awt.EventQueue$3.run(EventQueue.java:709) ~[na:1.8.0_332] at java.awt.EventQueue$3.run(EventQueue.java:703) ~[na:1.8.0_332] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_332] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[na:1.8.0_332] at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[na:1.8.0_332] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) ~[na:1.8.0_332] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) ~[na:1.8.0_332] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) ~[na:1.8.0_332] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[na:1.8.0_332] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) ~[na:1.8.0_332] at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) ~[na:1.8.0_332] Caused by: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:399) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:326) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1466) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanExternalID(XMLScanner.java:1066) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:641) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:923) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:601) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[na:1.8.0_332] at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:642) ~[na:1.8.0_332] at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243) ~[na:1.8.0_332] ... 21 common frames omitted
            Hide
            nfreese Nowlan Freese added a comment -

            Note that the DAS still appears normally as a data provider in the Data Sources tab.

            Show
            nfreese Nowlan Freese added a comment - Note that the DAS still appears normally as a data provider in the Data Sources tab.
            Hide
            nfreese Nowlan Freese added a comment -

            The primary issue seems to be that UCSC is now forcing a redirect from http.

            When starting IGB the DAS server is initialized and IGB attempts to retrieve the following URL: http://genome.cse.ucsc.edu/cgi-bin/das/dsn
            However, this URL now redirects to https://genome.cse.ucsc.edu/cgi-bin/das/dsn
            Simply changing the URL in igbDefaultPrefs.json corrects the issue.

            However, the above URL retrieves an XML file. Inside of that file are links to the lists of files for each genome supported. These links are old http links that now also force a redirect:
            http://genome.ucsc.edu:80/cgi-bin/das/hg38 -> https://genome.ucsc.edu/cgi-bin/das/hg38

            I am unsure of how to correct the issue as the DasServerUtils.java retrieveDasTypesResponse HttpRequest method is set to follow redirects, but that does not seem to be working correctly.

            Show
            nfreese Nowlan Freese added a comment - The primary issue seems to be that UCSC is now forcing a redirect from http. When starting IGB the DAS server is initialized and IGB attempts to retrieve the following URL: http://genome.cse.ucsc.edu/cgi-bin/das/dsn However, this URL now redirects to https://genome.cse.ucsc.edu/cgi-bin/das/dsn Simply changing the URL in igbDefaultPrefs.json corrects the issue. However, the above URL retrieves an XML file. Inside of that file are links to the lists of files for each genome supported. These links are old http links that now also force a redirect: http://genome.ucsc.edu:80/cgi-bin/das/hg38 -> https://genome.ucsc.edu/cgi-bin/das/hg38 I am unsure of how to correct the issue as the DasServerUtils.java retrieveDasTypesResponse HttpRequest method is set to follow redirects, but that does not seem to be working correctly.
            Hide
            ann.loraine Ann Loraine added a comment -

            Potentially yucky solution:

            • We could modify the IGB code to insert "https" instead of "http" in the DAS text retrieved from the resource.
            Show
            ann.loraine Ann Loraine added a comment - Potentially yucky solution: We could modify the IGB code to insert "https" instead of "http" in the DAS text retrieved from the resource.
            Hide
            nfreese Nowlan Freese added a comment - - edited

            Branch: https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-3441

            I used code that Karthik had written for IGBF-3103. Note that the commit for IGBF-3103 was reverted due to an issue with secure quickloads, however, that shouldn't be an issue with loading the DAS data.

            Changes are broken into two commits, one that includes the code changes for identifying the redirect url, and a separate commit where I updated the various UCSC urls used during testing or as part of igbDefaultPrefs files. These were causing some tests to fail.

            To test:

            1. Fetch my branch
            2. Build IGB with tests (mvn clean install) - all tests should pass
            3. Start IGB
            4. Click on the mouse genome (M_musculus_Jun_2020).
            5. See that the UCSC (DAS) folder is available in the Data Access tab under Available Data.
            6. Select and load a data file from the UCSC (DAS) folder (make sure to click Load Data)
            7. Next, open the chicken genome (G_gallus_Mar_2018) (note that this version of the genome is not available currently from IGB quickload, so all of the data comes from UCSC)
            8. Select and load a data file from the UCSC (DAS) folder (make sure to click Load Data)
            9. Zoom in to 1:72,715,677-72,715,720
            10. Click Load Sequence
            11. Check the IGB logs to make sure there are no errors
            Show
            nfreese Nowlan Freese added a comment - - edited Branch: https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-3441 I used code that Karthik had written for IGBF-3103 . Note that the commit for IGBF-3103 was reverted due to an issue with secure quickloads, however, that shouldn't be an issue with loading the DAS data. Changes are broken into two commits, one that includes the code changes for identifying the redirect url, and a separate commit where I updated the various UCSC urls used during testing or as part of igbDefaultPrefs files. These were causing some tests to fail. To test: Fetch my branch Build IGB with tests (mvn clean install) - all tests should pass Start IGB Click on the mouse genome (M_musculus_Jun_2020). See that the UCSC (DAS) folder is available in the Data Access tab under Available Data. Select and load a data file from the UCSC (DAS) folder (make sure to click Load Data) Next, open the chicken genome (G_gallus_Mar_2018) (note that this version of the genome is not available currently from IGB quickload, so all of the data comes from UCSC) Select and load a data file from the UCSC (DAS) folder (make sure to click Load Data) Zoom in to 1:72,715,677-72,715,720 Click Load Sequence Check the IGB logs to make sure there are no errors
            Hide
            karthik Karthik Raveendran added a comment -

            No errors in logs. Requesting Pull Request.

            Show
            karthik Karthik Raveendran added a comment - No errors in logs. Requesting Pull Request.
            Hide
            nfreese Nowlan Freese added a comment - - edited
            Show
            nfreese Nowlan Freese added a comment - - edited [~aloraine] - Pull request: https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/948
            Hide
            ann.loraine Ann Loraine added a comment -

            PR is merged into main-JDK8.

            Show
            ann.loraine Ann Loraine added a comment - PR is merged into main-JDK8.
            Hide
            karthik Karthik Raveendran added a comment -

            After including this changes in main-JDK8-r6, I tested it with no errors.

            Show
            karthik Karthik Raveendran added a comment - After including this changes in main-JDK8-r6, I tested it with no errors.
            Hide
            karthik Karthik Raveendran added a comment -

            Tested the installer in https://bitbucket.org/lorainelab/integrated-genome-browser/downloads/. No errors found.

            Moving to close.

            Show
            karthik Karthik Raveendran added a comment - Tested the installer in https://bitbucket.org/lorainelab/integrated-genome-browser/downloads/ . No errors found. Moving to close.

              People

              • Assignee:
                nfreese Nowlan Freese
                Reporter:
                nfreese Nowlan Freese
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: