Skip to content
Permalink
Branch: master
Commits on Mar 24, 2019
  1. test: strengthen test-worker-prof

    gireeshpunathil committed Mar 12, 2019
    Force main and worker to stay for some deterministic time
    Add some more validation check around profile file generation
    
    Fixes: #26401
    PR-URL: #26608
    
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Commits on Mar 18, 2019
  1. child_process: ensure message sanity at source

    gireeshpunathil committed Dec 2, 2018
    Error messages coming out of de-serialization at the send target
    is not consumable. So detect the scenario and fix it at the send source
    
    Ref: #20314
    
    PR-URL: #24787
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Commits on Mar 16, 2019
  1. src: shutdown node in-flight

    gireeshpunathil committed Jun 12, 2018
    This commit introduces a `node::Stop()` API.
    
    An identified use case for embedders is their ability to tear down
    Node while it is still running (event loop contain pending events)
    
    Here the assumptions are that (i) embedders do not wish to resort to
    JS routines to initiate shutdown (ii) embedders have the Environment
    handle handy. (iii) embedders stop Node through a second thread.
    
    Fixes: #19365
    Refs: nodejs/user-feedback#51
    
    PR-URL: #21283
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Michael Dawson <Michael_Dawson@ca.ibm.com>
Commits on Mar 8, 2019
  1. src: cleanup in all return paths in node::Start

    gireeshpunathil committed Mar 6, 2019
    `node::Start` creates a number of artifacts in its scope which are
    cleaned up in the exit path, but there is at least one path where the
    cleanups are bypassed. Force all paths follow the exit sequence.
    
    Refs: #21283
    PR-URL: #26471
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Commits on Mar 1, 2019
  1. worker: refactor thread life cycle management

    gireeshpunathil authored and addaleax committed Feb 17, 2019
    The current mechanism of uses two async handles, one owned by the
    creator of the worker thread to terminate a running worker,
    and another one employed by the worker to interrupt its creator on its
    natural termination. The force termination piggybacks on the message-
    passing mechanism to inform the worker to quiesce.
    
    Also there are few flags that represent the other thread's state /
    request state because certain code path is shared by multiple
    control flows, and there are certain code path where the async
    handles may not have come to life.
    
    Refactor into an AsyncRequest abstraction that exposes routines to
    install a handle as well as to save a state.
    
    PR-URL: #26099
    Refs: #21283
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
Commits on Feb 28, 2019
  1. test: eliminate port collision

    gireeshpunathil committed Feb 25, 2019
    In test test-cluster-net-listen-ipv6only-rr, the cluster member that
    listens to `any` port actually has the potential to `grab` any port
    from the environment which when passed onto the master causes
    collision when it tries to listen on.
    
    Moving the test to sequential alone is not sufficient as the cluster
    member can in theory catch on to the admin ports on the host.
    
    Assigning static port alone is also not sufficient, as it can interfere
    with other running tests in the parallel category which would be mostly
    running with `port: any` fashion.
    
    So move to sequential, and use a static port.
    
    Fixes: #25813
    PR-URL: #26298
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
  2. src: track memory retainer fields

    gireeshpunathil committed Feb 18, 2019
    If retainers are embedded in retainers, direct tracking
    those lead to double tracking. Instead, use a special tracker
    that adjusts the tracking for the container object.
    
    PR-URL: #26161
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
Commits on Feb 21, 2019
  1. src: make `node::SignalWrap::OnSignal` into lambda

    gireeshpunathil committed Feb 18, 2019
    PR-URL: #26184
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  2. src: simplify loop arithmetic in `GetCPUInfo`

    gireeshpunathil authored and danbev committed Feb 18, 2019
    Cache the repeated operations and reuse; potentially generating
    efficient code in some platforms, and improving readability.
    
    PR-URL: #26183
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
Commits on Feb 16, 2019
  1. worker: remove duplicate call

    gireeshpunathil committed Feb 14, 2019
    `Environment::RunCleanup` is invoked twice in a row,
    remove one.
    
    PR-URL: #26104
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Commits on Feb 14, 2019
  1. src: use more stable cast where possible

    gireeshpunathil committed Feb 12, 2019
    PR-URL: #26052
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Commits on Feb 11, 2019
  1. test: capture stderr from child processes

    gireeshpunathil committed Feb 8, 2019
    If the test fails with errors from the child commands,
    there is no debug info. Suppliment the stderr data
    so that we know what to look for.
    
    Refs: #25988
    PR-URL: #26007
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Commits on Feb 8, 2019
  1. src: nullcheck on trace controller

    gireeshpunathil authored and addaleax committed Feb 5, 2019
    Insert a NULLCHECK prior to return. Ideally we do this in the caller,
    but the TraceController object is somewhat special as:
    1. It is accessed by most threads
    2. It's life cycle is managed by Agent::Agent
    3. It's getter is invoked through Base Methods (upstream)
    
    Refs: #25814
    
    PR-URL: #25943
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Masashi Hirano <shisama07@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
  2. src: make watchdog async callback a lambda

    gireeshpunathil committed Feb 5, 2019
    `Watchdog::Async` features only once for the
    async callback, so make it a lambda.
    
    PR-URL: #25945
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  3. test: exit sequence sanity tests

    gireeshpunathil committed Dec 17, 2018
    Execute JS code in worker through same vm context
    while exiting from the main thread at arbitrary
    execution points, and make sure that the workers
    quiesce without crashing.
    
    `worker_threads` are not necessarily the subject of
    testing, those are used for easy simulation of
    multi-thread scenarios.
    
    Refs: #25007
    
    PR-URL: #25085
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
Commits on Feb 6, 2019
  1. child_process: close pipe ends that are re-piped

    gireeshpunathil committed Jun 8, 2018
    when t0 and t1 are spawned with t0's outputstream [1, 2] is piped into
    t1's input, a new pipe is created which uses a copy of the t0's fd.
    This leaves the original copy in Node parent, unattended. Net result is
    that when t0 produces data, it gets bifurcated into both the copies
    
    Detect the passed handle to be of 'wrap' type and close after the
    native spawn invocation by which time piping would have been over.
    
    Fixes: #9413
    Fixes: #18016
    
    PR-URL: #21209
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
Commits on Jan 29, 2019
  1. test: exit sequence sanity tests

    gireeshpunathil committed Dec 17, 2018
    Execute many module loads in worker in a loop
    while exiting from the main thread at arbitrary
    execution points, and make sure that the workers
    quiesce without crashing.
    
    `worker_threads` are not necessarily the subject of
    testing, those are used for easy simulation of
    multi-thread scenarios.
    
    Refs: #25007
    PR-URL: #25083
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
Commits on Jan 23, 2019
  1. test: revoke flaky designation for tests

    gireeshpunathil committed Jan 21, 2019
    A number of tests that were `flaked` recently are proved
    to have failing reason identified in
    #25007 and resolution
    identified in #25061
    
    Revoke flaky designation of all these tests as the said
    PR is landed.
    
    PR-URL: #25611
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Commits on Jan 20, 2019
  1. test: relax chunk count expectations

    gireeshpunathil committed Jan 9, 2019
    In parallel/test-fs-read-stream-concurrent-reads.js the number
    of data chunks used is being tested when few concurrent reads
    are performed. The number of chunks can fluctuate based on the
    number of concurrent reads as well as the data that was read in
    one shot. Accommodate these variations in the test.
    
    Fixes: #22339
    
    PR-URL: #25415
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Commits on Jan 18, 2019
  1. src: merge into core

    gireeshpunathil committed Sep 5, 2018
    Make node-report part of core runtime because:
    
    1. When enabled, node-report significantly helps root cause various
    types of problems, including support issues sent to the various repos
    of the Node.js organization.
    
    2. The requirement of explicitly adding the dependency to node-report
    in user applications often represents a blocker to adoption.
    
    Major deviation from the module version of the node-report is that the
    report is generated in JSON format, as opposed to human readable text.
    
    No new functionalities have been added, changes that are required for
    melding it as a built-in capability has been affected on the module
    version of node-report (https://github.com/nodejs/node-report)
    
    Co-authored-by: Bidisha Pyne <bidipyne@in.ibm.com>
    Co-authored-by: Howard Hellyer <hhellyer@uk.ibm.com>
    Co-authored-by: Jeremiah Senkpiel <fishrock123@rocketmail.com>
    Co-authored-by: Julian Alimin <dmastag@yahoo.com>
    Co-authored-by: Lakshmi Swetha Gopireddy <lakshmigopireddy@in.ibm.com>
    Co-authored-by: Manusaporn Treerungroj <m.treerungroj@gmail.com>
    Co-authored-by: Michael Dawson <michael_dawson@ca.ibm.com>
    Co-authored-by: Richard Chamberlain <richard_chamberlain@uk.ibm.com>
    Co-authored-by: Richard Lau <riclau@uk.ibm.com>
    Co-authored-by: Sam Roberts <vieuxtech@gmail.com>
    Co-authored-by: Vipin Menon <vipinmv1@in.ibm.com>
    
    PR-URL: #22712
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Michael Dawson <Michael_Dawson@ca.ibm.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Commits on Dec 30, 2018
  1. test: regression test for uv threadpool congestion

    gireeshpunathil committed Sep 26, 2018
    Validate that massive dns lookups do not block filesytem I/O
    (or any fast I/O for that matter).
    Prior to libuv/libuv#1845 few back-to-back dns
    lookup were sufficient to engage libuv threadpool workers in a blocking
    manner, throttling other work items that need the pool. this test acts
    as a regression test for the same.
    
    Start slow and fast I/Os together, and make sure fast I/O can complete
    in at least in 1/100th of time for slow I/O.
    
    Refs: libuv/libuv#1845
    Refs: #8436
    
    PR-URL: #23099
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
Commits on Dec 28, 2018
  1. test: mark two tests as flaky in AIX

    gireeshpunathil committed Dec 19, 2018
    sequential/test-inspector-debug-end and
    parallel/test-child-process-execfile
    
    Off late these have been failing in AIX. Debugging core dump
    suggested that this is a side effect of exit-race that is
    described in #25007
    Mart these  as flaky in AIX until that is resolved.
    
    Refs: #25047
    Refs: #25029
    
    PR-URL: #25126
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Commits on Dec 20, 2018
  1. src: port GetLoadedLibraries for freebsd

    gireeshpunathil committed Dec 18, 2018
    the dl_iterate_phdr and its associated data structure in Linux
    are fully available in freebsd as well, so opening it up for
    freebsd means just opening up the platform specific identifiers.
    
    Refs: #24825
    
    PR-URL: #25106
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Commits on Dec 14, 2018
  1. src: add GetLoadedLibraries routine

    gireeshpunathil authored and danbev committed Dec 4, 2018
    Add a static function GetLoadedLibraries under
    NativeSymbolDebuggingContext abstraction that provides a list of
    shared objects - either the current process depended on or loaded.
    
    PR-URL: #24825
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Commits on Dec 4, 2018
  1. doc: add a note on usage scope of AliasedBuffer

    gireeshpunathil authored and Trott committed Nov 29, 2018
    Explain usage context and scope of AliasedBuffer API and its
    function in the C++ style guide. Provide an example code.
    
    Fixes: #22977
    
    PR-URL: #24724
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
  2. test: add flag scenario in test-fs-write-file-sync

    gireeshpunathil authored and Trott committed Dec 1, 2018
    fs.writeFileSync takes flag param to define the file opening
    semantics. Add a scenario that covers flags as well.
    
    PR-URL: #24766
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  3. doc: hide undocumented object artifacts in async_hooks

    gireeshpunathil authored and Trott committed Nov 30, 2018
    The examples show `process.stdout.fd` as a means to use synchronous
    writes in async_hooks context. However this is an undocumented field,
    so showcase a file write example instead.
    
    Fixes: #22873
    
    PR-URL: #24741
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Commits on Dec 1, 2018
  1. test: mark test_threadsafe_function/test as flaky

    gireeshpunathil committed Nov 29, 2018
    The test fails consistently on windows-fanned with vs2017.
    mark it as flaky while the issue is being progressed, and
    to keep CI green / amber.
    
    Ref: #23621
    PR-URL: #24714
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
Commits on Nov 29, 2018
  1. test: mark test-vm-timeout-escape-nexttick flaky

    gireeshpunathil authored and Trott committed Nov 29, 2018
    This is a known failure so mark it such, so that
    CI is green / amber while the issue is being progressed.
    
    PR-URL: #24712
    Refs: #24620
    Refs: #24120
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Commits on Nov 28, 2018
  1. lib: rearm pre-existing signal event registrations

    gireeshpunathil authored and Trott committed Nov 26, 2018
    process.on('somesignal', ...) semantics expect the process to catch the
    signal and invoke the associated handler. `setupSignalHandlers` perform
    the additional task of preparing the libuv signal handler and associate
    it with the event handler. It is possible that by the time this is
    setup there could be pre-existing registrations that pre-date this setup
    in the boot sequence.
    
    So rearm pre-existing signal event registrations to get upto speed.
    
    Ref: #22712 (comment)
    
    PR-URL: #24651
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Commits on Oct 12, 2018
  1. src: improve SSL version extraction logic

    gireeshpunathil authored and addaleax committed Sep 24, 2018
    The openssl version as defined in ssl libraries is complex.
    The current logic to extract the major.minor.patch format
    uses C semantics to loop through the text and search for
    specific patterns. Use C++ string to tidy it up.
    
    PR-URL: #23050
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Commits on Oct 1, 2018
  1. src: unique_ptrs in few lambdas

    gireeshpunathil authored and danbev committed Sep 27, 2018
    Few lambdas in src/node_file.cc uses conventional
    pointers, turn those into unique_ptr semantics
    
    PR-URL: #23124
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Commits on Sep 28, 2018
  1. lib: reword help text for clarity

    gireeshpunathil committed Sep 22, 2018
    modified the `-` CLI option help text for
    improved readability.
    
    PR-URL: #23016
    
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  2. src: refactor crypto code with RAII cleanup

    gireeshpunathil committed Sep 22, 2018
    use more idiomatic expressions with RAII primitives,
    instead of old style goto
    
    PR-URL: #23014
    
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Commits on Sep 25, 2018
  1. src: fix a typo in the comment

    gireeshpunathil authored and addaleax committed Sep 25, 2018
    withing -> within
    
    PR-URL: #23078
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Older
You can’t perform that action at this time.