-
Notifications
You must be signed in to change notification settings - Fork 53
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
"AssertionError: undefined (object) is required" after "socket hang up" #261
Comments
We observed this internally under OPS-2074, where this resulted in a lackey crash like this:
From the core file, I found this JavaScript stack frame where we blew the assertion:
The error object is this one:
So there's our "socket hang up". The readError() function that blew the assertion looks like this:
We blew the assertion at line 387, but the code obviously handles the case that What happened here is that before node-manta@3.0.0 (and specifically #246), we were on assert-plus@0.1, where By the way, this is easy to reproduce locally. I first set up a TCP server with nc(1):
Then I use
At this point, the request headers show up in the "nc" terminal. Now hit CTRL-D or CTRL-C over there to kill "nc", and "mls" reports:
|
mrm -r
Note that the ECONNRESET is specious. Node assigns this error code to a "socket hang up" error in the HTTP module, which appears to mean any HTTP protocol-level error (e.g., reading end-of-stream without any response headers). There's no reason to believe that ECONNRESET was returned by a socket operation here. |
…ang up" Reviewed by: Cody Peter Mello <cody.mello@joyent.com> Reviewed by: Brian Bennett <brian.bennett@joyent.com> Approved by: Cody Peter Mello <cody.mello@joyent.com>
I've seen this a few times on
mrm -r
of a dir with many entries. E.g.:where that Bunyan log line is:
The code path hitting that assertion should be corrected. I'm not sure if that is getting in the way of retries.
The text was updated successfully, but these errors were encountered: