Skip to content
This repository has been archived by the owner on Mar 4, 2020. It is now read-only.

Update to iojs 2.3.1 #7

Closed
wants to merge 161 commits into from
Closed

Update to iojs 2.3.1 #7

wants to merge 161 commits into from

Conversation

frankhale
Copy link

Update to iojs v2.3.1. I had a lot of issues doing this, please let me know if this is correct.

rvagg and others added 30 commits June 1, 2015 14:08
This fixes a platform inconsistency between BSD and GNU `cp` where
`deps/npm` would be copied into a subdirectory of `test-npm` on Linux,
but not on OS X.

PR-URL: nodejs/node#1853
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
PR-URL: nodejs/node#1859
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Options have been moved into the NodeOptions class.
A new global, node_options now exists and is used
to access the options after the command line arguments
have been parsed.

PR-URL: nodejs/node#1804
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This reverts commit c0e7bf2.

There are a few edge cases that can cause a crash
and need to be properly handled.

PR-URL: nodejs/node#1862
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
 - `sh.css` already exists in `api_assets`
 - `sh_vim-dark.css` is unused, but used in the repo `node-website`
        now

Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Signed-off-by: Julien Gilli <julien.gilli@joyent.com>

PORT-FROM: joyent/node @ 0c50195
PR-URL: nodejs/node#1770
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Clarify that synchronous functions in fs with no return value return
undefined.

Specify that fs.openSync() returns an integer and fs.existsSync()
returns true or false.

Fixes: nodejs/node-v0.x-archive#9313

PR: nodejs/node-v0.x-archive#9359
Reviewed-By: Julien Gilli <julien.gilli@joyent.com>

PORT-FROM: joyent/node @ 51fe319
PR-URL: nodejs/node#1770
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>

Conflicts:
	doc/api/fs.markdown
PR-URL: nodejs/node#1858
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
The smalloc module is about to be deprecated and removed.  Remove the
add-on test now so it's not forgotten about in the upcoming purge.

PR-URL: nodejs/node#1835
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Remove the reference to net.Socket.verifyPeer().
That was removed in ea540c9 and was missed in the 032f80e.

Refer to the net.Socket instance by the .socket property.
This avoids unneeded confusion.
'.socket' is the variant that is used internally.

Add a markdown link to net.Socket.getPeerCertificate().

PR-URL: nodejs/node#1867
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs/node#1857
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Make sure all the stdout data is available before
performing the assertions.

Fixes: nodejs/node#944
PR-URL: nodejs/node#1868
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
PR-URL: nodejs/node#1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Remove unneeded functionality and tweak the generated output so we
can #include it in C++ source code.

This commit essentially reapplies the changes from commit e159073
("tools: customize mk-ca-bundle.pl") to the updated script.

PR-URL: nodejs/node#1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
This is the latest certdata.txt from [0], last updated on 2015-04-20.

[0] https://hg.mozilla.org/mozilla-central/raw-file/aa275ad846f1/security/nss/lib/ckfw/builtins/certdata.txt

PR-URL: nodejs/node#1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Update the list of root certificates in src/node_root_certs.h with
tools/mk-ca-bundle.pl.

PR-URL: nodejs/node#1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Enable encoding option on fs.createWriteStream.

PR-URL: nodejs/node#1844
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Exporting it seems like an oversight.  It's not safe to call once
V8 is running so there doesn't seem to be a point in exporting it
to add-ons.  Un-export it.

PR-URL: nodejs/node#1815
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
If the server is not accepting connections because maxConnections
is exceeded, the server should start accepting connections again
when a connection closes.

PR-URL: nodejs/node#1855
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
PR-URL: nodejs/node#1882
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
OpenSSL s_client introduces some delay on Windows. With all clients
running sequentially, this delay is big enough to break CI. This fix runs
the clients in parallel (unless the test includes renegotiation),
reducing the total run time.

Fixes: nodejs/node#1461
PR-URL: nodejs/node#1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Different servers must use different ports. Since we can count only on
common.PORT and common.PORT+1, run only 2 servers in parallel.

Fixes: nodejs/node#1461
PR-URL: nodejs/node#1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
When running in parallel, it is not easy to identify what server and
client failed when the test fails. This adds identifiers to all lines
of console output.

Fixes: nodejs/node#1461
PR-URL: nodejs/node#1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
For better performance of the test, the parent kills child processes
so as not to wait them to be ended.

Fixes: nodejs/node#1461
PR-URL: nodejs/node#1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

Fixes: nodejs/node#1461
PR-URL: nodejs/node#1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This improves the performance of openssl s_client on Windows and
gains several seconds to finish test-tls-server-verify.

Fixes: nodejs/node#1461
PR-URL: nodejs/node#1836
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This test was failing occasionally both locally and on CI. Switched
from using spawn to execFile for a more reliable test.

Fixes: nodejs/node#1837
PR-URL: nodejs/node#1840
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Fixes net-server-max-connections-close-makes-more-available
Handles connection 'error' event so the test ends.

PR-URL: nodejs/node#1881
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Fixes: nodejs/node-v0.x-archive#9310
PR-URL: nodejs/node#1889
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Revert "dgram: call send callback asynchronously" partially, since the
fix is now done in libuv.

Refs: nodejs/node#1313
Refs: libuv/libuv#371
PR-URL: nodejs/node#1889
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Trott and others added 27 commits June 22, 2015 12:00
PR-URL: nodejs/node#2015
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
PR-URL: nodejs/node#1996

Notable changes

* module: The number of syscalls made during a require() have been
  significantly reduced again (see #1801 from v2.2.0 for previous
  work), which should lead to a performance improvement
  (Pierre Inglebert) #1920.
* npm:
  - Upgrade to v2.11.2 (Rebecca Turner) #1956.
  - Upgrade to v2.11.3 (Forrest L Norvell) #2018.
* zlib: A bug was discovered where the process would abort if the
  final part of a zlib decompression results in a buffer that would
  exceed the maximum length of 0x3fffffff bytes (~1GiB). This was
  likely to only occur during buffered decompression (rather than
  streaming). This is now fixed and will instead result in a thrown
  RangeError (Michaël Zasso) #1811.
voted in to Node.js Foundation TSC in meeting on 2015-06-17

Closes: nodejs/node#1500
Closes: nodejs/node#1501
PR-URL: nodejs/node#2008
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: nodejs/node#1700
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
In configure, the --with-dtrace option only showed that it was true by
default on sunos. It is also true by default on darwin.

PR-URL: nodejs/node#2019
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
We need to hack the search paths of the require function so we can
load libraries from embedded applications without modifications of
node's module code.
On cygwin both stdout and stderr are treated as unknown file types, this fixes
them.
With this other projects would be possible to include node as a third
party library and embed a node engine in their applications.
This callback is called when loop's watcher queue changes, when polling
kqueue in new thread, we need to get notified when there are new events
needed to be watched.
The uv_err_name would return NULL on unknown system error, which then would
crash V8 by creating string from NULL.
We need to reference DSO constructors to make sure they can actually be
linked to the final binary, see http://git.io/DRIqCg.
This is now mainly for history reason.
@frankhale
Copy link
Author

This is not correct as some new 2.3.2 patches have creeped into this pull request. I'm going to close this and attempt to rebase against the actual 2.3.1 release.

@frankhale frankhale closed this Jun 23, 2015
codebytere pushed a commit that referenced this pull request Dec 12, 2017
Currently when running the test without an internet connection there are
two JavaScript test failures and one cctest. The cctest only fails on
Mac as far as I know. (I've only tested using Mac and Linux thus far).

This commit moves the two JavaScript tests to test/internet.

The details for test_inspector_socket_server.cc:

[ RUN      ] InspectorSocketServerTest.FailsToBindToNodejsHost
make[1]: *** [cctest] Segmentation fault: 11
make: *** [test] Error 2

lldb output:

[ RUN      ] InspectorSocketServerTest.FailsToBindToNodejsHost
Process 63058 stopped
* thread #1: tid = 0x7b175, 0x00007fff96d04384
* libsystem_info.dylib`_gai_simple + 87, queue =
* 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
* address=0x0)
    frame #0: 0x00007fff96d04384 libsystem_info.dylib`_gai_simple + 87
libsystem_info.dylib`_gai_simple:
->  0x7fff96d04384 <+87>: movw   (%rdx), %ax
    0x7fff96d04387 <+90>: movw   %ax, -0x2a(%rbp)
    0x7fff96d0438b <+94>: movq   %r13, -0x38(%rbp)
    0x7fff96d0438f <+98>: movq   0x18(%rbp), %rcx

(lldb) bt
* thread #1: tid = 0x7b175, 0x00007fff96d04384
* libsystem_info.dylib`_gai_simple + 87, queue =
* 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
* address=0x0)
  * frame #0: 0x00007fff96d04384 libsystem_info.dylib`_gai_simple + 87
    frame #1: 0x00007fff96cfe98b libsystem_info.dylib`search_addrinfo +
179
    frame #2: 0x00007fff96cfafef libsystem_info.dylib`si_addrinfo + 2255
    frame #3: 0x00007fff96cfa67b libsystem_info.dylib`getaddrinfo + 179
    frame #4: 0x00000001017d8888
cctest`uv__getaddrinfo_work(w=0x00007fff5fbfe210) + 72 at
getaddrinfo.c:102
    frame #5: 0x00000001017d880e
cctest`uv_getaddrinfo(loop=0x000000010287cb80, req=0x00007fff5fbfe1c8,
cb=0x0000000000000000, hostname="nodejs.org", service="0",
hints=0x00007fff5fbfe268) + 734 at getaddrinfo.c:192
    frame #6: 0x000000010171f781
cctest`node::inspector::InspectorSocketServer::Start(this=0x00007fff5fbfe658)
+ 801 at inspector_socket_server.cc:398
    frame #7: 0x00000001016ed590
cctest`InspectorSocketServerTest_FailsToBindToNodejsHost_Test::TestBody(this=0x0000000105001fd0)
+ 288 at test_inspector_socket_server.cc:593

I'm not sure about the exact cause for this but when using a standalone
c program to simulate this it seems like when the ai_flags
`AI_NUMERICSERV` is set, which is done in inspector_socket_server.cc
line 394, the servname (the port in the FailsToBindToNodejsHost test) is
expected to be a numeric port string to avoid looking it up in
/etc/services. When the port is 0 as is it was before this commit the
segment fault occurs but not if it is non-zero.

PR-URL: nodejs/node#16255
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.