Blazemeter/CitrixPlugin

ActiveApp_Timeout : Timed out waiting for Active App

cacatic opened this issue · 3 comments

Some of the users fail to initialize when number of users in the test is set to more than 10.
I can consistently initialize all users and complete the tests when using 1, 5 and 10 users.

The following did not resolve the issue :

  • Increasing user ramp-up period
  • Increasing delays in-between steps
  • Setting bzm.citrix.client_factory.client_property.connect_timeout_ms to 600000
  • Ending concentr.exe process in the server where JMeter is running

Error Details

image

ERROR c.b.j.c.s.CitrixBaseSampler: com.blazemeter.jmeter.citrix.sampler.SamplerRunException: Timed out waiting for Active App:Unable to handle Citrix client action. See log file for more informations.
	at com.blazemeter.jmeter.citrix.sampler.CitrixBaseSampler.handleClientAction(CitrixBaseSampler.java:166)
	at com.blazemeter.jmeter.citrix.sampler.CitrixBaseSampler.sample(CitrixBaseSampler.java:269)
	at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:635)
	at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
	at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
	at java.lang.Thread.run(Unknown Source)
Caused by: com.blazemeter.jmeter.citrix.client.CitrixClientException: Timed out waiting for Active App
	at com.blazemeter.jmeter.citrix.client.windows.WinCitrixClient.startSession(WinCitrixClient.java:279)
	at com.blazemeter.jmeter.citrix.client.AbstractCitrixClient.start(AbstractCitrixClient.java:375)
	at com.blazemeter.jmeter.citrix.sampler.StartApplicationSampler.doClientAction(StartApplicationSampler.java:97)
	at com.blazemeter.jmeter.citrix.sampler.CitrixBaseSampler.handleClientAction(CitrixBaseSampler.java:162)
	... 6 more

com.blazemeter.jmeter.citrix.sampler.SamplerRunException: Timed out waiting for Active App:Unable to handle Citrix client action. See log file for more informations.
	at com.blazemeter.jmeter.citrix.sampler.CitrixBaseSampler.handleClientAction(CitrixBaseSampler.java:166) ~[citrix-jmeter-0.7.0.jar:?]
	at com.blazemeter.jmeter.citrix.sampler.CitrixBaseSampler.sample(CitrixBaseSampler.java:269) [citrix-jmeter-0.7.0.jar:?]
	at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:635) [ApacheJMeter_core.jar:5.4]
	at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) [ApacheJMeter_core.jar:5.4]
	at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) [ApacheJMeter_core.jar:5.4]
	at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) [ApacheJMeter_core.jar:5.4]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
Caused by: com.blazemeter.jmeter.citrix.client.CitrixClientException: Timed out waiting for Active App
	at com.blazemeter.jmeter.citrix.client.windows.WinCitrixClient.startSession(WinCitrixClient.java:279) ~[citrix-jmeter-0.7.0.jar:?]
	at com.blazemeter.jmeter.citrix.client.AbstractCitrixClient.start(AbstractCitrixClient.java:375) ~[citrix-jmeter-0.7.0.jar:?]
	at com.blazemeter.jmeter.citrix.sampler.StartApplicationSampler.doClientAction(StartApplicationSampler.java:97) ~[citrix-jmeter-0.7.0.jar:?]
	at com.blazemeter.jmeter.citrix.sampler.CitrixBaseSampler.handleClientAction(CitrixBaseSampler.java:162) ~[citrix-jmeter-0.7.0.jar:?]
	... 6 more

Hi @cacatic

The active app error occurs when an application window does not appear within 60 seconds after the Logon.
Active window information does not occur if no window appears or if the session is a reconnecting session and had not been closed properly.

If it is run in non-gui mode, the property jmeterengine.threadstop.wait=90000 must be set
Since jmeter in non-gui mode chooses to perform a forced kill on the threadgroup if it does not finish in 5 seconds, this can cause the sessions not to close properly when the execution ends.
you need to restart JMeter after set that property.

What you have to observe in interactive mode is to see if the window that remains open can interact.
When these cases are detected, interactive actions are allowed to be able to close that application manually to close the session so that in the next execution the session is new.

The other option is to view the active sessions at the VDA level and logoff them to ensure that it starts from scratch.
If they are in status disconnected, then they are sessions that were left with an application already running and that can generate that error, you have to indicate Logoff on each to ensure clean start.

Try assigning the jmeterengine.threadstop.wait property and see if the Logoff of all sessions is succeeding.
If the logoff is correct and a new session is always started, then it is taking windows to show you an application window in more than 60 seconds.

Tell me that you can understand what happens with these sessions visually, if so, after pressing the disclaimer button, it takes 60 seconds to new window appear or, if is the case of resumed non-closed session.

Hi @3dgiordano ,

I haven't had the chance to look into this today but regarding the VDA level, do you mean the Sessions window in Citrix Studio? If yes, every run, I make sure that there are no active sessions (all citrix users are disconnected and logged off).

I will let you know if setting the jmeterengine.threadstop.wait property will resolve the issue.

Thanks!

Hi @cacatic

Any news with the tests? Did you get to test the jmeterengine.threadstop.wait property?

There is a new version where it has improvements in the handling of sessions, you can also configure the waiting time for an active application. It also detects the case if the session is not in the expected state.

You can download the latest version from https://github.com/Blazemeter/CitrixPlugin/releases/tag/0.7.1

Any feedback will be appreciated