| Kyle Manna It looks like you have a distinct issue with two aspects: One, something is causing a bunch of timer threads to be created and not cleaned up, and two, those timer threads are inheriting their context class loader dynamically. The first issue is more serious, to investigate it I would search the jenkinsci organization on GitHub for all uses of java.util.Timer, cross-check that with the set of plugins you have installed, and then examine the ways that the plugins you have installed are using java.util.Timer based on the search. My guess is that something is repeatedly calling new Timer rather than storing a single timer somewhere and reusing it (maybe also better to switch to using an ExecutorService if that is the problem). Either way I'd go ahead and open a separate issue for your problem. |