Walkyst / lavaplayer-fork

Apache License 2.0
173 stars 68 forks source link

Not success status code: 403 #108

Closed N1C0exe closed 7 months ago

N1C0exe commented 1 year ago

Hi ! Yesterday I had a problem that I never seen before . I got a "Not success status code: 403 " trying to play some yt track from a spotify playlist ( full logs in the image ) using Lavalink v3.7.5 immagine I cant reproduce it becouse happen randomly :( Anyone have the same problem ?

Lavaplayer version : 1.4.0

Walkyst commented 1 year ago

Send please full screenshot of stacktrace or paste log and link to video

N1C0exe commented 1 year ago

Send please full screenshot of stacktrace or paste log and link to video

https://pastebin.com/Pq1kFV8G

SCARTAL commented 1 year ago

Hello there 👋 I have the same problem, this is my full lavalink console output. https://cdn.discordapp.com/attachments/490951172673372195/1120577753947852900/message.txt

seammd124 commented 1 year ago

Hello there I have the same problem

Walkyst commented 1 year ago

@seammd124 Paste full logs too

aikaterna commented 1 year ago

Hi Walkyst, this log with 403's is from one of my users, and they host in the United States. If you'd like more info let me know and I will ask them to post here directly or I will speak with them.

https://gist.githubusercontent.com/Cog-CreatorsBot/6a0a2521c484cc029fc83365b3dc876e/raw/a49a3657b3f60b2f0cf164a36f01cb26e10f893e/spring.log

seammd124 commented 1 year ago

@seammd124 Paste full logs too

https://cdn.discordapp.com/attachments/806896986703265892/1120886970810388500/error.txt

SxMAbel commented 1 year ago

I'm having the same problem https://hastebin.blackforthosting.com/nuqopanora.less

seammd124 commented 1 year ago

I'm having the same problem https://hastebin.blackforthosting.com/nuqopanora.less

What's ur java version?

SxMAbel commented 1 year ago

I'm having the same problem https://hastebin.blackforthosting.com/nuqopanora.less

What's ur java version?

11

Kromzem commented 1 year ago

Hey :)

I have the same error and it happens all the time. YouTube is now unusable as a source for my bot. But, if I execute my bot on another IP, then everything works like intended again. It looks like some sort of rate-limit that was introduced lately and on IP basis ...

seammd124 commented 1 year ago

hey, if anyone submits a fix for this I'm willing to pay 20$ (Maybe more depends)

Kromzem commented 1 year ago

hey, if anyone submits a fix for this I'm willing to pay 20$ (Maybe more depends)

I guess there wont be a fix possible from the site of lavaplayer ... I changed the IP of the server of my bot and everything started working as expected. So the current fix for now is to change the IP. It seems like some sort of rate limit implemented by YT to prevent "API abuse" ...

seammd124 commented 1 year ago

Nope actually I tried with a different hosting provider same thing

PeTeR3431 commented 1 year ago

same issue. but fixed by changing the IP

seammd124 commented 1 year ago

same issue. but fixed by changing the IP It was fixed for me too but happening again

robinfriedli commented 1 year ago

I've recently observed the same on both of my nodes. One of them being a galaxygate dedi with a /48 ipv6 subnet assigned to it for ip rotation and the other one being a vps using a HE tunnel to a /48 subnet. Both hosted on galaxygate in New York.

ERROR 2023-07-27 12:18:42,746 [lava-daemon-pool-playback-1-thread-2413] com.sedmelluq.discord.lavaplayer.tools.ExceptionTools: Error in playback of VtQ8krwI7x0                                                                                                                                                     com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
        at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)                                                 
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:116)
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:361)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
        Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
  lavaplayer.version: 1.4.2-original
  os.arch: amd64
  os.name: Linux
  os.version: 5.4.0-155-generic
  java.vendor: Oracle Corporation
  java.version: 17.0.4
  java.runtime.version: 17.0.4+11-LTS-179
  java.vm.version: 17.0.4+11-LTS-179
Caused by: java.lang.RuntimeException: Not success status code: 403
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:87)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:123)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:105)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:157)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:173)
        at java.base/java.io.DataInputStream.readByte(DataInputStream.java:271)
        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:45)
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:78)
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:51)
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:34)
        at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:58)
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:50)
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104)
        ... 4 common frames omitted

I think the issue fixes itself every time the visitor id is updated, at least I've observed it to resolve itself exactly around the same time several times. So updating that on error or optionally increasing the frequency might be an idea

N1C0exe commented 1 year ago

I've recently observed the same on both of my nodes. One of them being a galaxygate dedi with a /48 ipv6 subnet assigned to it for ip rotation and the other one being a vps using a HE tunnel to a /48 subnet. Both hosted on galaxygate in New York.

ERROR 2023-07-27 12:18:42,746 [lava-daemon-pool-playback-1-thread-2413] com.sedmelluq.discord.lavaplayer.tools.ExceptionTools: Error in playback of VtQ8krwI7x0                                                                                                                                                     com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
        at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)                                                 
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:116)
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:361)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
        Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
  lavaplayer.version: 1.4.2-original
  os.arch: amd64
  os.name: Linux
  os.version: 5.4.0-155-generic
  java.vendor: Oracle Corporation
  java.version: 17.0.4
  java.runtime.version: 17.0.4+11-LTS-179
  java.vm.version: 17.0.4+11-LTS-179
Caused by: java.lang.RuntimeException: Not success status code: 403
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:87)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:123)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:105)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:157)
        at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:173)
        at java.base/java.io.DataInputStream.readByte(DataInputStream.java:271)
        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:45)
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:78)
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:51)
        at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:34)
        at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:58)
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:50)
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104)
        ... 4 common frames omitted

I think the issue fixes itself every time the visitor id is updated, at least I've observed it to resolve itself exactly around the same time several times. So updating that on error or optionally increasing the frequency might be an idea

I have also noticed that after sometimes ( without restarting the Lavalink server ) the error dont show up again

robinfriedli commented 1 year ago

I also see this one fairly regularly

INFO 2023-07-28 00:23:48,170 [lava-daemon-pool-playback-1-thread-5796] com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker Updating YouTube access token (current is null).
ERROR 2023-07-28 00:23:48,228 [lava-daemon-pool-playback-1-thread-5796] com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker YouTube access token update failed.
java.io.IOException: Invalid status code for access token android response: 403
    at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:157)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker.requestAccessToken(YoutubeAccessTokenTracker.java:321)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker.fetchAccessToken(YoutubeAccessTokenTracker.java:236)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker.updateAccessToken(YoutubeAccessTokenTracker.java:151)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAccessTokenTracker.getAccessToken(YoutubeAccessTokenTracker.java:203)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeHttpContextFilter.onRequest(YoutubeHttpContextFilter.java:71)
    at com.sedmelluq.lava.extensions.youtuberotator.YoutubeIpRotatorFilter.onRequest(YoutubeIpRotatorFilter.java:58)
    at com.sedmelluq.discord.lavaplayer.tools.http.SettableHttpRequestFilter.onRequest(SettableHttpRequestFilter.java:41)
    at com.sedmelluq.discord.lavaplayer.tools.io.HttpInterface.execute(HttpInterface.java:69)
    at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:120)
    at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:105)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubePersistentHttpStream.internalRead(YoutubePersistentHttpStream.java:52)
    at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:193)
    at java.base/java.io.DataInputStream.readFully(DataInputStream.java:201)
    at com.sedmelluq.discord.lavaplayer.container.matroska.format.MutableMatroskaBlock.getNextFrameBuffer(MutableMatroskaBlock.java:54)
    at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.processFrameInBlock(MatroskaStreamingFile.java:371)
    at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.parseClusterSimpleBlock(MatroskaStreamingFile.java:335)
    at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.parseNextCluster(MatroskaStreamingFile.java:320)
    at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.provideFrames(MatroskaStreamingFile.java:296)
    at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.lambda$process$0(MatroskaAudioTrack.java:39)
    at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:275)
    at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.executeProcessingLoop(LocalAudioTrackExecutor.java:249)
    at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:38)
    at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:58)
    at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:50)
    at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104)
    at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:361)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
DJHammers commented 1 year ago

HE tunnel

HE tunnel fix the issue ? after config it still giving the errors

tkaryadis commented 1 year ago

i have the same issue, so many tracks cause 403, and stuck exception, only solution i think is to restart the bot, or wait for sometime, but its completely temporally. It played 200 tracks normally and 130 failed, so its almost half tracks fail. I am curious is this youtube limit related? Someone knows why it is even happening?

topi314 commented 1 year ago

this has been fixed in https://github.com/lavalink-devs/lavaplayer/releases/tag/1.5.0 https://github.com/lavalink-devs/lavaplayer/releases/tag/2.0.0

HagarJNode commented 1 year ago

this has been fixed in https://github.com/lavalink-devs/lavaplayer/releases/tag/1.5.0 https://github.com/lavalink-devs/lavaplayer/releases/tag/2.0.0

Just tested it - each time I restart it's working, but after a period it starts all over again. Could you please check the fix?

robinfriedli commented 1 year ago

I'm now using that fork for a bot with several hundred concurrent streams and it's been working fine so far for me

HagarJNode commented 1 year ago

It might be my test - I'm just about to test the latest snapshot build of the player.

HagarJNode commented 1 year ago

Looks like it solved it by using the latest snapshot

topi314 commented 1 year ago

1.5.0 & 2.0.0 have it both fixed please open an issue there in the future

HagarJNode commented 1 year ago

1.5.0 & 2.0.0 have it both fixed please open an issue there in the future

No issue - it was my bad

DxsSucuk commented 1 year ago

Fixed here aswell so yeah closable