On 02/05/2012 18:39, Emmanuel Lécharny wrote:
Le 5/2/12 5:33 PM, Niklas Gustavsson a écrit :
On Wed, May 2, 2012 at 5:19 PM, Francesco Chicchiriccò
<[email protected]>  wrote:
we are experiencing repeated failures on Windows probably due to few zombie
processes belonging to some former build.

As you can see from [1], in fact, ports 8082 and 9080 are already in use.

I personally don't understand how this could happen: every build, even with failures should always exit cleanly, but the situation needs some manual
intervention in order to kill such zombie processes.

Thanks for your support.
Regards.

[1]
https://builds.apache.org/job/Syncope-windows/ws/core/target/log/cargo-output.log
Should be fixed now. But, I would argue that it's never a good idea to
run tests on fixed ports. You're running in a shared environment (or
on some random developer's box) where you can never know that these
ports are available. Instead, if at all possible, let the OS pick a
free port for you.

/niklas
Hi Niklas,

I totally agree with that. One thing to consider though : using port 0 to get Tomcat to pick a random port might lead to many ports remaining opened, if the cleanup is not done correctly...

I believe that the right cleanup is currently performed; there are some known conditions though (for example OutOfMemoryError: PermGen space) leading sometimes Tomcat processes to hang: the only effective cleanup I know in such cases is a good old "kill -9".

Because of this, I would think that fixed port numbers will help avoiding major problems - as reported by Emmanuel above. If you still think it would be better to have random port numbers, we could explore build-helper-maven-plugin:reserve-network-port in order to get all needed network ports for running integration tests; as reported above, in fact, it's not just Tomcat.

Regards.

--
Francesco Chicchiriccò

Apache Cocoon Committer and PMC Member
http://people.apache.org/~ilgrosso/

Reply via email to