Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-3514

Investigate errors in IGB when View in IGB is invoked

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      When the View in IGB in Bioviz Connect is clicked on IGB loads the file the first time but when View in IGB in another file is clicked it throws the following error:

      java.lang.NullPointerException: Cannot invoke "java.util.Optional.ifPresent(java.util.function.Consumer)" because the return value of "com.affymetrix.igb.view.load.GeneralLoadUtils.getDataSet(java.net.URI, java.util.Optional, String, String, com.affymetrix.genometry.GenomeVersion, boolean)" is null
      	at com.affymetrix.igb.view.load.GeneralLoadUtils.openURI(GeneralLoadUtils.java:967)
      	at com.affymetrix.igb.IgbServiceImpl.openURI(IgbServiceImpl.java:363)
      	at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet.directlyLoadFile(BookmarkUnibrowControlServlet.java:589)
      	at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet.lambda$directlyLoadUrls$8(BookmarkUnibrowControlServlet.java:578)
      	at java.base/java.util.HashMap.forEach(HashMap.java:1429)
      	at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet.directlyLoadUrls(BookmarkUnibrowControlServlet.java:577)
      	at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet$1.runInBackground(BookmarkUnibrowControlServlet.java:247)
      	at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73)
      	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
      	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
      	at java.base/java.lang.Thread.run(Thread.java:1583)
      
      

        Attachments

          Issue Links

            Activity

            karthik Karthik Raveendran created issue -
            karthik Karthik Raveendran made changes -
            Field Original Value New Value
            Epic Link IGBF-3142 [ 21688 ]
            karthik Karthik Raveendran made changes -
            Link This issue blocks IGBF-3510 [ IGBF-3510 ]
            karthik Karthik Raveendran made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            karthik Karthik Raveendran made changes -
            Description When the View in IGB in Bioviz Connect is clicked on IGB loads the file the first time but when View in IGB in another file is clicked it throws the following error:

            {code:java}
            java.lang.NullPointerException: Cannot invoke "java.util.Optional.ifPresent(java.util.function.Consumer)" because the return value of "com.affymetrix.igb.view.load.GeneralLoadUtils.getDataSet(java.net.URI, java.util.Optional, String, String, com.affymetrix.genometry.GenomeVersion, boolean)" is null
            at com.affymetrix.igb.view.load.GeneralLoadUtils.openURI(GeneralLoadUtils.java:967)
            at com.affymetrix.igb.IgbServiceImpl.openURI(IgbServiceImpl.java:363)
            at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet.directlyLoadFile(BookmarkUnibrowControlServlet.java:589)
            at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet.lambda$directlyLoadUrls$8(BookmarkUnibrowControlServlet.java:578)
            at java.base/java.util.HashMap.forEach(HashMap.java:1429)
            at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet.directlyLoadUrls(BookmarkUnibrowControlServlet.java:577)
            at com.affymetrix.igb.bookmarks.BookmarkUnibrowControlServlet$1.runInBackground(BookmarkUnibrowControlServlet.java:247)
            at com.affymetrix.genometry.thread.CThreadWorker.doInBackground(CThreadWorker.java:73)
            at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:305)
            at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
            at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:342)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
            at java.base/java.lang.Thread.run(Thread.java:1583)

            {code}
            karthik Karthik Raveendran made changes -
            Summary Fix errors in IGB when View in IGB is invoked  errors in IGB when View in IGB is invoked
            karthik Karthik Raveendran made changes -
            Summary  errors in IGB when View in IGB is invoked  Investigate errors in IGB when View in IGB is invoked
            ann.loraine Ann Loraine made changes -
            Epic Link IGBF-3142 [ 21688 ] IGBF-2376 [ 18533 ]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            During scrum, Nowlan Freese noted:

            • The problem may be due to the tester account being over its storage limit.
            • The error happens on both the main-JDK8, main-JDK21 branches, and release-9.1.10

            More details on error:

            • NF sees "500" error within IGB when clicking the "load in igb" button
            Show
            ann.loraine Ann Loraine added a comment - - edited During scrum, Nowlan Freese noted: The problem may be due to the tester account being over its storage limit. The error happens on both the main-JDK8, main-JDK21 branches, and release-9.1.10 More details on error: NF sees "500" error within IGB when clicking the "load in igb" button
            karthik Karthik Raveendran made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            We are going to try to fix this and if a change in IGB is required, we want to include it in our upcoming release.

            Show
            ann.loraine Ann Loraine added a comment - We are going to try to fix this and if a change in IGB is required, we want to include it in our upcoming release.
            ann.loraine Ann Loraine made changes -
            Sprint Fall 8 [ 184 ] Fall 8, Spring 1 [ 184, 185 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            karthik Karthik Raveendran made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Suggestion: Check if the host can still support http range requests.

            Potentially useful reference: https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests

            NF suggestion: Send me the URL of the file and he will test if the samtools software and do a usual range request. (Command-line samtools does this also.)

            Show
            ann.loraine Ann Loraine added a comment - - edited Suggestion: Check if the host can still support http range requests. Potentially useful reference: https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests NF suggestion: Send me the URL of the file and he will test if the samtools software and do a usual range request. (Command-line samtools does this also.)
            Hide
            karthik Karthik Raveendran added a comment - - edited

            Dr. Nowlan Freese used the URL below to check with samtools software for a range request and it worked as expected. I used curl commands for http requests on the same URL and it required a redirect flag (-L) for it to work. The range requests did work as well with the redirect flag. I am trying to confirm if the error is caused because the redirect was not handled.

            curl -L -X 0-500 GET https://data.cyverse.org/dav-anon/iplant/home/shared/BioViz/rnaseq/A_thaliana_Jun_2009/SRP220157/reads/SRR10060893.bam > outFile
            

            This worked from Samtools:

            samtools view https://data.cyverse.org/dav-anon/iplant/home/shared/BioViz/rnaseq/A_thaliana_Jun_2009/SRP220157/reads/SRR10060893.bam Chr1:3599079-3600963
            
            Show
            karthik Karthik Raveendran added a comment - - edited Dr. Nowlan Freese used the URL below to check with samtools software for a range request and it worked as expected. I used curl commands for http requests on the same URL and it required a redirect flag (-L) for it to work. The range requests did work as well with the redirect flag. I am trying to confirm if the error is caused because the redirect was not handled. curl -L -X 0-500 GET https: //data.cyverse.org/dav-anon/iplant/home/shared/BioViz/rnaseq/A_thaliana_Jun_2009/SRP220157/reads/SRR10060893.bam > outFile This worked from Samtools: samtools view https: //data.cyverse.org/dav-anon/iplant/home/shared/BioViz/rnaseq/A_thaliana_Jun_2009/SRP220157/reads/SRR10060893.bam Chr1:3599079-3600963
            ann.loraine Ann Loraine made changes -
            Comment [ Note from scrum:

            * Be sure to check to see if this same problem is affecting the released version of IGB - version 9.1.10 ]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Suggestion:

            • Investigate if anyone has complained about "track hubs" no longer working for Cyverse hosted data files (see google group for the UCSC genome browser for mention of this)
            • Maybe create a very simple Java client program that will try to retrieve data from CyVerse similarly to how IGB is doing it
            • Check whether the redirection is somehow depending on the user agent
            • Ask CyVerse for help
            Show
            ann.loraine Ann Loraine added a comment - - edited Suggestion: Investigate if anyone has complained about "track hubs" no longer working for Cyverse hosted data files (see google group for the UCSC genome browser for mention of this) Maybe create a very simple Java client program that will try to retrieve data from CyVerse similarly to how IGB is doing it Check whether the redirection is somehow depending on the user agent Ask CyVerse for help
            Hide
            nfreese Nowlan Freese added a comment -

            On Mac

            Testing on 9.1.10
            Successful:

            • Loaded bigwig from nowlanf account from Community folder.
            • Loaded bigwig from nowlanf account from Home folder.
            • Loaded bam from nowlanf account from Home folder.

            Tested on main-JDK21-with-javafx-no-theme
            Successful:

            • Loaded bam from nowlanf account from Home folder.
            • Loaded bigwig from nowlanf account from Home folder.
            Show
            nfreese Nowlan Freese added a comment - On Mac Testing on 9.1.10 Successful: Loaded bigwig from nowlanf account from Community folder. Loaded bigwig from nowlanf account from Home folder. Loaded bam from nowlanf account from Home folder. Tested on main-JDK21-with-javafx-no-theme Successful: Loaded bam from nowlanf account from Home folder. Loaded bigwig from nowlanf account from Home folder.
            karthik Karthik Raveendran made changes -
            Assignee Karthik Raveendran [ karthik ]
            karthik Karthik Raveendran made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            karthik Karthik Raveendran made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            karthik Karthik Raveendran made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            karthik Karthik Raveendran made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            karthik Karthik Raveendran made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            karthik Karthik Raveendran made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            karthik Karthik Raveendran made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            karthik Karthik Raveendran made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            karthik Karthik Raveendran made changes -
            Assignee Nowlan Freese [ nfreese ]
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ] Karthik Raveendran [ karthik ]
            nfreese Nowlan Freese made changes -
            Fix Version/s 9.1.12 Major Release [ 10800 ]

              People

              • Assignee:
                karthik Karthik Raveendran
                Reporter:
                karthik Karthik Raveendran
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: