throw IllegalArgumentException in GeneralTaskBackend when promise isn't ready