iv-org / invidious

Invidious is an alternative front-end to YouTube
https://invidious.io
GNU Affero General Public License v3.0
16.46k stars 1.85k forks source link

500 for /videoplayback on fresh install #1046

Closed anna-is-cute closed 4 years ago

anna-is-cute commented 4 years ago

The log only shows the /videoplayback request and it being a 500, so I'm uncertain how to debug. This also appears to only happen for proxied requests, as I can use hd720 unproxied. Strangely, youtube-dl works fine on the same server.

In addition, certain images fail to load, like channel pictures, which may be related.

If you can tell me how to find out what's causing the 500, I'd be glad to post more information!

omarroth commented 4 years ago

What does e.g.

$  curl http://localhost:3000/vi/aqz-KE-bpKQ/mqdefault.jpg -v

return for you?

How are you running Invidious? (Docker or directly with crystal build ...).

anna-is-cute commented 4 years ago

Installed using Invidious Updater and not using Docker.

This request looks to be successful, however it's not the type of request that fails. See below.

% curl http://localhost:3000/vi/aqz-KE-bpKQ/mqdefault.jpg -v
*   Trying ::1:3000...
* TCP_NODELAY set
* Connected to localhost (::1) port 3000 (#0)
> GET /vi/aqz-KE-bpKQ/mqdefault.jpg HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.66.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Connection: keep-alive
< Content-Type: image/jpeg
< X-Frame-Options: sameorigin
< X-XSS-Protection: 0
< X-Content-Type-Options: nosniff
< Content-Security-Policy: default-src blob: data: 'self' https://yt.kitteh.space 'unsafe-inline' 'unsafe-eval'; media-src blob: 'self' https://yt.kitteh.space https://*.googlevideo.com:443
< Referrer-Policy: same-origin
< Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
< accept-ranges: bytes
< timing-allow-origin: *
< content-length: 17034
< date: Fri, 28 Feb 2020 18:50:40 GMT
< expires: Fri, 28 Feb 2020 20:50:40 GMT
< etag: "1415628355"
< age: 7069
< cache-control: public, max-age=7200
< Access-Control-Allow-Origin: *
<
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
* Failed writing body (0 != 14544)
* Closing connection 0

This one reports a content size of 0 bytes, which is surely incorrect.

% curl http://localhost:3000/ggpht/a/AGF-l78hZ7VA5qwDK7Z5D5T5NHcCdKGpuW9hvkwx2A\=s176-c-k-c0x00ffffff-no-rj-mo -v

*   Trying ::1:3000...
* TCP_NODELAY set
* Connected to localhost (::1) port 3000 (#0)
> GET /ggpht/a/AGF-l78hZ7VA5qwDK7Z5D5T5NHcCdKGpuW9hvkwx2A=s176-c-k-c0x00ffffff-no-rj-mo HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.66.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Connection: keep-alive
< Content-Type: text/html
< X-Frame-Options: sameorigin
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< Content-Security-Policy: default-src blob: data: 'self' https://yt.kitteh.space 'unsafe-inline' 'unsafe-eval'; media-src blob: 'self' https://yt.kitteh.space https://*.googlevideo.com:443
< Referrer-Policy: same-origin
< Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
< Content-Length: 0
< 
* Connection #0 to host localhost left intact
tleydxdy commented 4 years ago

I'm having simillar problems. playback without proxy get stuck with no error, using proxy 500. but using raw=1 the playback is fine.

edit, I'm using docker

itsMoji commented 4 years ago

I had this problem on Centos 7, but it's fine on Ubuntu 18.04 LTS

anna-is-cute commented 4 years ago

Interesting. I'm using Fedora 31 and encountering this issue, so maybe there's a strict SELinux issue, though I can't imagine what.

omarroth commented 4 years ago

Please check that your issue is fixed with a117d87f331607864452b85c6066d972ce2cb568.

tleydxdy commented 4 years ago

nope, still 500 with local=true and stuck without local=true

anna-is-cute commented 4 years ago

Works for me now with proxy on and DASH.

tleydxdy commented 4 years ago

For me, dash doesn't work but 720 works, no matter if local=true or now

omarroth commented 4 years ago

Do you see any errors being logged? (in devtools or the Invidious log)

tleydxdy commented 4 years ago

invidious log: https://bin.privacytools.io/?c8fc80c882208503#OyxdEaJrApRTRt2+BijoU2Oisaabnq0yDzZ9S6oc+Us= browser log: https://bin.privacytools.io/?90ef7aa8a0cd60c4#Iq+fRaUrqYitF8sU/gsLneSP4b++y1swtFbsEA/COy0= the invidious log also get stuck while I'm on the page loading forever. only when I refresh would the last load's log show up

tleydxdy commented 4 years ago

This is so strange, the issue is suddenly fixed today, also #1022