STATIC_ASSERTION_FAILURE
возникает из BOOST_STATIC_ASSERT
. Я подозреваю, что Boost.Lockfree имеет некоторые ограничения на размер элементов fifo. Попробуйте еще раз с меньшей UDT.
Может также случиться, что Lockfree работает только со стандартными типами, поэтому UDT не будут приняты. Если это так, вам нужно хранить указатель вместо фактической структуры.