CGI script sent to browser as download

mjgardner wrote on Thu Feb  9 22:37:30 CET 2006:
I'm using Eclipse 3.1.2 with EPIC 0.3.12, using ActiveState Perl 5.8.7.815.
 I'm attempting to run (and eventually debug) a Perl CGI script.  I've got
the Run configuration set to my project, the HTML root directory set to
my project's main directory, the HTML startup file set to the HTML form
for triggering the script, and the CGI root directory set to the cgi-bin
directory within my project's main directory.  I'm using Firefox 1.5.0.1
as my browser.

When submitting my form, Firefox offers to download the script as a file
rather than having the web server execute it.  I *am* able to execute the
script from the command line, though.

Here's my console log when attempting to run.  It looks like the web server's
"file" handler is being called, even though the script matches one of the
configured suffixes.  What gives?

Found default config file
Server started on 5003
LOG: 5 5003-server: main.: starting handler: cgi
LOG: 5 5003-server: main.: starting handler: file
LOG: 4 5003-server: 127.0.0.1: new connection
LOG: 3 5003-127.0.0.1-0: Request 24 GET /Oracle.html HTTP/1.1
LOG: 5 5003-127.0.0.1-0: main.: invoking handler: cgi
LOG: 5 5003-127.0.0.1-0: cgi. suffix=.CGI,.PL,.cgi,.pl root=C:/Documents
and Settings/gardnema/workspace/Windows Oracle IQ scripts/cgi-bin url: /Oracle.html
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .CGI
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\Oracle.html.CGI
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .PL
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\Oracle.html.PL
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .cgi
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\Oracle.html.cgi
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .pl
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\Oracle.html.pl
LOG: 5 5003-127.0.0.1-0: main.: invoking handler: file
LOG: 5 5003-127.0.0.1-0: file.: Looking for file: (C:/Documents and Settings/gardnema/workspace/Windows
Oracle IQ scripts)(\Oracle.html)
LOG: 3 5003-127.0.0.1-0: request done
LOG: 3 5003-127.0.0.1-0: Request 23 POST /cgi-bin/Oracle.pl HTTP/1.1
LOG: 5 5003-127.0.0.1-0: Request: Reading content: 92
LOG: 5 5003-127.0.0.1-0: main.: invoking handler: cgi
LOG: 5 5003-127.0.0.1-0: cgi. suffix=.CGI,.PL,.cgi,.pl root=C:/Documents
and Settings/gardnema/workspace/Windows Oracle IQ scripts/cgi-bin url: /cgi-bin/Oracle.pl
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .CGI
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\cgi-bin\Oracle.pl.CGI
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .PL
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\cgi-bin\Oracle.pl.PL
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .cgi
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\cgi-bin\Oracle.pl.cgi
LOG: 5 5003-127.0.0.1-0: Checking for suffix: .pl
LOG: 5 5003-127.0.0.1-0: cgi. looking for: C:\Documents and Settings\gardnema\workspace\Windows
Oracle IQ scripts\cgi-bin\cgi-bin\Oracle.pl
LOG: 5 5003-127.0.0.1-0: main.: invoking handler: file
LOG: 5 5003-127.0.0.1-0: file.: Looking for file: (C:/Documents and Settings/gardnema/workspace/Windows
Oracle IQ scripts)(\cgi-bin\Oracle.pl)
LOG: 3 5003-127.0.0.1-0: request done
jploski wrote on Fri Feb 10 00:18:57 CET 2006:
I had this same problem and have solved it somehow. Unforunately, I can't
remember what the exact reason was. I debugged the plugin (and it was difficult
because the web server is launched in another JVM) to find it out. But in
the end I think just modifying the configuration helped.

Here is my current configuration (paths simplified):
HTML root directory: /x/y/z
HTML startup file: /x/y/z/cgi-bin/foo.pl
CGI root directory: /x/y/z

where /x/y/z is the path to my project's DocumentRoot (in Apache terminology)

I don't understand these settings now, but they work for me.
mjgardner wrote on Fri Feb 10 15:57:55 CET 2006:
Thanks!  I set my CGI root directory to the same value as my HTML root directory
and the script ran.

This seems like a bug to me, though.  I'll file a report.
mjgardner wrote on Fri Feb 10 16:03:22 CET 2006:
Bug submitted as #1429160.

Note: The above is an archived snapshot of a forum thread. Use the original thread at sf.net to post comments.