# Buggy code
async def _is_up_to_date(cls):
    if cls._up_to_date is True:
        # Return cached value if we've checked this before
        return True
    args = await cls._get_jar_args()
    args.append("--version")
    _proc = await asyncio.subprocess.create_subprocess_exec(  # pylint:disable=no-member
        *args,
        cwd=str(LAVALINK_DOWNLOAD_DIR),
        stdout=asyncio.subprocess.PIPE,
        stderr=asyncio.subprocess.STDOUT,
    )
    stdout = (await _proc.communicate())[0]
    match = BUILD_LINE_RE.search(stdout)
    if not match:
        # Output is unexpected, suspect corrupted jarfile
        return False
    build = int(match["build"])
    cls._up_to_date = build >= JAR_BUILD
    return cls._up_to_date


# Traceback (RuntimeError)
Traceback (most recent call last):
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 79, in wrapped
ret = await coro(*args, **kwargs)
File "/home/martinebots/martinebotscogs/cogs_modified/audio/audio.py", line 3183, in play
await self._enqueue_tracks(ctx, query)
File "/home/martinebots/martinebotscogs/cogs_modified/audio/audio.py", line 3885, in _enqueue_tracks
result, called_api = await self.music_cache.lavalink_query(ctx, player, query)
File "/home/martinebots/martinebotscogs/cogs_modified/audio/apis.py", line 911, in lavalink_query
results = await player.load_tracks(query)
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/lavalink/rest_api.py", line 300, in load_tracks
self.__check_node_ready()
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/lavalink/rest_api.py", line 268, in __check_node_ready
raise RuntimeError("Cannot execute REST request when node not ready.")
RuntimeError: Cannot execute REST request when node not ready.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/bot.py", line 863, in invoke
await ctx.command.invoke(ctx)
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 728, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "/home/martinebots/martinebotsvenv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 88, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: RuntimeError: Cannot execute REST request when node not ready.```

# Fixed code
async def _is_up_to_date(cls):
    if cls._up_to_date is True:
        # Return cached value if we've checked this before
        return True
    args = await cls._get_jar_args()
    args.append("--version")
    _proc = await asyncio.subprocess.create_subprocess_exec(  # pylint:disable=no-member
        *args,
        cwd=str(LAVALINK_DOWNLOAD_DIR),
        stdout=asyncio.subprocess.PIPE,
        stderr=asyncio.subprocess.STDOUT,
    )
    stdout = (await _proc.communicate())[0]
    match = _RE_BUILD_LINE.search(stdout)
    if not match:
        # Output is unexpected, suspect corrupted jarfile
        return False
    build = int(match["build"])
    cls._up_to_date = build >= JAR_BUILD
    return cls._up_to_date