serenity-rs/songbird

Longer tracks quietly crash all voice chat functionality

Kronicaler opened this issue · 8 comments

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.

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

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

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

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.

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.

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.

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

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