[Bug Report] YT tracks not playing due to 403 error
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 2.8k
- PR merge metrics
- No merged PRs in 30d
Description
### Bug Description
so when i go to play music from youtube it gives this error
```
[11:16:44] [ERROR] [AudioHandler]: Track J2X5mJ3HDYE has failed to play
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.RuntimeException: Not success status code: 403
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:88)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:124)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:106)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:158)
at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:174)
at java.base/java.io.DataInputStream.readUnsignedByte(DataInputStream.java:295)
at java.base/java.io.DataInputStream.readByte(DataInputStream.java:275)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readEbmlInteger(MatroskaEbmlReader.java:39)
at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.readNextElement(MatroskaFileReader.java:47)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:94)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:52)
at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:35)
at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
at dev.lavalink.youtube.track.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:148)
at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:116)
at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:71)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109)
... 4 common frames omitted
```
### Steps to Reproduce
1.) start the bot
2.) join voice channel
3.) play anything
### Expected Result
music playing
### Debug Output
```
System Properties:
java.version = 21.0.3
java.vm.name = OpenJDK 64-Bit Server VM
java.vm.specification.version = 21
java.runtime.name = OpenJDK Runtime Environment
java.runtime.version = 21.0.3+9-LTS
java.specification.version = 21
os.arch = aarch64
os.name = Linux
JMusicBot Information:
Version = 0.4.3
Owner = 871764313914871888
Prefix = @mention
AltPrefix = !
MaxSeconds = 0
NPImages = true
SongInStatus = false
StayInChannel = false
UseEval = false
UpdateAlerts = true
Dependency Information:
JDA Version = 4.4.1_353
JDA-Utilities Version = 3.0.5
Lavaplayer Version = 2.2.1
Runtime Information:
Total Memory = 44
Used Memory = 23
Discord Information:
ID = 1264486246999265341
Guilds = 4
Users = 2
```
### Additional Info
_No response_
### Checklist
- [X] I have looked for information about this [within the documentation](https://jmusicbot.com/)
- [X] I have searched for similar issues [on the issues page](https://github.com/jagrosh/MusicBot/issues?q=is%3Aissue)
- [X] I am using an official release from [the releases page](https://github.com/jagrosh/MusicBot/releases)
### JMusicBot Version
0.4.3
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing playback with the reported YouTube track and follow the stack trace from dev.lavalink.youtube.track.YoutubeAudioTrack through PersistentHttpStream.validateStatusCode. Compare the reported Java, Lavaplayer, JDA, and JMusicBot versions with current project guidance. Done means a normal YouTube track plays without the 403 failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100