serenity-rs / songbird

An async Rust library for the Discord voice API
ISC License
384 stars 110 forks source link

Longer tracks quietly crash all voice chat functionality #149

Closed Kronicaler closed 1 year ago

Kronicaler commented 2 years ago

While playing music with youtube-dl or yt-dlp if a track comes on that's longer than 30-45 minutes it will quietly crash with no error message.

Songs can still be added to the built in queue but they won't play.

So far the only way i found how to recover from this is restarting the bot.

FelixMcFelix commented 2 years ago

What version are you running? Do you see any messages in console with RUST_LOG=info / debug (and tracing_subscriber set up?).

-- Kyle

On 6 Sept 2022, at 05:35, Dominik @.***> wrote:

 While playing music with youtube-dl or yt-dlp if a track comes on that's longer than 30-45 minutes it will quietly crash with no error message.

Songs can still be added to the built in queue but they won't play.

So far the only way i found how to recover from this is restarting the bot.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

Kronicaler commented 2 years ago

Songbird version: 0.3.0

Rust version (rustc -V): rustc 1.63.0

Serenity version: 0.11.4

Steps to reproduce: run Restartable::ytdl_search(query, true).await with a video that's longer than an hour

this is what i got with RUST_LOG=debug and with tracing_subscriber set up:

2022-09-06T07:54:00.161547Z  INFO start:start_connection{shard_data=[0, 0, 1]}:initialize:boot{shard_info=[ShardId(0), ShardId(1)]}: serenity::client::bridge::gateway::shard_manager: Telling shard queuer to start shard 02022-09-06T07:54:00.367835Z  INFO run: serenity::client::bridge::gateway::shard_runner: [ShardRunner [0, 1]] Running
Tester DokiBot is connected!
2022-09-06T07:54:13.304867Z  INFO runner{config=Config { crypto_mode: Normal, decode_mode: Pass, gateway_timeout: Some(10s), preallocated_tracks: 2, driver_retry: Retry { strategy: Every(10s), retry_limit: Some(60) }, driver_timeout: Some(10s) }}: songbird::driver::connection: Connected to: bucharest421.discord.media:443
2022-09-06T07:54:13.305821Z  INFO runner{config=Config { crypto_mode: Normal, decode_mode: Pass, gateway_timeout: Some(10s), preallocated_tracks: 2, driver_retry: Retry { strategy: Every(10s), retry_limit: Some(60) }, driver_timeout: Some(10s) }}: songbird::driver::connection: WS heartbeat duration 13750ms.
2022-09-06T07:54:14.044206Z  INFO runner: songbird::driver::tasks::events: Global event added.
2022-09-06T07:54:18.505124Z  INFO songbird::tracks::queue: Track added to queue.
2022-09-06T07:54:18.519120Z  INFO runner: songbird::driver::tasks::events: Event state for track 1 added
2022-09-06T07:54:18.519675Z  INFO runner{evt_rx=Receiver ssrc=118755 heartbeat_interval=13750.0 attempt_idx=1 info=ConnectionInfo { channel_id: Some(ChannelId(991351229525532695)), endpoint: "bucharest421.discord.media:443", guild_id: GuildId(991351228997058631), session_id: "9c14189f4d789c5bc2ae136c6be40d0d", token: "<secret>", user_id: UserId(1010542605983027303) }}:run{interconnect=Interconnect { core: Sender, events: Sender, mixer: 
Sender }}: songbird::driver::tasks::ws: Changing to MICROPHONE
Kronicaler commented 2 years ago

I just realized i set up the tracing subscriber before i loaded the .env file. Will post new logs shortly.

Kronicaler commented 2 years ago
2022-09-06T09:09:54.223850Z  INFO runner{config=Config { crypto_mode: Normal, decode_mode: Pass, gateway_timeout: Some(10s), preallocated_tracks: 2, driver_retry: Retry { strategy: Every(10s), retry_limit: Some(60) }, driver_timeout: Some(10s) }}: songbird::driver::connection: Connected to: bucharest5799.discord.media:443
2022-09-06T09:09:54.224774Z  INFO runner{config=Config { crypto_mode: Normal, decode_mode: Pass, gateway_timeout: Some(10s), preallocated_tracks: 2, driver_retry: Retry { strategy: Every(10s), retry_limit: Some(60) }, driver_timeout: Some(10s) }}: songbird::driver::connection: WS heartbeat duration 13750ms.
2022-09-06T09:09:54.926114Z  INFO runner: songbird::driver::tasks::events: Global event added.
2022-09-06T09:10:00.561379Z  INFO songbird::tracks::queue: Track added to queue.
2022-09-06T09:10:00.563953Z DEBUG request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client 
{ accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell 
{ .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: Some([123, 34, 99, 111, 110, 116, 101, 110, 116, 34, 58, 34, 80, 108, 97, 121, 105, 110, 103, 34, 44, 34, 101, 109, 98, 101, 100, 115, 34, 58, 91, 123, 34, 99, 111, 108, 111, 114, 34, 58, 57, 55, 54, 54, 57, 49, 52, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 80, 115, 121, 99, 104, 111, 112, 111, 109, 112, 34, 44, 34, 102, 105, 101, 
108, 100, 115, 34, 58, 91, 123, 34, 105, 110, 108, 105, 110, 101, 34, 58, 116, 114, 117, 101, 44, 34, 110, 97, 109, 101, 34, 58, 34, 68, 117, 114, 97, 116, 105, 111, 110, 58, 32, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 55, 50, 58, 48, 56, 34, 125, 93, 44, 34, 116, 104, 117, 109, 98, 110, 97, 105, 108, 34, 58, 123, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 105, 46, 121, 116, 105, 109, 103, 46, 99, 111, 109, 47, 118, 105, 47, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 47, 109, 97, 120, 114, 101, 115, 100, 101, 102, 97, 117, 108, 116, 46, 106, 112, 103, 34, 125, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 91, 77, 101, 116, 114, 105, 99, 32, 45, 32, 76, 111, 115, 116, 32, 75, 105, 116, 116, 101, 110, 32, 49, 32, 72, 111, 117, 114, 93, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 114, 105, 99, 104, 34, 44, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 119, 119, 119, 46, 121, 111, 117, 116, 117, 98, 101, 46, 99, 111, 109, 47, 119, 97, 116, 99, 104, 63, 118, 61, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 34, 125, 93, 125]), multipart: None, headers: None, route: EditOriginalInteractionResponse { application_id: 1010542605983027303, interaction_token: "aW50ZXJhY3Rpb246MTAxNjYzNjM0NzcwMTgwNTA1NjplbmxnZUdseHhaSURZb0R3OUh4TkJ2b0Z6YkNIU1JsbnFrSWpoc2JocFNteFFJbEhLR21Ea2FMTTRJMzNWUTllNDZ5NnR6SnRBSjZoRnUyanB1d0JPajhLYWZLMm5BVTk5a1ZuNlR6Q0J5T0xnd1RBSVV1cHJxZnFka0N1Q29zOA" } }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: Some([123, 34, 99, 111, 110, 116, 101, 110, 116, 34, 58, 34, 80, 108, 97, 121, 105, 110, 103, 34, 44, 34, 101, 109, 98, 101, 100, 115, 34, 58, 91, 123, 34, 99, 111, 108, 111, 114, 34, 58, 57, 55, 54, 54, 57, 49, 52, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 80, 115, 121, 99, 104, 111, 112, 111, 109, 112, 34, 44, 34, 102, 105, 101, 108, 100, 115, 34, 58, 91, 123, 34, 105, 110, 108, 105, 110, 101, 34, 58, 116, 114, 117, 101, 44, 34, 110, 97, 109, 101, 34, 58, 34, 68, 117, 114, 97, 116, 105, 111, 110, 58, 32, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 55, 50, 58, 48, 56, 34, 125, 93, 44, 34, 116, 104, 117, 109, 
98, 110, 97, 105, 108, 34, 58, 123, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 105, 46, 121, 116, 105, 109, 103, 46, 99, 111, 109, 47, 118, 105, 47, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 47, 109, 97, 120, 114, 101, 115, 100, 101, 102, 97, 117, 108, 116, 46, 106, 112, 103, 34, 125, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 91, 77, 101, 116, 114, 105, 99, 32, 45, 32, 76, 111, 115, 116, 32, 75, 105, 116, 116, 101, 110, 32, 49, 32, 72, 111, 117, 114, 93, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 114, 105, 99, 104, 34, 44, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 119, 119, 119, 46, 121, 111, 
117, 116, 117, 98, 101, 46, 99, 111, 109, 47, 119, 97, 116, 99, 104, 63, 118, 61, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 34, 125, 93, 125]), multipart: None, headers: None, route: EditOriginalInteractionResponse 
{ application_id: 1010542605983027303, interaction_token: "aW50ZXJhY3Rpb246MTAxNjYzNjM0NzcwMTgwNTA1NjplbmxnZUdseHhaSURZb0R3OUh4TkJ2b0Z6YkNIU1JsbnFrSWpoc2JocFNteFFJbEhLR21Ea2FMTTRJMzNWUTllNDZ5NnR6SnRBSjZoRnUyanB1d0JPajhLYWZLMm5BVTk5a1ZuNlR6Q0J5T0xnd1RBSVV1cHJxZnFka0N1Q29zOA" } } }}: hyper::client::pool: reuse idle connection for ("https", discord.com)
2022-09-06T09:10:00.565752Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::codec::framed_write: send frame=Headers { stream_id: StreamId(11), flags: (0x4: END_HEADERS) }
2022-09-06T09:10:00.566858Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::codec::framed_write: send frame=Data { stream_id: StreamId(11), flags: (0x1: END_STREAM) }
2022-09-06T09:10:00.573417Z  INFO runner: songbird::driver::tasks::events: Event state for track 1 added
2022-09-06T09:10:00.573935Z  INFO runner{evt_rx=Receiver ssrc=126408 heartbeat_interval=13750.0 attempt_idx=1 info=ConnectionInfo { channel_id: Some(ChannelId(991351229525532695)), endpoint: "bucharest5799.discord.media:443", guild_id: GuildId(991351228997058631), session_id: "2f116f400bb91dd8d47e780b2a12ea8b", token: "<secret>", user_id: UserId(1010542605983027303) }}:run{interconnect=Interconnect { core: Sender, events: Sender, mixer: Sender }}: songbird::driver::tasks::ws: Changing to MICROPHONE
2022-09-06T09:10:00.781610Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::codec::framed_read: received frame=Headers { stream_id: StreamId(11), flags: (0x4: END_HEADERS) }
2022-09-06T09:10:00.786928Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::codec::framed_read: received frame=Data { stream_id: StreamId(11) }
2022-09-06T09:10:00.789566Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::codec::framed_read: received frame=Data { stream_id: StreamId(11), flags: (0x1: END_STREAM) }
2022-09-06T09:10:00.792531Z DEBUG request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client 
{ accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell 
{ .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: Some([123, 34, 99, 111, 110, 116, 101, 110, 116, 34, 58, 34, 80, 108, 97, 121, 105, 110, 103, 34, 44, 34, 101, 109, 98, 101, 100, 115, 34, 58, 91, 123, 34, 99, 111, 108, 111, 114, 34, 58, 57, 55, 54, 54, 57, 49, 52, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 80, 115, 121, 99, 104, 111, 112, 111, 109, 112, 34, 44, 34, 102, 105, 101, 
108, 100, 115, 34, 58, 91, 123, 34, 105, 110, 108, 105, 110, 101, 34, 58, 116, 114, 117, 101, 44, 34, 110, 97, 109, 101, 34, 58, 34, 68, 117, 114, 97, 116, 105, 111, 110, 58, 32, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 55, 50, 58, 48, 56, 34, 125, 93, 44, 34, 116, 104, 117, 109, 98, 110, 97, 105, 108, 34, 58, 123, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 105, 46, 121, 116, 105, 109, 103, 46, 99, 111, 109, 47, 118, 105, 47, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 47, 109, 97, 120, 114, 101, 115, 100, 101, 102, 97, 117, 108, 116, 46, 106, 112, 103, 34, 125, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 91, 77, 101, 116, 114, 105, 99, 32, 45, 32, 76, 111, 115, 116, 32, 75, 105, 116, 116, 101, 110, 32, 49, 32, 72, 111, 117, 114, 93, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 114, 105, 99, 104, 34, 44, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 119, 119, 119, 46, 121, 111, 117, 116, 117, 98, 101, 46, 99, 111, 109, 47, 119, 97, 116, 99, 104, 63, 118, 61, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 34, 125, 93, 125]), multipart: None, headers: None, route: EditOriginalInteractionResponse { application_id: 1010542605983027303, interaction_token: "aW50ZXJhY3Rpb246MTAxNjYzNjM0NzcwMTgwNTA1NjplbmxnZUdseHhaSURZb0R3OUh4TkJ2b0Z6YkNIU1JsbnFrSWpoc2JocFNteFFJbEhLR21Ea2FMTTRJMzNWUTllNDZ5NnR6SnRBSjZoRnUyanB1d0JPajhLYWZLMm5BVTk5a1ZuNlR6Q0J5T0xnd1RBSVV1cHJxZnFka0N1Q29zOA" } }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: Some([123, 34, 99, 111, 110, 116, 101, 110, 116, 34, 58, 34, 80, 108, 97, 121, 105, 110, 103, 34, 44, 34, 101, 109, 98, 101, 100, 115, 34, 58, 91, 123, 34, 99, 111, 108, 111, 114, 34, 58, 57, 55, 54, 54, 57, 49, 52, 44, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 80, 115, 121, 99, 104, 111, 112, 111, 109, 112, 34, 44, 34, 102, 105, 101, 108, 100, 115, 34, 58, 91, 123, 34, 105, 110, 108, 105, 110, 101, 34, 58, 116, 114, 117, 101, 44, 34, 110, 97, 109, 101, 34, 58, 34, 68, 117, 114, 97, 116, 105, 111, 110, 58, 32, 34, 44, 34, 118, 97, 108, 117, 101, 34, 58, 34, 55, 50, 58, 48, 56, 34, 125, 93, 44, 34, 116, 104, 117, 109, 
98, 110, 97, 105, 108, 34, 58, 123, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 105, 46, 121, 116, 105, 109, 103, 46, 99, 111, 109, 47, 118, 105, 47, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 47, 109, 97, 120, 114, 101, 115, 100, 101, 102, 97, 117, 108, 116, 46, 106, 112, 103, 34, 125, 44, 34, 116, 105, 116, 108, 101, 34, 58, 34, 91, 77, 101, 116, 114, 105, 99, 32, 45, 32, 76, 111, 115, 116, 32, 75, 105, 116, 116, 101, 110, 32, 49, 32, 72, 111, 117, 114, 93, 34, 44, 34, 116, 121, 112, 101, 34, 58, 34, 114, 105, 99, 104, 34, 44, 34, 117, 114, 108, 34, 58, 34, 104, 116, 116, 112, 115, 58, 47, 47, 119, 119, 119, 46, 121, 111, 
117, 116, 117, 98, 101, 46, 99, 111, 109, 47, 119, 97, 116, 99, 104, 63, 118, 61, 106, 57, 65, 52, 56, 80, 88, 51, 108, 87, 119, 34, 125, 93, 125]), multipart: None, headers: None, route: EditOriginalInteractionResponse 
{ application_id: 1010542605983027303, interaction_token: "aW50ZXJhY3Rpb246MTAxNjYzNjM0NzcwMTgwNTA1NjplbmxnZUdseHhaSURZb0R3OUh4TkJ2b0Z6YkNIU1JsbnFrSWpoc2JocFNteFFJbEhLR21Ea2FMTTRJMzNWUTllNDZ5NnR6SnRBSjZoRnUyanB1d0JPajhLYWZLMm5BVTk5a1ZuNlR6Q0J5T0xnd1RBSVV1cHJxZnFka0N1Q29zOA" } } }}: reqwest::async_impl::client: response '200 OK' for https://discord.com/api/v10/webhooks/1010542605983027303/aW50ZXJhY3Rpb246MTAxNjYzNjM0NzcwMTgwNTA1NjplbmxnZUdseHhaSURZb0R3OUh4TkJ2b0Z6YkNIU1JsbnFrSWpoc2JocFNteFFJbEhLR21Ea2FMTTRJMzNWUTllNDZ5NnR6SnRBSjZoRnUyanB1d0JPajhLYWZLMm5BVTk5a1ZuNlR6Q0J5T0xnd1RBSVV1cHJxZnFka0N1Q29zOA/messages/@original
2022-09-06T09:12:57.585679Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::codec::framed_write: send frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
2022-09-06T09:12:57.588889Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: h2::proto::connection: Connection::poll; connection error error=GoAway(b"", NO_ERROR, Library)
2022-09-06T09:12:57.591575Z DEBUG poll{ctx=Context { waker: Waker { data: 0x1d4a32ea250, vtable: 0x7ff781edbbc8 } }}:request{self=Http { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, ratelimiter: Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, 
routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } }, ratelimiter_disabled: false, proxy: None } req=Request { body: None, multipart: None, headers: None, route: GetGateway }}:perform{self=Ratelimiter { client: Client { accepts: Accepts, proxies: [Proxy(System({}), None)], referer: true, default_headers: {"accept": "*/*"} }, global: Mutex { data: () }, routes: RwLock { mr: 536870911, s: Semaphore { permits: 536870911 }, c: UnsafeCell { .. } } } req=RatelimitedRequest { req: Request { body: None, multipart: None, headers: None, route: GetGateway } }}:Connection{peer=Client}: rustls::conn: Sending warning alert CloseNotify
FelixMcFelix commented 1 year ago

This problem doesn't seem to be present on next – I've been passively leaving on a long video essay and checking in periodically, and audio still functions and the bot still responds to ping/join/leave commands at >=1hr in so far.

Sadly, I don't really have time to investigate this on current / v0.3, none of the logs you've provided indicate anything really fatal is happening (thanks, however, for recording them). If your users commonly need long videos and this issue persists then I'd recommend upgrading, but I appreciate this can be difficult between both our API changes and those to serenity.

Kronicaler commented 1 year ago

Thank you for checking out the issue.

It's not that pressing, just a small bug/limitation and if the Symphonia backend doesn't have this issue then I'll just switch to the next branch.

Kronicaler commented 1 year ago

I upgraded to the next branches and the problem still persists.

If anything i think it got worse now because songbird fails after 15 minutes and i can't add to the queue anymore after it fails.

Will post logs shortly.

Kronicaler commented 1 year ago

With continued testing it seems to work without failure now on the next branch.

Must've mixed up the executables in the previous comment.