[feature] replace assert with BUG_ON