Hi.
Sometimes the Perl programs in my system just 'stick' (aka stop processing) at inconsistent places in the code. By stop processing, I mean they get to a line of code and go no further...no error messages, no nothing...just the poor browser spinning into eternity until it times out. These sticky places are not in logical coding loops...just straight code. The programs in question call subroutines, and interface with an IBM DB2 database and use regular HTML (this is on an NT server). The server is a Dell w/ 256 ram and 800mhz speed.
Normally 'sticking' programs indicate a logical program loop (a 'while', for example) that never exits, which is generally pretty easy to spot and fix. But these 'stick'y situations are inconsistent in that they might happen to occur in program X 5 times, then don't occur in the system at all, then occur in program Y once, then in program Z 20 times (enough to track down the line of code), then appear in subroutine A 12 times, then disappear. Only to come back again. I've traced them down to the line of code that is sticking, using:
print "you are here1";
exit(0);
coding in the program. I move this exit routine through the program, starting at the top and skipping a few lines each time, changing the number at the end, until I find where it no longer prints and the system sticks. Then I backtrack the line of code until it does print...this gives me the 'sticky' line. Then, a few tests later, the line of code causing the problem isn't causing the problem. Either some previous line of code is 'sticking', some line in a subroutine is sticking, or the program just starts working fine.
When doing these track-down tests, I use the same input for each test, just hit stop on the browser (which doesn't stop the browser, by the way, it keeps spinning) and then click on the back button. So the data coming in from the screen is the same each time.
An example of a line of code I've gotten 'stuck' on recently is this:
$deleteIt = "N";
-or-
%variableArray = (%variableArray, "One_More", "Y"
;
These are normal lines of code that shouldn't be sticking.
I am thinking that perhaps there are some Perl parameters set on install, like the amount of processing space a given program can use, that might be getting used up and causing these weird situations.
Any insight into possiblities on this would really be appreciated. I've been doing research and trying various things for several days to fix whatever the problem is, all to no avail.
Thank you.
Kathy
Sometimes the Perl programs in my system just 'stick' (aka stop processing) at inconsistent places in the code. By stop processing, I mean they get to a line of code and go no further...no error messages, no nothing...just the poor browser spinning into eternity until it times out. These sticky places are not in logical coding loops...just straight code. The programs in question call subroutines, and interface with an IBM DB2 database and use regular HTML (this is on an NT server). The server is a Dell w/ 256 ram and 800mhz speed.
Normally 'sticking' programs indicate a logical program loop (a 'while', for example) that never exits, which is generally pretty easy to spot and fix. But these 'stick'y situations are inconsistent in that they might happen to occur in program X 5 times, then don't occur in the system at all, then occur in program Y once, then in program Z 20 times (enough to track down the line of code), then appear in subroutine A 12 times, then disappear. Only to come back again. I've traced them down to the line of code that is sticking, using:
print "you are here1";
exit(0);
coding in the program. I move this exit routine through the program, starting at the top and skipping a few lines each time, changing the number at the end, until I find where it no longer prints and the system sticks. Then I backtrack the line of code until it does print...this gives me the 'sticky' line. Then, a few tests later, the line of code causing the problem isn't causing the problem. Either some previous line of code is 'sticking', some line in a subroutine is sticking, or the program just starts working fine.
When doing these track-down tests, I use the same input for each test, just hit stop on the browser (which doesn't stop the browser, by the way, it keeps spinning) and then click on the back button. So the data coming in from the screen is the same each time.
An example of a line of code I've gotten 'stuck' on recently is this:
$deleteIt = "N";
-or-
%variableArray = (%variableArray, "One_More", "Y"
These are normal lines of code that shouldn't be sticking.
I am thinking that perhaps there are some Perl parameters set on install, like the amount of processing space a given program can use, that might be getting used up and causing these weird situations.
Any insight into possiblities on this would really be appreciated. I've been doing research and trying various things for several days to fix whatever the problem is, all to no avail.
Thank you.
Kathy