v8 crashes hard when setting property remoteAddress on wrapped TLS socketΒ #8854
Description
Activity
- addedtlsIssues and PRs related to the tls subsystem.Issues and PRs related to the tls subsystem.
on Sep 29, 2016 /cc @indutny
I also get the same
FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.error when doing this (same situation as above, but without setting theremateAddressvariable either):tls.createServer(tunnelAdminTlsOpts, function (tlsSocket) { ( thing.notDefined || thing.notDefinedEither ).oopsThisWontBeDefined(tlsSocket); });Which seems very much like it should throw an error in JS, not in V8.
Sidenote:
For reference, this is where the remote address is, if anyone needs it:
tlsSocket._handle._parent.owner.stream.remoteAddress@nodejs/crypto
I've tested in node v9.11.1 and this is still an issue.
If you'd like to get some ssl certs to test with you can click-click-next through the process here: https://greenlock.ppl.family/
I've tested in node v9.11.1 and this is still an issue.
@coolaj86 Would it be easy enough to test with 10.0.0? (9.x goes EOL in a couple months, but 10.x will be supported for another 2.5 years.)
Yep, still a problem in 10.0.0
r undefined s ::ffff:127.0.0.1 t ::ffff:127.0.0.1 node[4922]: ../src/node.cc:1379:void node::ReportException(node::Environment*, v8::Local<v8::Value>, v8::Local<v8::Message>): Assertion `!message.IsEmpty()' failed. 1: node::Abort() [node] 2: 0x87b6c5 [node] 3: 0x87c41a [node] 4: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [node] 5: node::FatalException(v8::Isolate*, v8::TryCatch const&) [node] 6: node::JSStream::DoWrite(node::WriteWrap*, uv_buf_t*, unsigned long, uv_stream_s*) [node] 7: node::TLSWrap::EncOut() [node] 8: node::TLSWrap::OnStreamRead(long, uv_buf_t const&) [node] 9: node::JSStream::ReadBuffer(v8::FunctionCallbackInfo<v8::Value> const&) [node] 10: v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [node] 11: 0xad62fa [node] 12: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [node] 13: 0x3e9fce0427d Aborted (core dumped)Reacted by Rich Trott- added a commit that references this issue
on May 22, 2018 - added a commit that references this issue
on Jul 27, 2026
When assigning
remoteAddressto atlsSocketthat is created from aDuplex, node crashes hard.I discovered this as part of the workaround for #8752
crash.js:It may be possible to slim this down a little further and still get it to crash if #8752 gets fixed... except that the
remoteAddressproperty would probably show up as expected and then I wouldn't be trying to write to it in the first place...