What it means
A contract used OpenZeppelin's safe wrapper to call a token, and the token call itself failed or returned nonsense. Fires with non-standard tokens, tokens that are not actually deployed at the address used, and tokens with transfer restrictions.
How to fix it
Verify the token address is the real token (scam tokens with lookalike names fail here constantly), then check approval and balance. If the token is legitimate and restricted, the restriction is the answer.