just had a totally successful build for the first time in a while, and this is with the callstack tracker enabled.
it does seem that our threaded woes with the callstack code were due to our attempting to use thread local for the tracker;
it needs to persist past the end of the thread to avoid gnarly shutdown issues with the static objects, like the synchronizer,
which was also thread local for some reason. now we just use a program wide object to list the thread-wide callstack
trackers, and it's nice and fast due to using the standard library unordered_map. was using our own hash table, but there are
too many intertwined things with the callstack tracker for that to be a good option, so standard template library it is.