New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Web UI refuses to connect when sending certain cookies #1688
Comments
There seems to be traffic sent to Hyperion's port 8090 which is not for Hyperion. |
@Lord-Grey I think you've misunderstood the issue a little. This is not a misconfiguration of another component, rather just how browsers work. Essentially Hyperion's web service hangs and produces those errors if the browser sends those cookies. Regardless of where those cookies are from originally (i.e. set by other services running on the same IP) I wouldn't expect the service to just hang. For example, other web services on the same IP don't have an issue receiving that cookie payload. It's not a problem now I know what causes it, I can just remove the cookies. But IMO something is amiss with Hyperion's web service to cause it to choke when presented with valid cookies. |
Can you tell me how to reproduce the cookie sending scenario? |
Sure, basically need to send a cookie with a request to the web UI. I can repro this for example using Postman. Are you familiar with that tool? Alternatively, you could add the cookie directly to the developer console in a browser. The cookie is:
|
I have a Heimdall page that has a link to Hyperion - both on the same server running on different ports. When I click on the Hyperion link, these are the cookies passed to it: I guess that due the size of the HEADERS, Hyperion fails with this error:
|
@jamieburchell / @maatthc Is there a chance that you provide me a curl sample how to test this scenario, please? |
@Lord-Grey I can't get a cURL version to work at the moment. I can reproduce it by manually adding the cookie in Chrome's dev tools although it's slightly tricky to do that because Hyperion is making a call every few seconds to cfg_jsonserver |
Could you do me a screenshot where in the dev tools you add it? |
I was just making a screencast :) |
Thank you for your support! |
Bizarrely, the same request in cURL does not trigger the issue. Copied below for reference.
|
I think JavaScript could be playing a part in this issue - specifically the frequent ajax requests. When I disable JavaScript in the dev console settings and refresh, the page does not hang. When I re-enable it and refresh, the page hangs. I guess that explains why the cURL request is unaffected. |
Some other occurrences of this issue in the wild. |
I was just making a screencast :) That you that was really helpful. Unfortunately, I was not able to reproduce the issue. @jamieburchell Would it be ok that I provide you with a special build which traces the messages and procesing within Hyperion in your environment? Alternatively, I could give you some code in case you would like to build yourself. |
Sure! Happy to help. I usually install an armv7 deb file. If you need me to install another way I might need some instructions. Not sure how fast building from source would be on the Pi... |
@jamieburchell Thanks for your support! |
Bug report
I couldn't get the web UI to load when accessing port 8090. The browser appeared to spend ages trying to connect, before eventually giving up. Curiously, in an Incognito window, the web UI was accessible.
I looked at systemctl status of the Hyperion service and noticed warnings about invalid headers being sent. The headers contained large cookie payloads from the TVHeadend service I run on the same IP. Deleting those cookies solved the issue.
Question I guess is why does the web service for Hyperion seemingly choke on them
Steps to reproduce
Send large cookie payload such as those sent by TVHeadend
What is expected?
WebUI will load
What is actually happening?
WebUI never connects.
System
The text was updated successfully, but these errors were encountered: