by functionaltesting » Thu Jul 09, 2009 11:43 am
This very likely is a classic "deadly embrace" for which nothing in evalid can be a preventative, for a number of reasons.
THe clue here is that the scripts are going to some kind of portal, and this suggests that the Portal declines to have two logins from the same name or same IP address. Sometimes you are prevented from logging in under the same name twice.
Here is a description of this this goes:
(1) Script A and script B run normally when run alone. They don't interfere with each other at all. That's good.
(2) Script A logs in and is running normally.
Somewhere in the middle of A, you start script B. Script B immediately encounters a message to the effect that:
"Sorry, can't have two running on this portal at the same time"
Typically this shows up in a modal dialog, which requests that you click OK or Dismiss to confirm you are accepting the message.
(3) B waits for input to the unseen modal dialog, but even AFTER A has finished operation, the request to double-login is still pending, the modal dialog not having been dismissed. That's where the "deadly embrace" begins.
(4) The next time A tries to run, it is told "sorry, B is trying
to login [and he was given a modal dialog warning to which he has not responded]", and this message is typically ALSO a modal dialog.
(5) But A can't dimiss the modal, because there B's modal still waiting. So B TOO is stuck waiting for an input to a modal dialog that never comes.
(6) This is a deadly embrace which can't be resolved by any action in eValid: eValid is doing what's it is told. It is the application that is not cooperating.
The eValid time limits, including the -RT switch, can't have any effect because the process that is running eValid has been blocked by the OS.
Recommendation and possible solutions:
(a) Don't even try to do that or, if you have to run A and B potentially concurrently, use some kind of MUTEX Lock/Unlock to prevent B or A starting if A or be is already running...
(b) Have the systems guys change the application to permit multiple logins from the same client.
(c) Always run A and B serially, that is, don't start B until A has finished.
eValid Tech Support Team