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

Large number of unhandled Promise rejections on #168

Open
bmomberger-bitovi opened this issue Dec 29, 2017 · 1 comment
Open

Large number of unhandled Promise rejections on #168

bmomberger-bitovi opened this issue Dec 29, 2017 · 1 comment

Comments

@bmomberger-bitovi
Copy link
Contributor

When I run a QUnit test suite on certain packages, if being served by testee --server, I get the following error a few seconds after the suite finishes:

testee.min.js:500 Unhandled promise rejection Error: Timeout of 5000ms exceeded calling api/suites::patch

The problem is I get this error an unbounded number of times, as fast as the script engine will allow, and it pegs CPU on the page and the dev tools.

This may have something to do with how fast the test suite finishes: I see it happening on very short tests like can-set and can-dom-events, but large suites like can-stache and can-stache-bindings don't seem to have this problem.

@andrejewski
Copy link
Contributor

Debugging info:

  • I used can-dom-events as a baseline
  • The timeouts do make sense as the problem seems to be that packets sent from the client, at some point, are no longer acknowledged by the server (which can be seen as a build up in SocketIO's connection.acks callbacks).
  • Setting breakpoints seemed to effect at what point the first timeout occurred. ::create, ::patch, api/suite, and api/run combos were common.
  • I attempted to upgrade feathers to use featherjs/client, this had no effect.
  • Looking at the server-side there are no apparent differences to me between running as a server and running as a one-off besides cache-busting/server-side timeout.
  • The Devtools show that WS connections are stalled and then receiving data from the server, most often a small stall and over a minute of receiving data (note: this is "Content Download", not "Waiting")
  • I am able to slow the exceptions by wrapping Service[method] calls in a more localized error. This only spaces out the exceptions by the 5 second delay, not addressing the root problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants