Upon investigating it, I discovered that the spawn Jython interpretter process was taking too long to run the pycompletionserver.py script so the PyDev process was assuming it had stopped responding and was killing it before it could start.

I traced the root cause of the slow Jython startup to this issue discussed here http://geek.starbean.net/?p=347. Basically the JVM (java1.6.0_23) was hanging while trying to create a temporary file because the SecureRandom number generator used for generating temp file names relies on a SeedGenerator class which builds a system entropy from the files in my computer's temp directory (amongst other things). My temp directory (pointed to by java.io.tmpdir) had 16,000+ files, and generating a fully directory was taking more than a minute.

Anyhow, jumping to the obvious solution, I just cleaned out my temp directory and Jython's startup time improved significantly and that allowed the pycompletionserer.py script to startup within a period of time acceptable to the PyDev plugin. Hope this helps someone.