lavalink-devs / Lavalink

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

Throwing error when trying to play a specific video #774

Closed Hydro001 closed 1 year ago

Hydro001 commented 1 year ago

Description

Lavalink throws an error when trying to play a specific video

Version info

Client used: Shoukaku 3.2.2

Output of java -version:

java version "17.0.4.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment (build 17.0.4.1+1-LTS-2)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.4.1+1-LTS-2, mixed mode, sharing)

Lavalink version :

Version:        3.6.1
Build time:     28.10.2022 09:12:10 UTC
Branch          HEAD
Commit:         ee42ec1
Commit time:    28.10.2022 09:10:11 UTC
JVM:            17.0.4.1
Lavaplayer      1.3.99-original

The problem

I get this when trying to play this video : https://www.youtube.com/watch?v=X0RK2jz5HOI

2022-11-01 21:06:36.969  INFO 8504 --- [  XNIO-1 task-1] l.server.player.AudioLoaderRestHandler   : Got request to load for identifier "https://youtube.com/watch?v=X0RK2jz5HOI"2022-11-01 21:06:37.519  INFO 8504 --- [ader-2-thread-1] lavalink.server.player.AudioLoader       : Loaded track 1 Week 168 Hour Timer Countdown with Alarm Sound / 168 H / 168 
Hrs - Longest Video on YouTube
2022-11-01 21:06:37.775  INFO 8504 --- [   XNIO-1 I/O-5] lavalink.server.io.SocketServer          : {"op":"play","guildId":"981598070947078175","track":"QAAAwwIAXTEgV2VlayAxNjggSG91ciBUaW1lciBDb3VudGRvd24gd2l0aCBBbGFybSBTb3VuZCAvIDE2OCBIIC8gMTY4IEhycyAtIExvbmdlc3QgVmlkZW8gb24gWW91VHViZQAMTWFjIFBhdmVyaWNrAAAAACQMn1gAC1gwUksyano1SE9JAAEAK2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WDBSSzJqejVIT0kAB3lvdXR1YmUAAAAAAAAAAA==","noReplace":true,"pause":false}
2022-11-01 21:06:44.870 ERROR 8504 --- [back-1-thread-1] c.s.d.l.t.p.LocalAudioTrackExecutor      : Error in playback of X0RK2jz5HOI

com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
        at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:116) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:354) ~[lavaplayer-1.3.99.jar!/:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
        at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
        Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
  lavaplayer.version: 1.3.99-original
  os.arch: amd64
  os.name: Windows 10
  os.version: 10.0
  java.vendor: Oracle Corporation
  java.version: 17.0.4.1
  java.runtime.version: 17.0.4.1+1-LTS-2
  java.vm.version: 17.0.4.1+1-LTS-2
Caused by: java.lang.RuntimeException: java.io.EOFException
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:56) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:34) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:58) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:50) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104) ~[lavaplayer-1.3.99.jar!/:na]
        ... 4 common frames omitted
Caused by: java.io.EOFException: null
        at java.base/java.io.DataInputStream.readByte(DataInputStream.java:273) ~[na:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readFixedSizeEbmlInteger(MatroskaEbmlReader.java:24) ~[lavaplayer-1.3.99.jar!/:na]     
        at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.asLong(MatroskaFileReader.java:109) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.parseCuePoint(MatroskaStreamingFile.java:191) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.parseCues(MatroskaStreamingFile.java:170) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.parseSegmentElement(MatroskaStreamingFile.java:130) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:92) ~[lavaplayer-1.3.99.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:51) ~[lavaplayer-1.3.99.jar!/:na]
        ... 9 common frames omitted

Lavalink doesn't crash or anything it just throws the error

By the way it works with a video like : https://www.youtube.com/watch?v=I_6ZcOo6pnk that doesn't have audio either and is 10 hours long.

Thanks for reading and have a nice day 👍

topi314 commented 1 year ago

This was prob a bug in data transmission which caused the track to be broken. We can't say that for sure but if this isn't happening often there is no need to worry about it. If that should happen more often file an issue with lavaplayer