Look at TagHandlerPool.java Method resuse should call always the release method of the tag, if not the variables of the class are not initialized and if the tag is used from the cache, release is never called. This has been tested on an "tag intensive application". Please patch it for 4.1.21. Next I inclose how the reuse method of TagHandlerPool should be: public synchronized void reuse(Tag handler) { if (current < (handlers.length - 1)) handlers[++current] = handler; // Why else ?, always release resources and prepare for next use // else handler.release(); }
Changing to a better summary
*** This bug has been marked as a duplicate of 16001 ***