Lockups on production machine

How to apply eValid to functional testing of web applications.

Lockups on production machine

Postby paslef » Thu Jul 09, 2009 11:39 am

For the "deadlock" problem...
OS is Windows XP service pack 2.

There is nothing in the log, but sometimes some scripts "lock":
that is, the process stay running, doing nothing and even the timeout doesn't stop it.

NB: we run the script via command line:

"evalid.exe -B myscript -RT 300000 -DD mydir -Minimize"

So, we have no idea of the "resource" concerned... but most of the
scripts go via a "portal" and we guess that the lock is the login page.

Currently, we prevent 2 scripts going via the portal running in the same
time.
paslef
 
Posts: 3
Joined: Tue Feb 24, 2009 5:37 pm

Re: Lockups on production machine

Postby 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
functionaltesting
 
Posts: 116
Joined: Tue Jan 01, 2008 12:48 pm

Re: Lockups on production machine

Postby adamer » Wed Jan 13, 2010 1:45 pm

deadlock problem is a very important fact while designing. Script log and using it properly depends on the wish and quality of the user. But the efficiency depends on the combination of Script A and B.
adamer
 
Posts: 4
Joined: Tue Jan 12, 2010 9:01 pm


Return to Desktop and Mobile Device Functional Testing

Design Downloaded from free phpBB templates | free website templates | Free Web Buttons