Race between ThreadContext.close() and context access may throw IllegalStateException

In v6.4.2, ThreadContext stores request-specific headers and transient values in the shared field threadLocal, whose concrete type is ThreadContext.ContextThreadLocal.

There appears to be a race between ThreadContext.close() and concurrent context-access operations. ThreadContext.close() closes threadLocal, while methods such as getHeader(String key), getHeaders(), getTransient(String key), and newStoredContext(boolean preserveResponseHeaders) may still call threadLocal.get() or threadLocal.set() from another thread.

It's unlikely this is a genuine problem, but 6.4.2 is so very old that it wouldn't be worth looking at the code even if you had some links to a specific instance of what you mean. If you can see something similar in a maintained version then maybe share some more details.