Running tests may lead to Spark processes not getting killed. This led to 6 Spark instances running "Zeppelin" on my system (so much for reproducability). I think a potential reason could be failed tests which after an assertion fails are not properly torn down, or a missing tear down even after successful tests.
I will attempt to narrow it down, but any developer should be able to spot similar behavior, especially attempting to mvn clean test without an installed instance of Zeppelin in the local repo (build fails for me at least), or just regularly testing the full package. It probably won't show up on Travis CI, since the container gets wiped.