enablings on defunct providers prevent providers from unregistering
lib - userland libraries
Bryan writes, on dtrace-discuss and developers@
A longstanding problem that we have had is that enablings on defunct providers (e.g., USDT probes on dead processes) are not reaped: the probes will exist as long as there exists an enabling for them. When processes are turning over frequently (or when enablings are long-running), this can clog up the probe space to the point that DTrace probe creation will silently fail (an absolutely maddening failure mode). This has been hit several times over the years (we were nailed by it on our build machines at Fishworks) -- so when Theo Schlossnagle mentioned to me that he was getting killed by this problem in an environment with rapidly turning over Postgres processes, I was embarrassed that I hadn't tackled it earlier. As it turns out, it was a tad thorny for locking reasons
we should integrate this fix, now that Adam has reviewed.
Theo, at omniti, is especially interested in getting it in soon.