Skip to content

Segfault in TLSWrap in v5.5.0 and master. #5108

Description

@ChALkeR
Program received signal SIGSEGV, Segmentation fault.
0x000000000152127a in node::TLSWrap::IsAlive (this=0x1eb37f0) at ../src/tls_wrap.cc:521
521       return ssl_ != nullptr && stream_->IsAlive();
(gdb) bt
#0  0x000000000152127a in node::TLSWrap::IsAlive (this=0x1eb37f0) at ../src/tls_wrap.cc:521
#1  0x0000000001522fb6 in node::StreamBase::GetFD<node::TLSWrap> (key=..., args=...) at ../src/stream_base-inl.h:75
#2  0x0000000000c75829 in v8::internal::PropertyCallbackArguments::Call (this=0x7fffffffbf90, f=0x1522f64 <node::StreamBase::GetFD<node::TLSWrap>(v8::Local<v8::String>, v8::PropertyCallbackInfo<v8::Value> const&)>, arg1=...)
    at ../deps/v8/src/arguments.cc:86
#3  0x000000000118752c in v8::internal::Object::GetPropertyWithAccessor (it=0x7fffffffc1d0, language_mode=v8::internal::SLOPPY) at ../deps/v8/src/objects.cc:891
#4  0x00000000011869d0 in v8::internal::Object::GetProperty (it=0x7fffffffc1d0, language_mode=v8::internal::SLOPPY) at ../deps/v8/src/objects.cc:706
#5  0x00000000012d93e8 in v8::internal::GetOwnProperty (isolate=0x1dfbce0, obj=..., name=...) at ../deps/v8/src/runtime/runtime-object.cc:236
#6  0x00000000012d96e5 in v8::internal::__RT_impl_Runtime_GetOwnProperty (args=..., isolate=0x1dfbce0) at ../deps/v8/src/runtime/runtime-object.cc:259
#7  0x00000000012d959f in v8::internal::Runtime_GetOwnProperty (args_length=2, args_object=0x7fffffffc3b0, isolate=0x1dfbce0) at ../deps/v8/src/runtime/runtime-object.cc:253

Edit: updated, line numbers are against current master (1124de2) now.

Current master, v4.2.6, v5.5.0 are affected. Bisect points at 75930bb.

It crashes at tls_wrap.cc#L521.

/cc @indutny

Testcase (looks like a race to me, not guaranteed to reproduce everywhere):

'use strict';

var bhttp = require('bhttp');

var endpoint = 'https://api.npmjs.org/downloads/point/last-month/';
var group = '0,1,2,3,4,5,6,7,8,9,10,11,13,28,34,42,58,66,69,88,99,100,101,102,110,123,200,233,300,301,302,360,400,403,404,422,500,520,531,625,666,824,999,1024,1129,1212,1234,1314,1664,1985,2014,2015,2016,2048,2112,4000,7239,8583,9000,9292,12306,78579,1771278,20151203,540269584,0.0.1,0.workspace,001,001_skt,001_test,007,008-somepackage,009,01,01-simple,0126af95c0e2d9b0a7c78738c4c00a860b04acc8,06_byvoidmodule,0flux,0latency,0model,0s,0x21,0x23,1_modules,1_modules_test,1-1-help-desk-system,1-liners,1-wire-js,1.0.1,1.0.2,100-prisoners,101-es6,101-tomekwi,10119-dep,10119-subdep,10bis,10bisjs,10cartsharing,10er10,10tcl,11-packagemath,11-packagename,11zgit-fs,11znode-meta,11zsimple-mime,11zstack,11zwheat,12-03-2014-michelle-speak,12-3-14_breana-gonzales_speak,123test,1257-server,127-ssh,127.0.0.1,12byvoidmodule,12env,12factor-config,12factor-dotenv,12factor-log,16pixels,17t,18f-contrib-web-design-standards,192.168.0.1,1and1,1batch,1bit,1bit-chart-bars,1broker,1campus_nodedsa,1css,1pass,1password,1password-manager,1password2pass,1pif-to-csv,1pif-to-keepass,1px,1rm,1sc-api,1st_test_yamineo,1stand15th,1t,1vk,2-sat,2-ways-binding-example,2015-cse218-group5-algorithm,201508ajax,2048.io,20lines-chatroom,21828e4e,23andme,23andme-node,23query,24point,255kb-meteor-status-client-side,256colors,27bslash6-module,28.io-angularjs,28.io-nodejs,2b,2captcha,2cca,2ch,2ch-trip,2checkout-node,2co,2co-client,2csv,2d-array,2d-bounds,2d-context,2d-css-matrix-parse,2d-point,2d-polygon-area,2d-polygon-boolean,2d-polygon-contains-polygon,2d-polygon-self-intersections,2d-quadtree,2d-quadtree-js,2dgeometry,2dmap,2dollars,2dpixels-canvas,2dpixels-terminal,2e,2fa,2gis,2gis-api,2gis-project-loader,2gl,2go,2kenizer,2lemetry,2mao_fristbao,2pi-calc,2pi-paging,2pi-player,2pi-scale,2pl,2pl-party,2r-button,2r-image,2r-stepper,2vdom,2way-router,3-3somepack,3-way-merge,3.14,3000-words-list,31i73-class,34322fsdf4sddddaq1,352-phantom,352-uber,352-wascally,360class.jansenhm,360proxy,360safe,360se,37-pieces-of-flair,39ae-blog,39ae-core,39f-callbacks,39f-meta,39f-socket.io,39f-socket.io-auth,39f-socket.io-auth-local,39f-socket.io-auth-sm-redis,3c,3d-camera-core,3d-extensions,3d-preview,3d-print-price-calculator,3d-view,3d-view-controls,3dBinPack,3dcss,3drotate,3ds,3dstojs,3dsub,3duf,3five-shopify-theme,3kenizer,3loc,3m5-coco,3net.js,3p,3pc,3point,3s,3scale,3scale_senico,3scale-lambda,3scale-senico,3taps,3vot,3vot-clay,3vot-cli,3vot-cloud,3vot-cors,3vot-db,3vot-js-salesforce,3vot-model,3vot-salesforce-proxy,3vot-spine-salesforce,3w,3x3-equation-solver,404-pagelet,404project,40xda,42-cent,42-cent-authorizenet,42-cent-base,42-cent-braintree,42-cent-mock,42-cent-model,42-cent-nmi,42-cent-omise,42-cent-payflow,42-cent-paypal,42-cent-rocketgate,42-cent-stripe,42-cent-util,42-cent-virtualmerchant,42-cent-worldpay,42-cli,42am-team,47pages-keystone,4b82,4chan,4chan-downloader,4chan-js,4chan-optimize,4chanjs,4dlcd,4do,4dstudio-localserver,4each,4fe-reactui,4fe-sass-mixins,4front,4front-apphost,4front-cli,4front-ldap-auth,4front-logger,4front-s3-deployments,4game-server,4m,4meFirst-github-example,4p_template,4pm-cli,4q,4screens-permissions,4search,4shared,4sq,4square-venues,5-best-rappers-of-all-time,500-pagelet,500px,500tech-react-select,51degrees,53cal-jp-scraper,53test_package,58replace,5lack,5rolli-story-client,5rolli-time-summarizer,5rolli-workflowy2trello,5to6,5to6-codemod,6-to-library,600px,60fps-scroll-element,60frames-coding-standards,64bigint,6bin,6brain,6lowpan,6pm,6px,6sense,6to5,6to5-browserify,6to5-brunch,6to5-connect,6to5-core,6to5-jest,6to5-library-boilerplate,6to5-loader,6to5-runtime,6to5ify,6xs,70-480-chapter2-3-05d-math_example,73s,7480_math_example,74js,75.weekly,7daysnode,7digital-api,7digital-cli,7f,7geese,7niu,7pass-node-sdk,7z,7z-stream,7zip,7zjs,8-files,80cents,89hi,8art,8bit,8bits,9292ov,99designs-tasks,99designs-tasks-slack-bot,9e-sass-lint,9gag-scraper,9wmuypsg,a,A,a_bad_module,a_mock,a_prompt,a_r_d_e_i-hello,a_simple_module,a_test,a_watcher,a-big-triangle';

bhttp.get(endpoint + group).then(function(x) {
    setImmediate(function() {
        console.log(x);
    })
});

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    c++Issues and PRs that require attention from people who are familiar with C++.tlsIssues and PRs related to the tls subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions