Skip to content
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

Lightrider RPC deadline instead of LHR+timeout #6802

Open
JoshKNYC opened this issue Dec 6, 2018 · 13 comments
Open

Lightrider RPC deadline instead of LHR+timeout #6802

JoshKNYC opened this issue Dec 6, 2018 · 13 comments

Comments

@JoshKNYC
Copy link

JoshKNYC commented Dec 6, 2018

We have never been able to run a successful measurement for any other page on our site. We used to receive the Error: 500, now we're seeing other issues. Example:
Error: Lighthouse returned error: RPC::SERVER_ERROR: Client could not parse server reply; initialization error is: ''

Here is a sample url from our site: https://www.techlicious.com/tip/how-to-delete-your-old-facebook-account/

@robdodson
Copy link
Contributor

@ebidel does that sound like a LR error?

@ebidel ebidel transferred this issue from GoogleChrome/web.dev Dec 14, 2018
@ebidel
Copy link
Contributor

ebidel commented Dec 14, 2018

Verified that the LH API times out on that URL. Looks like the backend is hitting the 60s timeout limit.

@exterkamp
Copy link
Member

Instrumented this site in devtools and it seems like it never calms down on the main thread work:
image
Which definitely causes LH to wait for a long time for a quiet period. In this case it seems to take ~80 seconds to run on LR, which is well above the 60s timeout. I don't think there's much we can do from our end, we have to wait for main thread quiet periods in order to run LH, and there doesn't seem to be any in this page load within our timeouts. @patrickhulce might have some more context.

@patrickhulce
Copy link
Collaborator

Yikes, that seems like a case where we should be killing JS and returning our new "page hung" error instead. Outcome to the user probably isn't that different other than the error message.

@JoshKNYC
Copy link
Author

If I run this watching resources through Chrome Task Manager, I'm not seeing the constant CPU activity. Page loads, then CPU drops off to zero (one time it did keep running with significant usage, culprit was doubleclick.net in the Task Manager). Any sense for why Chrome Task Manager would show different CPU activity than LH/LR?

image

@exterkamp
Copy link
Member

Lighthouse uses the tracing data from Chrome Devtools to analyze page performance, which is more fine grain than the overall task manager footprint. To look at this data without lighthouse consult this. I used the performance panel in devtools to look at the JS activity for this site vs a sligthly more quiet site.
Flame chart for https://www.techlicious.com/tip/how-to-delete-your-old-facebook-account/:
image
Flame chart for https://amazon.com:
image

Techlicious never seems to calm down on the JS calls. (Seems like some Timers keep firing forever in rapid succession maybe?)
image
This makes it so that LH can not finish analyzing the page, therefore web.dev and pagespeed insights will timeout.

Hope this helps.

@paulirish
Copy link
Member

@JoshKNYC this is something we'll look into.

We need to understand where in the LR run this gets to. We shouldn't hit DEADLINE_EXCEEDED.

@paulirish paulirish added the P1 label Dec 17, 2018
@paulirish paulirish assigned exterkamp and unassigned ebidel Dec 17, 2018
@paulirish paulirish changed the title Constant errors running measurement Lightrider RPC deadline instead of LHR+timeout Dec 17, 2018
@JoshKNYC
Copy link
Author

FWIW, I suspect the issue may be related to ad refresh.

@JoshKNYC
Copy link
Author

JoshKNYC commented Mar 6, 2019

@JoshKNYC this is something we'll look into.

We need to understand where in the LR run this gets to. We shouldn't hit DEADLINE_EXCEEDED.

Is there any update on this issue? We're having the same problem now with Pagespeed Insights. The error message gets thrown after 25 seconds, so doesn't seem timeout related unless you've shortened your timeout from 60 seconds.

@exterkamp
Copy link
Member

You get a DEADLINE_EXCEEDED after 25 seconds? That is definitely not expected, the timeout is still 60s.

No updates on this yet unfortunately 🙁

@JoshKNYC
Copy link
Author

Error we see is the same as in my first post "Lighthouse returned error: RPC::SERVER_ERROR: Client could not parse server reply; initialization error is: ''.

It was Google devs above who suggested this is a timeout issue with DEADLINE_EXCEEDED. However, we're seeing the error I referenced consistently at 25 seconds, which suggests a fixed timeout on your end or some process that kicks off on our end at 25 seconds that kills your process. Though we have no idea what that would be on our side, and the error gives us nothing to go on.

@Sh4d0wHunt3rX

This comment has been minimized.

@Sh4d0wHunt3rX

This comment has been minimized.

This was referenced Jun 6, 2019
@paulirish paulirish added P2 and removed P1 labels Jan 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants