On Jan 17, 2012, at 10:50 AM, Alexander Graf wrote:
Hi Nate, sorry for my late reply, but I was on holiday last weeks. I have looked in my apache error.log and access.log resulting into no new insights - no output is given there. So I gave nginx a try, getting the same error as before. I think it is not a configuration issue of apache or nginx, but I don't have any clue any more what's going on. Hope you or somebody else can help me figure out the problem.
Hi Alex, I thought this might be a problem with the way Galaxy was handling proxy prefixes (/galaxy) but I don't believe that's the problem. It looks like your XSendFile config is not working, as evidenced by the 'HEAD' HTTP commands in the Galaxy log (these should be interrupted by the Apache/nginx server and not passed through to Galaxy). Check your proxy server logs. --nate
Alex
Below are the newly generated error logs:
If I try to view the BAM file locally, I get:
XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "GET /galaxy/display_application/8b4e4b7bbaf9bc68/igv_bam/local_default HTTP/1.0" 302 - "http://10.153.182.203/galaxy/history" "Mozilla/5.0 (Ubuntu; X11; Linux x86_64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "GET /galaxy/display_application/8b4e4b7bbaf9bc68/igv_bam/local_default/5ce1ba9f488a6ce5/data/galaxy_8b4e4b7bbaf9bc68.bam.bai HTTP/1.0" 302 - "-" "IGV Version 2.0.34 (1623)01/14/2012 12:45 AM Java/1.6.0_22" galaxy.web.framework DEBUG 2012-01-17 16:34:25,389 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "GET /galaxy/root?app_action=data&user_id=5ce1ba9f488a6ce5&app_name=igv_bam&link_name=local_default&action_param=galaxy_8b4e4b7bbaf9bc68.bam.bai&dataset_id=8b4e4b7bbaf9bc68 HTTP/1.0" 200 - "-" "IGV Version 2.0.34 (1623)01/14/2012 12:45 AM Java/1.6.0_22" XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "HEAD /galaxy/display_application/8b4e4b7bbaf9bc68/igv_bam/local_default/5ce1ba9f488a6ce5/data/galaxy_8b4e4b7bbaf9bc68.bam HTTP/1.0" 302 - "-" "IGV Version 2.0.34 (1623)01/14/2012 12:45 AM Java/1.6.0_22" galaxy.web.framework DEBUG 2012-01-17 16:34:25,470 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "HEAD /galaxy/root?app_action=data&user_id=5ce1ba9f488a6ce5&app_name=igv_bam&link_name=local_default&action_param=galaxy_8b4e4b7bbaf9bc68.bam&dataset_id=8b4e4b7bbaf9bc68 HTTP/1.0" 200 - "-" "IGV Version 2.0.34 (1623)01/14/2012 12:45 AM Java/1.6.0_22" XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "GET /galaxy/display_application/8b4e4b7bbaf9bc68/igv_bam/local_default/5ce1ba9f488a6ce5/data/galaxy_8b4e4b7bbaf9bc68.bam HTTP/1.0" 302 - "-" "IGV Version 2.0.34 (1623)01/14/2012 12:45 AM Java/1.6.0_22" galaxy.web.framework DEBUG 2012-01-17 16:34:25,639 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root XX.XXX.XXX.XXX - - [17/Jan/2012:16:34:25 +0200] "GET /galaxy/root?app_action=data&user_id=5ce1ba9f488a6ce5&app_name=igv_bam&link_name=local_default&action_param=galaxy_8b4e4b7bbaf9bc68.bam&dataset_id=8b4e4b7bbaf9bc68 HTTP/1.0" 200 - "-" "IGV Version 2.0.34 (1623)01/14/2012 12:45 AM Java/1.6.0_22"
and if I run it with the web current, I still get:
galaxy.web.framework DEBUG 2012-01-17 16:35:26,820 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root XX.XXX.XXX.XXX - - [17/Jan/2012:16:35:26 +0200] "HEAD /galaxy/root?app_action=data&user_id=5ce1ba9f488a6ce5&app_name=igv_bam&link_name=web_link_main&action_param=galaxy_8b4e4b7bbaf9bc68.bam&dataset_id=8b4e4b7bbaf9bc68 HTTP/1.0" 200 - "-" "Java/1.6.0_22" ---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 33901) Traceback (most recent call last): File "/opt/galaxy/eggs/Paste-1.6-py2.6.egg/paste/httpserver.py", line 1053, in process_request_in_thread self.finish_request(request, client_address) File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__ self.finish() File "/usr/lib/python2.6/SocketServer.py", line 661, in finish self.wfile.flush() File "/usr/lib/python2.6/socket.py", line 297, in flush self._sock.sendall(buffer(data, write_offset, buffer_size)) error: [Errno 32] Broken pipe ---------------------------------------- XX.XXX.XXX.XXX - - [17/Jan/2012:16:35:26 +0200] "GET /galaxy/display_application/8b4e4b7bbaf9bc68/igv_bam/web_link_main/5ce1ba9f488a6ce5/data/galaxy_8b4e4b7bbaf9bc68.bam HTTP/1.0" 302 - "-" "Java/1.6.0_22" galaxy.web.framework DEBUG 2012-01-17 16:35:26,910 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root
2011/12/19 Nate Coraor <nate@bx.psu.edu> On Dec 14, 2011, at 4:22 PM, Alexander Graf wrote:
Hi nate, I have tried it with several BAM files, resulting in the same error. If I download the BAM and bai files from Galaxy and load it into IGV manually, everything works like charm. Up to now I could not figure out why it is not working. Could I have better success switching to the nginx-server?
Hi Alex,
It should work with Apache as well. I don't have an environment set up here to test, but could you take a look at the Apache access and error logs to determine whether the file is being found and read properly? It's possible that the request is returning something other than a 200 code and the file data.
--nate
Alex
Am 12.12.2011 um 16:11 schrieb Nate Coraor:
On Dec 9, 2011, at 6:45 AM, Alexander Graf wrote:
Hello, I have recently updated our Galaxy dist and I'm running into problems viewing BAM files in IGV (v2.0.22), saying: Invalid GZIP header.
Hi Alex,
Your config below looks okay at first glance. Can you verify that the file in question is a valid BAM? Or is this happening with all BAMs?
--nate
I have configured the Apache as explained in the Wiki using this http.conf:
------------------------------------------------------------------------------------------------------------------------------------ <VirtualHost *:80> ServerName 127.0.0.1 RewriteEngine on
RewriteRule ^/galaxy$ /galaxy/ [R] RewriteRule ^/galaxy/static/style/(.*) /opt/galaxy/static/june_2007_style/blue/$1 [L] RewriteRule ^/galaxy/static/scripts/(.*) /opt/galaxy/static/scripts/packed/$1 [L] RewriteRule ^/galaxy/static/(.*) /opt/galaxy/static/$1 [L] RewriteRule ^/galaxy/favicon.ico /opt/galaxy/static/favicon.ico [L] RewriteRule ^/galaxy/robots.txt /opt/galaxy/static/robots.txt [L] RewriteRule ^/galaxy(.*) http://localhost:8081$1 [P]
<Proxy http://localhost:8081> Order deny,allow Allow from all </Proxy>
<Location "/galaxy"> # Define the authentication method XSendFile on XSendFilePath / # Compress all uncompressed content.http.conf SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:t?gz|zip|bz2)$ no-gzip dont-vary </Location> <Directory "/galaxy/static"> ExpiresActive On ExpiresDefault "access plus 6 hours" </Directory> </VirtualHost> ----------------------------------------------------------------------------------------------------------------------------------------
By having this parts changed in universe_wsgi.ini: ---------------------------------------------------------------------------------------------------------------------------------------- [server:main] use = egg:Paste#http port = 8081 host = 0.0.0.0 use_threadpool = True
[filter:gzip] use = egg:Paste#gzip
[filter:proxy-prefix] use = egg:PasteDeploy#prefix prefix = /galaxy
[app:main] paste.app_factory = galaxy.web.buildapp:app_factory filter-with = proxy-prefix cookie_path = /galaxy apache_xsendfile = True upstream_gzip = False ----------------------------------------------------------------------------------------------------------------------------------------
The resulting Galaxy error log is: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- galaxy.web.framework DEBUG 2011-12-09 12:32:08,825 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root 10.163.241.110 - - [09/Dec/2011:12:32:08 +0200] "GET /galaxy/root?app_action=data&user_id=c9a3f3a19e75965d&app_name=igv_bam&link_name=local_default&action_param=galaxy_9b0f702d0207cd78.bam.bai&dataset_id=9b0f702d0207cd78 HTTP/1.1" 200 - "-" "IGV Version 2.0.22 (1360)11/29/2011 02:24 PM Java/1.6.0_22" 10.163.241.110 - - [09/Dec/2011:12:32:08 +0200] "HEAD /galaxy/display_application/9b0f702d0207cd78/igv_bam/local_default/c9a3f3a19e75965d/data/galaxy_9b0f702d0207cd78.bam HTTP/1.1" 302 - "-" "IGV Version 2.0.22 (1360)11/29/2011 02:24 PM Java/1.6.0_22" galaxy.web.framework DEBUG 2011-12-09 12:32:08,915 Error: this request returned None from get_history(): http://10.153.182.203/galaxy/root 10.163.241.110 - - [09/Dec/2011:12:32:08 +0200] "HEAD /galaxy/root?app_action=data&user_id=c9a3f3a19e75965d&app_name=igv_bam&link_name=local_default&action_param=galaxy_9b0f702d0207cd78.bam&dataset_id=9b0f702d0207cd78 HTTP/1.1" 200 - "-" "IGV Version 2.0.22 (1360)11/29/2011 02:24 PM Java/1.6.0_22" ---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 52683) Traceback (most recent call last): File "/opt/galaxy/eggs/Paste-1.6-py2.6.egg/paste/httpserver.py", line 1053, in process_request_in_thread self.finish_request(request, client_address) File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__ self.finish() File "/usr/lib/python2.6/SocketServer.py", line 661, in finish self.wfile.flush() File "/usr/lib/python2.6/socket.py", line 297, in flush self._sock.sendall(buffer(data, write_offset, buffer_size)) error: [Errno 32] Broken pipe ----------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Thanks in advance for your help
Alex
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
-- ___________________________________________________________
Alexander Graf
Laboratory of Functional Genome Analysis Gene Center, University of Munich (LMU) Feodor-Lynen-Strasse 25; 81377 Munich; Germany email: graf@lmb.uni-muenchen.de Internet: www.lafuga.de/genomics.htm ___________________________________________________________