Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Jubula » AUT Server can't connect to client when testexec started from jenkins(AUT agent ocassionaly gets into zombie state in 8.6 standalone, can be connected to but won't behave)
AUT Server can't connect to client when testexec started from jenkins [message #1794318] Tue, 28 August 2018 22:05 Go to next message
Logan Winter is currently offline Logan WinterFriend
Messages: 3
Registered: May 2018
Junior Member
Hey folks,
first of all let me say thanks for this awesome tool.
I have been using it for about 2 years now.

Something weird seems to have happened some time around the time I updated to standalone 8.6 though. Sometimes our nightly test builds will run fine a few nights in a row (at least in the sense that our application starts and the tests run :P ) but given enough runs of the job, the aut agent will get into what seems like a "zombie" state: Jenkins (who runs as a windows service that can interact with the desktop) seems to be able to connect to the agent with testexec, but after that we start to blow up and the AUT closes as soon as it opens. We were using pretty much the same configuration for the job for the past year without running into this kind of problem, so we're trying to figure out what changed, if anything, with 8.6.

The AUT agent runs on the same machine as Jenkins is hosted on, and I don't use any slaves with Jenkins. I can't use an embedded AUT agent since this is a very low memory machine + my application is a resource hog and we don't have the resources for a proper slave machine to run.

So basically, my question is, have I stumbled on some kind of bug with Jubula or have I misconfigured something?
Here is an image of my config + the logs from Jenkins when the AUT agent chokes.
You can see in the first line of the logs I am running testexec like this:

"C:\Program Files\jubula_8.6.0.262\ite\testexec.exe" -project "FOE Functional Testing" -version 1.0 -testsuite "FOE Jenkins UAT Suite" -server mktotest -port 60000 -autconfig FOE@mktotest -resultdir "C:\Program Files (x86)\Jenkins\jobs\FOE - Jubula UAT Testing\testreports" -resultname "Functional-Testing-Report" -dburl jdbc:postgresql://mktotest:5432/jubula -dbuser jubula -dbpw "password1"
Re: AUT Server can't connect to client when testexec started from jenkins [message #1794581 is a reply to message #1794318] Mon, 03 September 2018 10:03 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 119
Registered: March 2012
Senior Member
Hello Logan,

That the AUT is closed directly after you see it opened is because in the startup of the Jubula parts(which are in the AUT for the testing) has an exception.
I need more information since it seems a very odd behavior. Not finding a class looks very strange and should not happen.

Are you restarting the AutAgent?(How often)
Is there any log entries in the log files in "HOME_DIRECTORY/.jubula/logs" in the time around the issue? in my opinion it must be either in the autagent.log or in the log for the toolkit you are using.
Is it possible to have jubula installed in an other folder than "c:\program Files"? We had an issues with this in the past, but it did not happen again since a long time.

best regards
Marvin Mueller
Re: AUT Server can't connect to client when testexec started from jenkins [message #1794657 is a reply to message #1794318] Tue, 04 September 2018 14:42 Go to previous messageGo to next message
Logan Winter is currently offline Logan WinterFriend
Messages: 3
Registered: May 2018
Junior Member
Thank you for the response Marvin!

We stop and restart the Agent every night using a scheduled Windows task.
I started doing that as an attempt to get around this problem; i.e. to "refresh" the agent. This didn't really fix this problem, but by making the machine jenkins is hosted on a slave of itself and using autrun, I have found an effective workaround.

That being said, I did look around in the logs you pointed out to me and found a whole bunch of stuff in the rc_swing log, that I've attached.

The rc_swing.log file is filled with errors like these, and not just from this one class,

(EDIT: "not just from this one class" meaning, it's blowing up in the same way, check AUTSwingHierarchy.checkDispatchThread, but the stack is showing me different places in the AUT start up code that seem to spawn the event, it isn't the same method in the AUT that's causing this to happen)

which implies to me that it's a sort of timing based thing or something. It looks to me (a pretty inexperienced person who wasn't around when a lot of the AUT was written ) that the AUT is initializing the Swing stuff (event dispatch thread?) before Jubula and they are fighting over that thread but I don't really know Swing or Jubula all that well.

If you can't find the cause of this, that's fine, since we have a decent enough workaround for now, but if changes are made to Jubula in response to this or if you can point to something that our program is doing, please let me know; I'm curious what's breaking :)

Thanks,
Logan

[Updated on: Tue, 04 September 2018 14:49]

Report message to a moderator

Re: AUT Server can't connect to client when testexec started from jenkins [message #1794819 is a reply to message #1794318] Fri, 07 September 2018 06:28 Go to previous messageGo to next message
Marvin Mueller is currently offline Marvin MuellerFriend
Messages: 119
Registered: March 2012
Senior Member
Hello Logan,

In swing Ui changes should be done in the dispatch Thread[1]. There are multiple things which might have happend here. Jubula are adding some listener. This is only done if a component is set to visible (or removed or added).If there are changes to the container afterwards Jubula will recognize them and will add it to its own hierarchy.

So I think in your log UI changes are done after a component is set to visible, and these changes are not done in the dispatch Thread. You can read more in the documentation from Oracle[1].

best regards
Marvin Mueller

[1] https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html
Re: AUT Server can't connect to client when testexec started from jenkins [message #1794840 is a reply to message #1794819] Fri, 07 September 2018 13:53 Go to previous message
Logan Winter is currently offline Logan WinterFriend
Messages: 3
Registered: May 2018
Junior Member
Hello Marvin,
thanks a ton for pointing me to the appropriate location to find those logs indicating it was a problem related to swing + this documentation. We've done some digging and, unsurprisingly, we are starting our application in an unorthodox way and jacking with swing stuff in ways that we probably shouldn't be. If I find more details about how we were interfering with Jubula, I will try to post them here so that others can learn from our foolishness.

Thanks again,
Logan
Previous Topic:Object Mapping in a Swing+Jide Application with JDesktopPanes
Next Topic:Given names for components defined by e4xmi
Goto Forum:
  


Current Time: Sun Nov 18 02:43:27 GMT 2018

Powered by FUDForum. Page generated in 0.02637 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top