lavalink-devs / Lavalink

Standalone audio sending node based on Lavaplayer.
https://lavalink.dev/
MIT License
1.56k stars 673 forks source link

Music 'resuming' causes track exception #1094

Closed Tomato6966 closed 2 days ago

Tomato6966 commented 3 weeks ago

Description

When playing a track from plugins like lavasrc or youtube-source and from soundcloud (local tracks not tested yet) and you pause the track. Then leave the track paused for at least 5-6mins and then unpause aka resume it. A track exception will happen after the next buffer frame is fetched. Which will cause the playback to crash.

I made sure to test it both on my own bot as well as on the lavalink bot from the discord server, to make sure its not a code issue from my client.

I think its a lavaplayer issue, but maybe its due to lavalink idk.

To Reproduce

See description.

Expected behavior

Track should keep playing without 'throwing an exception'

Version info

4.0.7 but also experienced on 4.0.5 and 4.0.6

Output of java -version:

Its openjdk 22

Lavalink Logs: One from soundcloud

6|Lavalink | at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:276) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:132) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:256) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:101) ~[undertow-servlet-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.server.Connectors.executeRootHandler(Connectors.java:393) ~[undertow-core-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859) ~[undertow-core-2.3.13.Final.jar!/:2.3.13.Final] 6|Lavalink | at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) ~[jboss-threads-3.5.0.Final.jar!/:3.5.0.Final] 6|Lavalink | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513) ~[jboss-threads-3.5.0.Final.jar!/:3.5.0.Final] 6|Lavalink | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538) ~[jboss-threads-3.5.0.Final.jar!/:3.5.0.Final] 6|Lavalink | at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) ~[xnio-api-3.8.8.Final.jar!/:3.8.8.Final] 6|Lavalink | at java.base/java.lang.Thread.run(Thread.java:1623) ~[na:na] 6|Lavalink | Caused by: java.lang.IllegalArgumentException: Spotify spDc must be set 6|Lavalink | at com.github.topi314.lavasrc.spotify.SpotifySourceManager.getLyrics(SpotifySourceManager.java:156) ~[lavasrc-plugin-4.2.0.jar!/:na] 6|Lavalink | at com.github.topi314.lavasrc.spotify.SpotifySourceManager.loadLyrics(SpotifySourceManager.java:148) ~[lavasrc-plugin-4.2.0.jar!/:na] 6|Lavalink | at com.github.topi314.lavalyrics.LyricsManager.loadLyrics(LyricsManager.java:69) ~[lavasrc-plugin-4.2.0.jar!/:na] 6|Lavalink | at com.github.topi314.lavalyrics.plugin.AudioLyricsRestHandler.loadCurrentTrackLyrics(AudioLyricsRestHandler.kt:61) ~[lavalyrics-plugin-1.0.0.jar!/:na] 6|Lavalink | at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] 6|Lavalink | at java.base/java.lang.reflect.Method.invoke(Method.java:578) ~[na:na] 6|Lavalink | at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) ~[kotlin-reflect-2.0.0.jar!/:2.0.0-release-341] 6|Lavalink | at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) ~[kotlin-reflect-2.0.0.jar!/:2.0.0-release-341] 6|Lavalink | at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:207) ~[kotlin-reflect-2.0.0.jar!/:2.0.0-release-341] 6|Lavalink | at kotlin.reflect.jvm.internal.KCallableImpl.callBy(KCallableImpl.kt:112) ~[kotlin-reflect-2.0.0.jar!/:2.0.0-release-341] 6|Lavalink | at org.springframework.web.method.support.InvocableHandlerMethod$KotlinDelegate.invokeFunction(InvocableHandlerMethod.java:334) ~[spring-web-6.1.9.jar!/:6.1.9] 6|Lavalink | at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:252) ~[spring-web-6.1.9.jar!/:6.1.9] 6|Lavalink | at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) ~[spring-web-6.1.9.jar!/:6.1.9] 6|Lavalink | at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.8.jar!/:6.1.8] 6|Lavalink | ... 48 common frames omitted 6|Lavalink | 6|Lavalink | 2024-08-18T18:42:48.994Z WARN 15337 --- [Lavalink] [ XNIO-1 task-3] lavalink.server.config.WebsocketConfig : This is the old Lavalink websocket endpoint. Please use /v4/websocket instead. If you are using a client library, please update it to a Lavalink v4 compatible version or use Lavalink v3 instead. 6|Lavalink | 2024-08-18T18:42:56.062Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.player.AudioLoaderRestHandler : Got request to load for identifier "scsearch:no roots" 6|Lavalink | 2024-08-18T18:42:56.454Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] lavalink.server.player.AudioLoader : Loaded playlist Search results for: no roots 6|Lavalink | 2024-08-18T18:42:56.457Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : GET /v4/loadtracks?identifier=scsearch%3Ano%20roots&trace=true, client=127.0.0.1 6|Lavalink | 2024-08-18T18:42:58.970Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":true} 6|Lavalink | 2024-08-18T18:45:11.405Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":false} 6|Lavalink | 2024-08-18T18:45:19.295Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":true} 6|Lavalink | 2024-08-18T18:51:06.432Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":false} 6|Lavalink | 2024-08-18T18:51:12.317Z INFO 15337 --- [Lavalink] [back-1-thread-3] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {s}->https://cf-hls-opus-media.sndcdn.com:443: The target server failed to respond 6|Lavalink | 2024-08-18T18:51:12.318Z INFO 15337 --- [Lavalink] [back-1-thread-3] o.apache.http.impl.execchain.RetryExec : Retrying request to {s}->https://cf-hls-opus-media.sndcdn.com:443 6|Lavalink | 2024-08-18T18:51:12.356Z ERROR 15337 --- [Lavalink] [back-1-thread-3] c.s.d.l.t.p.LocalAudioTrackExecutor : Error in playback of O:https://api-v2.soundcloud.com/media/soundcloud:tracks:600922164/0687afd0-479c-4548-b3f5-65cd961982d0/stream/hls 6|Lavalink | 6|Lavalink | com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something went wrong when decoding the track. 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:279) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudM3uAudioTrack.process(SoundCloudM3uAudioTrack.java:42) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioTrack.playFromIdentifier(SoundCloudAudioTrack.java:52) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudAudioTrack.process(SoundCloudAudioTrack.java:39) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na] 6|Lavalink | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na] 6|Lavalink | at java.base/java.lang.Thread.run(Thread.java:1623) ~[na:na] 6|Lavalink | Caused by: java.lang.RuntimeException: java.io.IOException: Invalid status code from https://cf-hls-opus-media.sndcdn.com/media/81719/245576/323828/d02f1e63-56d5-432e-bd5c-9475d84a7088.64.opus?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLWhscy1vcHVzLW1lZGlhLnNuZGNkbi5jb20vbWVkaWEvODE3MTkvKi8qL2QwMmYxZTYzLTU2ZDUtNDMyZS1iZDVjLTk0NzVkODRhNzA4OC42NC5vcHVzIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzI0MDA2ODY4fX19XX0_&Signature=bWweF4aFcSA7yuFw8OD-GBXrF~QoT50eQznCwUCH80idCTkPBDDbGpE-7WrqC3r9b3yhBIGSU-JKjdsJJo42H9O6qGxUqCoJ~~EDyxH7ri8fZPvy6XgGAV3bwrzSuOJgu7AzXbnGZJUXDVmWnFVWDIwHAZvias8Etm3yGjkGo9Se6VGsOoTEcJulxWylt2Ymn1Rdnx9hCwhmdGl1fPnecuXP87aIqGuQKaWQomvPG95Ot6IQOfR06xJeW3QmO-kKzKkF398FdwAiN7tNZ8Y~ygF7ta8Zhy5ZDE3WbvitBTfKfbZY6wCDIU9~ixkZh19RRh-~W31Xxl~XBpvBdagDHw__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ URL: 403 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.http.HttpStreamTools.streamContent(HttpStreamTools.java:28) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudM3uAudioTrack$SegmentTracker.getNextStream(SoundCloudM3uAudioTrack.java:129) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.io.ChainedInputStream.loadNextStream(ChainedInputStream.java:25) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.io.ChainedInputStream.read(ChainedInputStream.java:45) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:165) ~[commons-io-2.13.0.jar!/:2.13.0] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.io.NonSeekableInputStream.read(NonSeekableInputStream.java:42) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.MediaContainerDetection.checkNextBytes(MediaContainerDetection.java:127) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.ogg.OggPacketInputStream.readPageHeader(OggPacketInputStream.java:99) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.ogg.OggPacketInputStream.loadNextPage(OggPacketInputStream.java:165) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.ogg.OggPacketInputStream.loadNextNonEmptyPage(OggPacketInputStream.java:138) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.ogg.OggPacketInputStream.startNewPacket(OggPacketInputStream.java:83) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.ogg.opus.OggOpusTrackHandler.provideFrames(OggOpusTrackHandler.java:46) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudOpusSegmentDecoder.playStream(SoundCloudOpusSegmentDecoder.java:62) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.source.soundcloud.SoundCloudM3uAudioTrack.lambda$process$0(SoundCloudM3uAudioTrack.java:42) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:261) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | ... 9 common frames omitted 6|Lavalink | Caused by: java.io.IOException: Invalid status code from https://cf-hls-opus-media.sndcdn.com/media/81719/245576/323828/d02f1e63-56d5-432e-bd5c-9475d84a7088.64.opus?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLWhscy1vcHVzLW1lZGlhLnNuZGNkbi5jb20vbWVkaWEvODE3MTkvKi8qL2QwMmYxZTYzLTU2ZDUtNDMyZS1iZDVjLTk0NzVkODRhNzA4OC42NC5vcHVzIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzI0MDA2ODY4fX19XX0_&Signature=bWweF4aFcSA7yuFw8OD-GBXrF~QoT50eQznCwUCH80idCTkPBDDbGpE-7WrqC3r9b3yhBIGSU-JKjdsJJo42H9O6qGxUqCoJ~~EDyxH7ri8fZPvy6XgGAV3bwrzSuOJgu7AzXbnGZJUXDVmWnFVWDIwHAZvias8Etm3yGjkGo9Se6VGsOoTEcJulxWylt2Ymn1Rdnx9hCwhmdGl1fPnecuXP87aIqGuQKaWQomvPG95Ot6IQOfR06xJeW3QmO-kKzKkF398FdwAiN7tNZ8Y~ygF7ta8Zhy5ZDE3WbvitBTfKfbZY6wCDIU9~ixkZh19RRh-~W31Xxl~XBpvBdagDHw__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ URL: 403 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.http.HttpStreamTools.streamContent(HttpStreamTools.java:22) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | ... 23 common frames omitted 6|Lavalink | 

One from deezer (lavasrc latest)

| 2024-08-18T18:25:10.586Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : GET /v4/loadtracks?identifier=dzsearch%3Abad%20guy&trace=true, client=127.0.0.1 6|Lavalink | 2024-08-18T18:25:10.618Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"track":{"encoded":"QAACCwMAB2JhZCBndXkADUJpbGxpZSBFaWxpc2gAAAAAAAL10AAJNjU1MDk1OTEyAAEAImh0dHBzOi8vZGVlemVyLmNvbS90cmFjay82NTUwOTU5MTIBAGlodHRwczovL2UtY2Rucy1pbWFnZXMuZHpjZG4ubmV0L2ltYWdlcy9jb3Zlci82NjMwMDgzZjQ1NGQ0OGVhZGI2YTliNTNmMDM1ZDczNC8xMDAweDEwMDAtMDAwMDAwLTgwLTAtMC5qcGcAAAZkZWV6ZXIBAChXSEVOIFdFIEFMTCBGQUxMIEFTTEVFUCwgV0hFUkUgRE8gV0UgR08/AQAlaHR0cHM6Ly93d3cuZGVlemVyLmNvbS9hbGJ1bS85MTU5ODYxMgEAJWh0dHBzOi8vd3d3LmRlZXplci5jb20vYXJ0aXN0Lzk2MzU2MjQBAGpodHRwczovL2UtY2Rucy1pbWFnZXMuZHpjZG4ubmV0L2ltYWdlcy9hcnRpc3QvOGVhYjFhOWE2NDQ4ODlhYWJhY2ExZTE5M2UwNWY5ODQvMTAwMHgxMDAwLTAwMDAwMC04MC0wLTAuanBnAQBQaHR0cHM6Ly9jZG4tcHJldmlldy1iLmR6Y2RuLm5ldC9zdHJlYW0vYy1iZTZjNzYzMTg4MjMwYjJiZGQ2Yzk3ZWM1YmFkYjA5ZS0yOC5tcDMAAAAAAAAAAAA=","userData":{}},"volume":70,"position":0,"paused":false} 6|Lavalink | 2024-08-18T18:25:17.442Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.player.AudioLoaderRestHandler : Got request to load for identifier "dzsearch:no roots" 6|Lavalink | 2024-08-18T18:25:17.564Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] lavalink.server.player.AudioLoader : Loaded playlist Deezer Search: no roots 6|Lavalink | 2024-08-18T18:25:17.567Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : GET /v4/loadtracks?identifier=dzsearch%3Ano%20roots&trace=true, client=127.0.0.1 6|Lavalink | 2024-08-18T18:25:39.917Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":true} 6|Lavalink | 2024-08-18T18:25:51.995Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":false} 6|Lavalink | 2024-08-18T18:26:11.182Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"position":160000} 6|Lavalink | 2024-08-18T18:26:15.012Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":true} 6|Lavalink | 2024-08-18T18:32:09.377Z INFO 15337 --- [Lavalink] [ XNIO-1 task-3] l.server.io.RequestLoggingFilter : PATCH /v4/sessions/hihtmerz55mugw73/players/1170352918529052752?trace=true, client=127.0.0.1, payload={"paused":false} 6|Lavalink | 2024-08-18T18:32:14.699Z ERROR 15337 --- [Lavalink] [back-1-thread-3] c.s.d.l.t.p.LocalAudioTrackExecutor : Error in playback of 655095912 6|Lavalink | 6|Lavalink | com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something went wrong when decoding the track. 6|Lavalink | at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:279) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:234) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.mp3.Mp3AudioTrack.process(Mp3AudioTrack.java:36) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.github.topi314.lavasrc.deezer.DeezerAudioTrack.process(DeezerAudioTrack.java:102) ~[lavasrc-plugin-4.2.0.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na] 6|Lavalink | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na] 6|Lavalink | at java.base/java.lang.Thread.run(Thread.java:1623) ~[na:na] 6|Lavalink | Caused by: java.lang.RuntimeException: java.io.EOFException 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.mp3.Mp3TrackProvider.provideFrames(Mp3TrackProvider.java:138) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:261) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | ... 9 common frames omitted 6|Lavalink | Caused by: java.io.EOFException: null 6|Lavalink | at java.base/java.io.DataInputStream.readFully(DataInputStream.java:203) ~[na:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.mp3.Mp3FrameReader.fillFrameBuffer(Mp3FrameReader.java:121) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | at com.sedmelluq.discord.lavaplayer.container.mp3.Mp3TrackProvider.provideFrames(Mp3TrackProvider.java:121) ~[lavaplayer-2.2.1.jar!/:na] 6|Lavalink | ... 10 common frames omitted 6|Lavalink | 
devoxin commented 3 weeks ago

More than likely the URLs expire and Lavaplayer has no mechanism to regenerate them in this case.

I noticed you mentioned youtube-source however, but there are no logs for this. I am unable to reproduce this with youtube-source, however typically youtube playback URLs expire after around 6 hours, not minutes, and the source includes a mechanism for regenerating URLs in this instance. Can you confirm your exact conditions for producing this with youtube?

Tomato6966 commented 3 weeks ago

More than likely the URLs expire and Lavaplayer has no mechanism to regenerate them in this case.

I noticed you mentioned youtube-source however, but there are no logs for this. I am unable to reproduce this with youtube-source, however typically youtube playback URLs expire after around 6 hours, not minutes, and the source includes a mechanism for regenerating URLs in this instance. Can you confirm your exact conditions for producing this with youtube?

I produced it using youtube as a source for resolinvg tracks from spotify. It's very inconvenient that if you play a soundcloud, deezer, LOCAL track, pause it, leave it for a couple mins paused, unpause and the track errors. Shouldn't lavalink "regenerate" or "refetch" the track somewhat?

devoxin commented 3 weeks ago

Shouldn't lavalink "regenerate" or "refetch" the track somewhat?

In an ideal scenario yes, however this is more of an edge case that wasn't really accounted for. It's uncommon for people to leave a bot paused for so long. In such a case, users should typically have some sort of thread watching for idle players and destroying them after some time.

I produced it using youtube as a source for resolinvg tracks from spotify.

I am still unable to reproduce issues with YouTube. Lavasrc internally redirects to youtube-source so your usage of Spotify/lavasrc here won't make any difference.

Tomato6966 commented 3 weeks ago

I will try to reproduce it using youtube-source again However rn my youtube-source keeps not working on any music node i have setup rn, i think i will need to update the version again

fb-sean commented 3 weeks ago

Hi, I noticed this issue too. I dont use youtube-source only these plugins

plugins:

Same flow like Tomato, search for a track, play it, pause it, wait multiple minutes (over 5), resume the playback. Some seconds will play and then it errors.

Tomato6966 commented 3 weeks ago

Did further testings again Not able to reproduce on youtube nor deezer, unless you pause for over 30mins

soundcloud seems to be a solid 5mins

Able to reproduce on following sources:

soundcloud, http (thus also theorteically bandcamp, vimeo, and twitch)

I also received reports for local tracks, but that wouldn't make sense

flav-code commented 2 weeks ago

I also have the problem when the source destroys the stream due to inactivity. (With deezer)

topi314 commented 2 days ago

This has nothing to do with lavalink