The OOB handlers used by the DRC cache are allocated from a large 'cache' allocation that we manage ourself. However, we weren't calling placement new to construct each oob_handler object once allocated. This led to the possibility of an uninitialized pointer within the drc_oob_delegate (std::function) m_callback member whenever portions of the cache were reused, which would result in a GPFLT when m_callback was assigned. In a Clang build, I would typically see a crash in functional: