A failure of forethought.
For anyone not paying attention, this is a steaming pile of shit.
Forget the bug itself. The issue is that a logging framework which must be - above all other APIs - simple, stable, predictable, beyond reproach - is doing things which invoke a class loading operation. It's come as a surprise to me that they would do this, even though I've never understood the love for Log4J . It's a fairly typical Apache Java project - everything put in, nothing taken out, keep throwing interfaces at it until it works: design be damned, we'll crush the problem to death under the size of the API. Programmers of the world, listen to me: limit your scope. Do one thing well, it's enough.
Once again, the scientists were so enthralled with the fact that they could, they never stopped to think if they should...