CASSANDRA-10091, C* expects to always be in control of initializing its JMX connector server. However, if com.sun.management.jmxremote.port is set when the JVM is started, the bootstrap agent takes over and sets up the server before any C* code runs. Because C* is then unable to bind the server it creates to the specified port, startup is halted and the root cause is somewhat unclear.
We should add a check at startup so a more informative message can be provided. This would test for the presence of the system property which would differentiate from the case where some other process is already bound to the port.