Details
-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: selenium-plugin
-
Labels:None
-
Environment:jenkins 1.437
selenium plugin 1.4
OS: CentOS release 5.7 (Final)
-
Similar Issues:
Description
I have been running into this problem ever since I switched to use the jenkins selenium plugin as my grid. After the grid has been running for a while, the slaves/rc servers which are connected to the grid start to appear as "in use". When I logged on to the rc servers to check whether they are actually "in use", they were actually idle with the browser windows still open but not doing anything. I checked the RC log and it usually stuck at "Slave successfully connected":
JNLP agent connected from /10.1.104.72
<===[JENKINS REMOTING CAPACITY]===>Slave.jar version: 2.11
This is a Windows slave
Copied maven-agent.jar
Copied maven3-agent.jar
Copied maven3-interceptor.jar
Copied maven-interceptor.jar
Copied maven2.1-interceptor.jar
Copied plexus-classworld.jar
Copied classworlds.jar
Slave successfully connected and online
When this happens, it happens to all the RCs. I have to restart the jenkins server to get out of this "in use" state.
The problem is not solely related to the jenkins plugin. If your tests don't close/quit the browser at the end, selenium nodes think they are still having a session which is what jenkins plugin uses to validate if it's in use.
Thankfully, there is actually a way to tell the nodes to close the browsers when they didn't receive a command after a while thus closing dangling sessions/browsers. The current plugin doesn't support that option yet (-timeout) but there is an an opened issue I'm currently working on to improve node configurations which will include that option. See https://issues.jenkins-ci.org/browse/JENKINS-12463