A โbranched virtual machineโ is not an error (although the resulting error may be related to it).
Some tools that are involved in various aspects of compilation and testing (e.g. Maven) are written in Java and use the JVM to run.
If you run unit tests for your application without overlapping a virtual machine, Maven will run those tests within the same virtual machine as Maven. Therefore, it can be affected by some settings of the virtual machine (for example, some system properties).
To avoid side effects due to Maven, you can run tests in a forked virtual machine, that is, in a completely separate virtual machine that runs as another process in the OS.
(This applies to other tools, Maven is an example).
The forked virtual machine crashes, at least, allows you to return to another Java application that launched and organized these unit tests. If you ran these tests in the same virtual machine, you would also break the application that ran your tests (and thus get very little information in return).
source share