The NPE is very simple. Sometimes, and I can't explain when, the Jetty connector does not create its server socket when we think it does. The fix is to call .open() on the connector before asking it for the socket for the purpose of setReuseAddress.
I cannot explain why only some runs of the systests from mvn come up with this situation, while other runs don't and I've never persuaded it to malfunction in Eclipse, try though I might. The jetty lifecycle doStart calls open on the connector. I'm led to wonder if there is some case in which we reuse the connector object so it doesn't get 'start-ed' again. I would suggest adding more assertions to the EngineLifecycleTest to verify that things are really shut down when they are supposed to be. In terms of the original task, which was to set ReuseAddress so that tests that flip-flop the server could run without incident, I wonder how we want this to work in the general feature case. There is a possible security exposure involved in routinely turning on setReuseAddress. So I think that it should be parameterized in the configuration XML.
