Closed
Description
- Version: v8.9.1
- Platform: Linux zapp 4.10.0-40-generic README: fix prerequisite list formatting #44-Ubuntu SMP Thu Nov 9 14:49:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
- Subsystem:
tls
I've filed a repo with a full repro and details here: https://github.com/pimterry/node-tls-crash.
The specific code that's crashing is https://github.com/pimterry/node-tls-crash/blob/master/proxy.js
To summarize:
- The repro is a minimal HTTPS-intercepting proxy: it uses
new TLSSocket
to handle incoming HTTP CONNECT sockets, usestls.connect
to create upstream connections, and pipes between the two. - Node aborts in under a minute with any serious web use (e.g. opening
https://cnn.com
in a browser a few times), with one of a variety of pointer errors, seemingly always inCRYPTO_free
. - I can reproduce this in
v8.9.1
,v6.12.0
andv9.2.0
- There's no native modules used here at all
- I've attached two example core dumps as releases on the repro repo: https://github.com/pimterry/node-tls-crash/releases
I've pulled this out of a larger project, and tried to shrink the repro down as much as possible. It's pretty small and standalone, but still not tiny tiny, as I haven't found a way to reproduce this without a real working browser session. Happy to shrink it further if you have any suggestions for doing so.