Threads still in RUNNING status after join

Under what conditions would a thread (among many threads) spawned via thread action=“run” still have a status of “RUNNING” after a thread action=“join” had returned prior to the specified timeout? Shouldn’t I expect the status of ALL threads created and named in the list provided in the name attribute of the thread join to be “COMPLETED” after that join operations returns? What I am seeing here is that, under as yet undetermined circumstances, some threads can still be “RUNNING” after the join. That just doesn’t seem right. Any advice for me? —Kit

@RevWatson
If the thread join timeout is less than thread processing time, after the thread join that thread status would be on “running

@RevWatson

What version of Lucee are you running? I’m actually seeing a similar issue 5.3.9.133 & 5.3.9.141 where join seems to be completed before all the threads execute, but prior to the join’s timeout threshold being matched.