As the PR description, to reproduce the original issue, we have to make sure:    1.  Holding the  synchronized lock of `bus` in the stopping thread  2.  Trying to acquire the synchronized lock of `bus` in the interrupting listener thread    But signal the listener starts to interrupt just before `bus.stop` by a `CountDownLatch` can't guarantee this 100%, right?  