[Bioperl-l] Problem with : EUtilities - Proxy

Chris Fields cjfields at uiuc.edu
Wed Dec 20 09:09:56 EST 2006


On Dec 20, 2006, at 5:04 AM, Anthony Ferrari wrote:

> You might check out this bug report, which relates directly to your
> issue:
>
> http://bugzilla.open-bio.org/show_bug.cgi?id=2109
>
> After I worked out the proxy issue Torsten got it working.  Let me
> know if this doesn't help or fix the problem.
>
> chris
>
>
> I carefully read this bug but that doesn't help because this has  
> already been modified in the now given GenericWebDBI.pm
> So my problem does not come from a deep recursion loop.
>
> As Torsten did, I tried the command  " BIOPERLDEBUG=1 perl -I. -w t/ 
> EUtilities.t " to see what's really happening.
> And actually, all tests are skipped because of the same message error
> -> "Can't use an undefined value as an ARRAY reference at /usr/lib/ 
> perl5/site_perl/5.8.7/LWP/UserAgent.pm line 779."
>
> ***
> I tried the same command with the modified LWP::UserAgent package  
> (which means I comment the line 779 and the corresponding '}') and  
> all 453 tests passed.
> But not always. I made the tests several times and  it often  
> failed. And always on a test called "eXXX->cookie->cookie() query  
> key" (ending with query key). In those cases, I got back a html  
> message indicating that the error was thrown by the internal sever  
> of NCBI. So I guess that sometimes it is just NCBI server fault  
> (internal problem), and BioPerl is not implied..
> But once more, I comment a line from a basic package so it is a bit  
> hazardous.
> ***
>
> tony - a little bit lost.

I'm cc'ing Torsten as he has a bit more experience with proxies.

EUtilities is set up to check for an env. proxy and also take a set  
proxy with $agent->proxy() (see GenericWebDBI POD).  It would be easy  
to say this was a bug in LWP, but I think the problem is that  
something is undefined (i.e. an env. variable), or username/password.

 From the bug report, Torsten set his proxy variables using the  
following:

--------------------------------------
"Note: I am behind an _authenticating_ proxy.
My $http_proxy and $HTTP_PROXY are both set to
http://USER:PASS@proxy.monash.edu.au:80/"
--------------------------------------

Note the lowercase for $http_proxy, which can make a difference.   
After the recursion fix, I'm assuming he made no changes to the env.  
settings, and according to the bug everything was fine (is that  
correct Tortsen?).

Also LWP::UserAgent has this:

--------------------------------------
"Load proxy settings from *_proxy environment variables. You might  
specify proxies like this (sh-syntax):

       gopher_proxy=http://proxy.my.place/
       wais_proxy=http://proxy.my.place/
       no_proxy="localhost,my.domain"
       export gopher_proxy wais_proxy no_proxy

     csh or tcsh users should use the setenv command to define these  
environment variables.

On systems with case insensitive environment variables there exists a  
name clash between the CGI environment variables and the HTTP_PROXY  
environment variable normally picked up by env_proxy(). Because of  
this HTTP_PROXY is not honored for CGI scripts. The CGI_HTTP_PROXY  
environment variable can be used instead."
--------------------------------------

chris


More information about the Bioperl-l mailing list