NumberAxis.setRange() should check whether the argument difference is zero (or nearly zero). Otherwise, the rendering will generate a NaN, which will then be propagated to Swing. At least in my version of jdk, this causes an infinite loop.
Adding tests to setRange() should be pretty easy and prevents the next victim of half an our debugging.
This is done for the upcoming 1.0.18 release. Thanks for raising it.