Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calling SongBird::join() while already in the voice channel causes a deadlock #66

Closed
jtscuba opened this issue Apr 26, 2021 · 1 comment
Labels
bug Something isn't working duplicate This issue or pull request already exists gateway Relates to the gateway feature (Discord's gateway integration).

Comments

@jtscuba
Copy link

jtscuba commented Apr 26, 2021

Songbird version: 0.1.6

Rust version (rustc -V): 1.51

Serenity/Twilight version: 10.5

Features: (Songbird & Serenity)

[
    "driver-tokio-02",
    "gateway-tokio-02",
    "serenity-rustls-tokio-02",
]

Description:
Calling SongBird::join() while already in the voice channel causes a deadlock. The second call to join will never return.
Steps to reproduce:

Modify the serenity voice example to call join twice in the join command. The second one should return an error or be idempotent and succeed. Either way it shouldn't deadlock the bot.

voice_manager.join(guild_id, voice_channel_to_join).await;
voice_manager.join(guild_id, voice_channel_to_join).await;
@FelixMcFelix FelixMcFelix added bug Something isn't working duplicate This issue or pull request already exists gateway Relates to the gateway feature (Discord's gateway integration). labels Apr 26, 2021
@FelixMcFelix
Copy link
Member

Thanks for the detailed bug report! This issue is fixed in the next breaking release by #47.

Until then, you will need to check join state yourself. I hope to have a pre-release up soon -- there were one or two further changes I wanted to fit in, but have been busy with work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working duplicate This issue or pull request already exists gateway Relates to the gateway feature (Discord's gateway integration).
Projects
None yet
Development

No branches or pull requests

2 participants