Hi commons-exec folks, Hoping you can help me figure this out. Selenium Java uses commons-exec 1.3 under the hood to communicate with phantomjs. When it fires up it opens up a pipe that you can see with lsof:
# lsof -p 19947 ... java 19947 user 64 PIPE 0xd2cd00ccca85f9d 16384 ->0xd2cd00ca9fbbf9d java 19947 user 66 PIPE 0xd2cd00ca31d445d 16384 ->0xd2cd00ca31d4c9d Then we get this in lsof as selenium is driving phantomjs: java 19947 user 62u IPv6 0xd2cd00cc904879d 0t0 TCP localhost:49757->localhost:23795 (ESTABLISHED) Then after selenium closes and terminates the executor-- properly, as I observed by stepping through the code as it executes, but maybe someone knows otherwise-- we can see in lsof: java 19947 user 62u IPv6 0xd2cd00cc904879d 0t0 TCP localhost:49757->localhost:23795 (CLOSE_WAIT) And each successive web driver instance that gets created cause those to build up and build up and build up until you run out of file handles. ... So are there any considerations for using commons-exec that the selenium folks might not be addressing during process destruction which might manifest themselves in these file handles just hanging out, taking up space? This can't be the correct/uncorrectable behavior. I happen to be using Selenium Java 2.49.1 which is the latest version as of this moment, and Java 8. It seems like this has been broken for quite some time though -- https://github.com/SeleniumHQ/selenium/issues/1080 Please advise! Thanks! CG
