Cant "Relaunch" in a CGI debugging session

kittekat1113 wrote on Wed Sep 19 21:24:49 MEST 2007:
I have problems to relaunch the debugging after a successful CGI debugging
session

I im running Eclise 3.3.0 (Build id: I20070625-1500) and EPIC 0.6.15 with
Perl 5.8.8 on an Ubuntu 6.10 / Kernel 2.6.17-12.

Starting a CGI debugging session after "Open Debug Dialog" works fine:

in the "Console View":
Found default config file
Server started on 5004
LOG: 5 5004-server: main.: starting handler: cgi
LOG: 5 5004-server: main.: starting handler: file
>>>>>>>>> here I clicked the link to my cgi script in the index.html form
of the internal browser
LOG: 4 5004-server: 127.0.0.1: new connection
LOG: 3 5004-127.0.0.1-0: Request 24 GET / HTTP/1.1
LOG: 5 5004-127.0.0.1-0: main.: invoking handler: cgi
LOG: 5 5004-127.0.0.1-0: suffix=.cgi,.pl,.pm root=/var/www url: /
LOG: 5 5004-127.0.0.1-0: Checking for suffix: .cgi
LOG: 5 5004-127.0.0.1-0: looking for: /var/www/.cgi
LOG: 5 5004-127.0.0.1-0: Checking for suffix: .pl
LOG: 5 5004-127.0.0.1-0: looking for: /var/www/.pl
LOG: 5 5004-127.0.0.1-0: Checking for suffix: .pm
LOG: 5 5004-127.0.0.1-0: looking for: /var/www/.pm
LOG: 5 5004-127.0.0.1-0: main.: invoking handler: file
LOG: 5 5004-127.0.0.1-0: file.: Looking for file: (/var/www)(/)
LOG: 3 5004-127.0.0.1-0: request done
LOG: 3 5004-127.0.0.1-0: Request 23 GET /myCGI/time_test.cgi HTTP/1.1
LOG: 5 5004-127.0.0.1-0: main.: invoking handler: cgi
LOG: 5 5004-127.0.0.1-0: suffix=.cgi,.pl,.pm root=/var/www url: /myCGI/time_test.cgi
LOG: 5 5004-127.0.0.1-0: Checking for suffix: .cgi
LOG: 5 5004-127.0.0.1-0: looking for: /var/www/myCGI.cgi
LOG: 5 5004-127.0.0.1-0: looking for: /var/www/myCGI/time_test.cgi
LOG: 5 5004-127.0.0.1-0: found: /var/www/myCGI/time_test.cgi
>>>>>>>>>> here I could do the debugging of the cgi script
LOG: 5 5004-127.0.0.1-0: CGI output 710 bytes.
LOG: 3 5004-127.0.0.1-0: request done
>>>>>>>>>> here my cgi script was finished
LOG: 3 5004-127.0.0.1-0: Error: 408 Request Time-out: Read timed out
LOG: 4 5004-127.0.0.1-0: socket close
>>>>>>>>>> 30 seconds later this timeout happens

in the "Debug View" the "Web Server" status is "suspended" in the last line
of my cgi script

Now I dont know how to continue. When I try to "Relaunch" or "Terminate
and Relaunch", I see in the "Console View"
Found default config file
Server started on 5009
LOG: 5 5009-server: main.: starting handler: cgi
LOG: 5 5009-server: main.: starting handler: file

so another virtual web server has been startet - and I see the usual timeout
popup: "could anot conncet to debug port"

the only way I found to debug again is to exit eclipse and start it again

Is this behavior the expected one, or did I miss an essential hint in the
manual pages?
  
jploski wrote on Wed Sep 19 22:18:09 MEST 2007:
It should not hang in the last line of the script. This is a bug, but difficult
to reproduce. Maybe the output from the debugger console (see other posts)
when this happens would help.
kittekat1113 wrote on Thu Sep 20 15:30:03 MEST 2007:
When the CGI script is run through, the little arrow left in the "Source"
view (indicating the next statement to be executed) disappears - which is
reasonable. in the "Debug" view I can see:
myCGI [Perl CGI]                   <<<< this is my project
  CGI Perl Debugger
    Web Server
       Main Thread
        time_test.cgi[line: 28]      <<<< this is the last line of my cgi
script
    CGI Process

this it looks fine to my opinion.

I have added in the generated CGI form a link back to the home page, which
allows me to call from there the cgi script again. Doing so, the debugger
snaps in again on the first line of my cgi script. Great!

So to solve my problem, I have to formulate another question:
How do I properly terminate a CGI debugging session, allowing another debugging
session to be started or relaunched (without a webserver  complaining "could
not connect to debug port")?
jploski wrote on Thu Sep 20 19:30:08 MEST 2007:
To terminate a debugging session, select it in the Debug view and click
the red Terminate button in the view's toolbar above it. IF the session
terminates properly, then you can also remove it completely from this view
using the X button. The reverse is also true: if the X button works, then
you are sure that the session was terminated properly.

However, the output you describe, with the last line of script still being
displayed in the view even though the script has finished, does not appear
correct to me. When a CGI script terminates, its name and stack should disappear
completely from the Debug view. Only the entry indicating that the web server
is running should remain. When you request another script from the browser
(by following a link or entering an address directly, doesn't matter), then
it should appear under the web server entry.
kittekat1113 wrote on Thu Sep 20 21:30:00 MEST 2007:
Thanks for the help - I did not take notice before the red Terminate button
and the X button in the toolbar of the Debug view.
Anyway - the essential hint was to select the [Perl CGI] session in the
Debug view before terminating - then the X button also works. 

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