I can see your point. But it is so by design. When you
terminate a thread, Coldfusion assigns it the value null. However,
whenever a Java object assumes a null value, it causes the
NullPointerException. That is why terminations are logged as
errors. To get more information, append <cfdump
var="#cfthread#"> after the loop.
I can imagine one good reason for this design. Here, you have
chosen to terminate the threads. It can happen that some other
process beyond your control intervenes and prematurely terminates a
thread. You should like to have that logged.