Sometimes when my scripts are running, the connection drops between the eggplant machine and the SUT host, is there any way to catch these exceptions and retry the connection until it’s remade?
By default Eggplant will already try 4 times to re-establish a connection with the SUT if the connection drops.
So usually if you are seeing a connection dropped and not re-established there is a problem with the SUT, the VNC server or the network connection between the two.
When this occurs Eggplant should write out some information to its log files, if you aren’t able to determine the cause of the connection issues you can send the log information to our support address for assistance.
Log locations by platform:
Mac: Open Utilities->Console.app
Windows: In users “Application Data\Eggplant\eggplant.log” file (this is a system folder but you can go there by entering the address into the bar)
Linux: ~/Library/Logs/eggplant.log
Thanks for the tip Jonathan, I just got the error again and the console output:
“19/09/2011 11:30:29 Eggplant[175] Failed to Reconnect following Desktop Size Change”
“19/09/2011 11:30:29 Eggplant[175] Exception Connection Lost Raised In VNC Thread: Terminating - Connection to Server: 10.10.11.98 Port:5904 was lost and could not be reestablished”
What kind of SUT are you connected to, what VNC server are you running, and do you know why the desktop size might have changed?
I have a Win2k3 machine running VMware workstation, my SUTs are all VMs. I’m using the built-in VMware remote display function as VNC clients inside the actual VMs proved unstable and dropped connection every 5~10 minutes.
Basically my scripts carry on through a reboot of the VM, and do some interaction during boot time. Generally this is when I see the resolution change; say, when it goes from the BIOS screen to the win2k3 bootloader screen etc.
I’m not sure what the impact of the screen size change will be on the VM’s built in VNC server – it seems like it’s a problem. I think what you are probably going to need to do is issue a disconnect command before the screen changes and then reconnect at some point afterward. You may need to put a repeat loop with a try/catch block in it that keeps trying to connect to the SUT until it can do so successfully. It definitely seems like something you’re going to need to script around and not just expect the connection to be maintained automatically.
Forgive if this isn’t the proper topic to post this in, but I looked at eggPlant’s Log and saw the following:
[b]2013-02-14 09:51:34.675 Eggplant[868] reported exception - NAME:Script Failed REASON:No Remote Connection:
click Error - Remote Connection Unavailable
2013-02-14 09:51:34.675 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:51:34.675 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:53:55.114 Eggplant[868] reported exception - NAME:Script Failed REASON:No Remote Connection:
click Error - Remote Connection Unavailable
2013-02-14 09:53:55.114 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:53:55.114 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:54:58.162 Eggplant[868] reported exception - NAME:Script Failed REASON:No Remote Connection:
typetext Error - Remote Connection Unavailable
2013-02-14 09:54:58.162 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:54:58.162 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:55:50.303 Eggplant[868] Error Occurred While Updating Menu Edit: NAME:NSPasteboardCommunicationException REASON:method request - port was invalidated INFO:(null)
2013-02-14 09:55:50.413 Eggplant[868] - unable to decode remote port
2013-02-14 09:58:47.993 Eggplant[868] reported exception - NAME:Script Failed REASON:Image Not Found:
click Error - No Image Found On Screen: “Minimize”
2013-02-14 09:58:47.993 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:58:47.993 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:58:47.993 Eggplant[868] -[Win32CairoGState getHDC]:_surface is NULL
2013-02-14 09:59:48.056 Eggplant[868] reported exception - NAME:Script Failed REASON:Image Not Found:
click Error - No Image Found On Screen: “Minimize”
[/b]
I see that ‘No Remote Connection’ occurred, but in regards to the several NULL messages in between successive ‘No Remote Connection’ messages, do they mean that eggPlant tried to re-establish connection and was able to towards the end, where ‘No Image Found On Screen’ occurs?
Secondly, with the following section of the log, I want to ensure I know what is going on:
[b]2013-04-02 17:26:18.231 Eggplant[3352] Default zone has run out of memory
2013-04-02 17:26:18.575 Eggplant[3352] Default zone has run out of memory
2013-04-02 17:26:18.872 Eggplant[3352] Default zone has run out of memory
2013-04-02 17:26:19.153 Eggplant[3352] Default zone has run out of memory
2013-04-02 17:26:19.434 Eggplant[3352] Default zone has run out of memory
2013-04-02 17:26:19.434 Eggplant[3352] Exception Raised Synching VNC Thread: Terminating ( NAME:Connection Lost REASON:Connection to Server - was lost and could not be reestablished. INFO:(null))[/b]
I see that eggPlant’s memory has filled up, but in regards to the log chunk that follows, is it saying that eggPlant itself terminated the VNC connection? I ask because I’ve been getting a lot of ‘No Remote Connection’ errors and can’t tell if it is the VNC getting faulty on me, a network connection issue, or if the ‘No Remote Connection’ is being thrown because of memory fill-ups. Long post but your help is much appreciated! Thanks!
I think it’s almost certainly an out-of-memory issue.
At this point you might want to send information about your scripts and logs to support@testplant.com and we’ll investigate this as a bug.
It’s very likely that we have resolved this for the forthcoming 12.20 release.
Thanks Jonathan. In regards to the error itself, what exactly does ‘IEngine_RecognizeImageDocumentAsPlainText’ mean?
No Remote Connection imagefound Error - Searching For Image: IEngine_RecognizeImageDocumentAsPlainText res = 8007000e, (null)
Execution Time 3:59:57 Test.script
That error is coming from the OCR recognition and it might actually be confusing an OCR error with a “no connection” problem.
Interesting. Does that mean I am doing something wrong that is causing the OCR to error out or is it an internal problem?
Forgive the influx of eggPlant log material, I’m just really trying to grasp the core of this beast. I am now experiencing complete shutdown of eggPlant and the last think recorded in the log file before this occurs is this:
[b]2013-04-11 15:47:06.801 Eggplant[5864] ERROR: IEngine_RecognizeImageDocumentAsPlainText res = 8007000e, (null)
2013-04-11 15:47:08.051 Eggplant[5864] ERROR: IEngine_RecognizeImageDocumentAsPlainText res = 8007000e, (null)
2013-04-11 15:47:08.879 Eggplant[5864] ERROR: IDocumentAnalyzer_RecognizeBlocks res = 8007000e, (null)
NOTE: you should run ‘diskperf -y’ to enable the disk statistics
NOTE: you should run ‘diskperf -y’ to enable the disk statistics
NOTE: you should run ‘diskperf -y’ to enable the disk statistics
NOTE: you should run ‘diskperf -y’ to enable the disk statistics
NOTE: you should run ‘diskperf -y’ to enable the disk statistics
Failed to init bfd from (c:\program files\eggplant\abbyy\documentanalysis.objectsextraction.dll)
0x2dd9d29f : c:\program files\eggplant\abbyy\documentanalysis.objectsextraction.dll : [unknown file]
0x64c6e38 : [unknown module] : [unknown file]
0x6382444 : [unknown module] : [unknown file] [/b]
Could you please tell me what this means?
It means the OCR engine is having a problem, possibly with the properties that you are providing it. What are the actual OCR searches it is performing? I know you are using some data driven code, so what we need to see is the code when the data has been populated. The parameterized code doesn’t really tell us what’s getting sent to the engine. That may or may not be the problem, but we don’t see reports of this error from other users running the OCR.
Matt-
Thanks for the prompt reply. The properties we are feeding it are as follows:
(CaseSensitive:“No”, Contrast:“Off”, DPI:“96”, Language:“English”, Text:“Route Simulation”, TextPlatform:“Generic OCR”)
The only thing that changes is the text for each iteration of an OCR search.
I have a few questions I could like to ask.
-
Will using Window 7 versus Window XP affect how the OCR function on the main computer? Or does the version of Windows not matter?
-
Same questions for the SUT as well?
-
Can the main computer and SUT be running the same version of Windows, both being Windows XP.
Thanks.
Windows version doesn’t matter and SUT and eggPlant machine can be running the same or different versions of Windows.
Then why does the script runs through completion with EggPlant installed on Windows 7 and not on Windows XP? The same script and file were used to test on both OS.