Just in case you haven't tried it already, a quick google on the IOException revealed this to me: http://stackoverflow.com/questions/1124771/how-to-solve-java-io-ioexception-error-12-cannot-allocate-memory-calling-run
There are a couple of suggestions there that you could try to solve your problem. From what I understood, the JVM is not able to allocate memory for the new process (i.e. system memory, not memory inside the JVM's heap), so this error seems environmental.
Let us know what you come up with!