All that happens is you get 401 Authorization Required errors indicating that the Apache server isn't letting the UCSC servers non-authenticated access. Now, if I add the Allow from hgw etc into the <Location "/"> block then it gets through and then I hit the next problem which is that although I've mapped some read data against dm3 I'm getting failures inside Galaxy itself related to serving the bai file UCSC is requesting. Here's the galaxy_access log:
Note the 500 when requesting the bai file.
This is what my manager.log is showing when this happens.
128.114.119.134 - - [23/May/2013:15:22:29 +1300] "HEAD /dataset/display_application?app_action=data&user_id=207edd50b8d72f8b&app_name=ucsc_bam&action_param=galaxy_d3a4d6a5256f2d9a.bam&link_name=main&dataset_id=d3a4d6a5256f2d9a HTTP/1.1" 200 3301004 "-" "
genome.ucsc.edu/net.c"
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60484)
Traceback (most recent call last):
File "/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 1068, in process_request_in_thread
self.finish_request(request, client_address)
File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python2.6/SocketServer.py", line 618, in __init__
self.finish()
File "/usr/lib64/python2.6/SocketServer.py", line 661, in finish
self.wfile.flush()
File "/usr/lib64/python2.6/socket.py", line 303, in flush
self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
----------------------------------------
128.114.119.134 - - [23/May/2013:15:22:30 +1300] "GET /dataset/display_application?app_action=data&user_id=207edd50b8d72f8b&app_name=ucsc_bam&action_param=galaxy_d3a4d6a5256f2d9a.bam&link_name=main&dataset_id=d3a4d6a5256f2d9a HTTP/1.1" 200 3301004 "-" "
genome.ucsc.edu/net.c"
128.114.119.134 - - [23/May/2013:15:22:31 +1300] "HEAD /dataset/display_application?app_action=data&user_id=207edd50b8d72f8b&app_name=ucsc_bam&action_param=galaxy_d3a4d6a5256f2d9a.bam&link_name=main&dataset_id=d3a4d6a5256f2d9a.bai HTTP/1.1" 500 - "-" "
genome.ucsc.edu/net.c"
Error - <type 'exceptions.TypeError'>: Non-hexadecimal digit found
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60486)
Traceback (most recent call last):
File "/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 1068, in process_request_in_thread
self.finish_request(request, client_address)
File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python2.6/SocketServer.py", line 618, in __init__
self.finish()
File "/usr/lib64/python2.6/SocketServer.py", line 661, in finish
self.wfile.flush()
File "/usr/lib64/python2.6/socket.py", line 303, in flush
self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60485)
Traceback (most recent call last):
File "/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 1068, in process_request_in_thread
self.finish_request(request, client_address)
File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python2.6/SocketServer.py", line 618, in __init__
self.finish()
File "/usr/lib64/python2.6/SocketServer.py", line 661, in finish
self.wfile.flush()
File "/usr/lib64/python2.6/socket.py", line 303, in flush
self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
----------------------------------------
And here's the text version in the browser (edited out our server's hostname though):
URL: https://<ourgalaxyserver>/dataset/display_application?app_action=data&user_id=207edd50b8d72f8b&app_name=ucsc_bam&action_param=galaxy_d3a4d6a5256f2d9a.bam&link_name=main&dataset_id=d3a4d6a5256f2d9a.bai
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/middleware/error.py', line 149 in __call__
app_iter = self.application(environ, sr_checker)
File '/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/recursive.py', line 84 in __call__
return self.application(environ, start_response)
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/middleware/remoteuser.py', line 91 in __call__
return self.app( environ, start_response )
File '/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpexceptions.py', line 633 in __call__
return self.application(environ, start_response)
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 125 in __call__
return self.handle_request( environ, start_response )
File '/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 182 in handle_request
body = method( trans, **kwargs )
File '/home/galaxy/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/dataset.py', line 727 in display_application
data, user = decode_dataset_user( trans, dataset_id, user_id )
File '/home/galaxy/galaxy-dist/lib/galaxy/datatypes/display_applications/util.py', line 22 in decode_dataset_user
dataset_id = trans.security.decode_id( dataset_hash )
File '/home/galaxy/galaxy-dist/lib/galaxy/web/security/__init__.py', line 60 in decode_id
return int( self.id_cipher.decrypt( obj_id.decode( 'hex' ) ).lstrip( "!" ) )
File '/home/galaxy/galaxy_env/lib64/python2.6/encodings/hex_codec.py', line 42 in hex_decode
output = binascii.a2b_hex(input)
TypeError: Non-hexadecimal digit found