isaacs [Wed, 27 Feb 2013 00:42:47 +0000 (16:42 -0800)]
test: Fix debugger repl tests
This makes the output of simple/test-debugger-repl and
simle/test-debugger-repl-utf8 mirror an actual debugger session, so it's
a bit easier to reason about.
Also, it uses the same code for both, and fixes it so that it doesn't
leave zombie processes lying around when it crashes.
Run 1000 times without any failures or zombies.
isaacs [Tue, 26 Feb 2013 01:46:48 +0000 (17:46 -0800)]
test: catch break in simple/test-debugger-client
Handle break events that come out sometimes, by telling it to continue.
Also, send the child a SIGTERM when it times out.
isaacs [Wed, 27 Feb 2013 00:36:56 +0000 (16:36 -0800)]
core: Use a uv_signal for debug listener
Starting the debugger directly in the SIGUSR1 signal handler results in
a malloc lock contention ~1% of the time. It hangs the test, which is
annoying on a daily basis to all of us, but it also is pretty terrible
if you actually want to debug a node process that has gone sideways.
Credit to @bnoordhuis for most of this. I just added the unref which
keeps it from messing up the event loop for other stuff.
Ben Noordhuis [Tue, 26 Feb 2013 19:30:12 +0000 (20:30 +0100)]
deps: upgrade libuv to a0c1d84
Ben Noordhuis [Tue, 26 Feb 2013 18:38:15 +0000 (19:38 +0100)]
test: merge environment, don't overwrite
The CI system requires that some environment variables are set so merge
our variables into the current environment instead of blindly replacing
it.
This will probably have to be repeated for other tests. C'est la vie.
yangguo@chromium.org [Tue, 18 Dec 2012 09:48:51 +0000 (09:48 +0000)]
v8: Hardfloat does not imply VFPv3, only VFPv2.
Raspberry Pi is an example.
BUG=v8:2393
Review URL: https://chromiumcodereview.appspot.com/
11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
This is a backport of v8/v8@
44419ad089b729a1aab4a5f27c0833e2ce69d28b.
Ben Noordhuis [Tue, 15 Jan 2013 22:42:23 +0000 (23:42 +0100)]
v8: work around String::WriteAscii segfault
See http://code.google.com/p/v8/issues/detail?id=2493 for details.
This commit reapplies 9668df8. The issue has been fixed upstream but
reappeared after last night's downgrade to V8 3.14.5 in commit b15a10e.
Conflicts:
test/simple/test-buffer.js
Timothy J Fontaine [Tue, 26 Feb 2013 06:19:16 +0000 (22:19 -0800)]
test: optionally set common.PORT via env variable
Andrei Sedoi [Tue, 26 Feb 2013 14:28:53 +0000 (16:28 +0200)]
mips: fix openssl build
Timothy J Fontaine [Tue, 26 Feb 2013 06:51:00 +0000 (22:51 -0800)]
build: automatically add tag for nightly builds
Ben Noordhuis [Tue, 26 Feb 2013 14:17:26 +0000 (15:17 +0100)]
http: fix case in 505 response status line
Fixes #4850.
Fedor Indutny [Tue, 26 Feb 2013 08:16:35 +0000 (08:16 +0000)]
v8: fix postmortem and dtrace helper build
Regardless of previous @bnoordhuis' changes
Fedor Indutny [Tue, 26 Feb 2013 07:57:12 +0000 (07:57 +0000)]
Revert "sunos: unbreak build after v8 downgrade"
This reverts commit
f80f3c5f62a3955636c1af1872ef9539a0b01cb0.
isaacs [Mon, 25 Feb 2013 16:30:05 +0000 (08:30 -0800)]
bench: Make http easier to profile
Do not run the http/simple.js server in a child process.
Fix #4831
Ben Noordhuis [Tue, 26 Feb 2013 00:21:23 +0000 (01:21 +0100)]
sunos: unbreak build after v8 downgrade
Commit 3d67f89 ("fix generation of v8 constants on freebsd") is an
unfortunate victim of this rollback.
Revert "dtrace: fix generation of v8 constants on freebsd"
Revert "dtrace: More style"
Revert "dtrace: Make D style more D-ish"
Revert "dtrace: x64 ustack helper"
Revert "dtrace: fix style in ustack helper"
Revert "dtrace: SeqAsciiString was renamed to SeqOneByteString in v8"
This reverts commit
3d67f895521cf905922d20af9b03e5c73c363868.
This reverts commit
321b8eec08d445d60a4149bfa71959936fc189c6.
This reverts commit
38df9d51a229e1d74b2d1c2835353f07c784cfc3.
This reverts commit
f9afb3f01002e5667a0df80ee784af0dfe2305c2.
This reverts commit
13296e4b13b5ed192c4faa6501f3efec2ded8ac1.
This reverts commit
3b715edda97c8edfd95cc1fb8d31f92cef6bcc52.
Ben Noordhuis [Mon, 25 Feb 2013 22:25:21 +0000 (23:25 +0100)]
src, test: downgrade to v8 3.14 api
Ben Noordhuis [Mon, 25 Feb 2013 22:00:08 +0000 (23:00 +0100)]
v8: reapply floating patches
Reapply floating patches. Special mention: also reapplies 017009f but
with the extra change of removing DescriptorArray::kTransitionsIndex
from the postmortem metadata generator because said field no longer
exists in V8 3.14.
Ben Noordhuis [Mon, 25 Feb 2013 21:45:23 +0000 (22:45 +0100)]
deps: downgrade v8 to 3.14.5
V8 3.15 and newer have stability and performance issues. Roll back to
a known-good version.
isaacs [Sat, 23 Feb 2013 00:47:27 +0000 (16:47 -0800)]
stream: Do not switch to objectMode implicitly
Only handle objects if explicitly told to do so in the options
object. Non-buffer/string chunks are an error if not already in
objectMode.
Close #4662
isaacs [Sat, 23 Feb 2013 00:45:22 +0000 (16:45 -0800)]
stream: Start out in sync=true state
The Readable and Writable classes will nextTick certain things
if in sync mode. The sync flag gets unset after a call to _read
or _write. However, most of these behaviors should also be
deferred until nextTick if no reads have been made (for example,
the automatic '_read up to hwm' behavior on Readable.push(chunk))
Set the sync flag to true in the constructor, so that it will not
trigger an immediate 'readable' event, call to _read, before the
user has had a chance to set a _read method implementation.
Ben Noordhuis [Sat, 23 Feb 2013 22:43:52 +0000 (23:43 +0100)]
crypto: fix base64 padding regression
Commit
9901b69c introduces a small regression where the trailing base64
padding is no longer written out when Cipher#final is called. Rectify
that.
Fixes #4837.
Ben Noordhuis [Sun, 24 Feb 2013 03:06:14 +0000 (04:06 +0100)]
test: re-enable simple/test-setproctitle on darwin
The functionality is available again per joyent/libuv@14eb8b0
and joyent/libuv@e89aced.
Fixes #3687.
Ben Noordhuis [Sun, 24 Feb 2013 03:03:49 +0000 (04:03 +0100)]
deps: upgrade libuv to e89aced
isaacs [Sat, 23 Feb 2013 00:30:27 +0000 (16:30 -0800)]
lint
isaacs [Fri, 22 Feb 2013 19:24:05 +0000 (11:24 -0800)]
streams: Pre-emptively buffer readables up to the highWaterMark
Also, this adds a test that guarantees that the ordering of several
push() calls in a row is always preserved in synchronous readable streams
isaacs [Thu, 21 Feb 2013 22:30:36 +0000 (14:30 -0800)]
stream: Return false from push() more properly
There are cases where a push() call would return true, even though
the thing being pushed was in fact way way larger than the high
water mark, simply because the 'needReadable' was already set, and
would not get unset until nextTick.
In some cases, this could lead to an infinite loop of pushing data
into the buffer, never getting to the 'readable' event which would
unset the needReadable flag.
Fix by splitting up the emitReadable function, so that it always
sets the flag on this tick, even if it defers until nextTick to
actually emit the event.
Also, if we're not ending or already in the process of reading, it
now calls read(0) if we're below the high water mark. Thus, the
highWaterMark value is the intended amount to buffer up to, and it
is smarter about hitting the target.
isaacs [Thu, 21 Feb 2013 18:51:15 +0000 (10:51 -0800)]
stream: remove lowWaterMark feature
It seems like a good idea on the face of it, but lowWaterMarks are
actually not useful, and in practice should always be set to zero.
It would be worthwhile for writers if we actually did some kind of
writev() type of thing, but actually this just delays calling write()
and the overhead of doing a bunch of Buffer copies is not worth the
slight benefit of calling write() fewer times.
isaacs [Thu, 21 Feb 2013 20:22:12 +0000 (12:22 -0800)]
path: Throw TypeError on non-string args to path.resolve
Nathan Rajlich [Thu, 21 Feb 2013 20:54:13 +0000 (12:54 -0800)]
test: modify async native test.js to test for #4820
Nathan Rajlich [Thu, 21 Feb 2013 19:02:33 +0000 (11:02 -0800)]
test: add an "async-hello-world" native addon test
Arianit Uka [Thu, 21 Feb 2013 16:44:22 +0000 (11:44 -0500)]
path: join throws TypeError on non-string args
lib/path.js:
- throws a TypeError on the filter if the argument is not a string.
test/simple/test-path.js:
- removed the test to check if non-string types are filtered.
- added a test to check if path.join throws TypeError on arguments that
are not strings.
Fedor Indutny [Thu, 21 Feb 2013 09:28:51 +0000 (13:28 +0400)]
tls: _handle.readStart/readStop for CryptoStream
lib/http.js is using stream._handle.readStart/readStop to control
data-flow coming out from underlying stream. If this methods are not
present - data might be buffered regardless of whether it'll be read.
see #4657
Trevor Norris [Thu, 21 Feb 2013 09:40:09 +0000 (01:40 -0800)]
process: fix bug where spinner wasn't called
Apperently there is a case where calling the spinner was required after
passing a callback to nextTick(). This fixes that issue.
isaacs [Mon, 18 Feb 2013 18:46:50 +0000 (10:46 -0800)]
path: Do not coerce paths to strings on Windows
Fix #4795
Ben Noordhuis [Wed, 20 Feb 2013 21:06:41 +0000 (22:06 +0100)]
stream_wrap: remove superfluous buffer len check
It's a buffer so it's never bigger than Buffer::kMaxLength bytes,
which in turn is always < INT_MAX.
Ben Noordhuis [Wed, 20 Feb 2013 20:12:18 +0000 (21:12 +0100)]
deps: upgrade libuv to 26fa6f8
Trevor Norris [Tue, 19 Feb 2013 07:52:34 +0000 (23:52 -0800)]
buffer: check logic simplification
Checks have been simplified and optimized for most-used cases.
Calling Buffer with another Buffer as the subject will now use the
SlowBuffer Copy method instead of the for loop.
No need to call for value coercion, just place the ternary inline.
isaacs [Wed, 20 Feb 2013 17:17:29 +0000 (09:17 -0800)]
benchmark: Fix alignment issues on --html compare output
Ben Noordhuis [Wed, 20 Feb 2013 13:14:58 +0000 (14:14 +0100)]
node: code cleanup, make tick_infobox static
It's not used outside of src/node.cc so make it static.
Ben Noordhuis [Wed, 15 Aug 2012 00:10:02 +0000 (02:10 +0200)]
crypto: fix uninitialized memory access in openssl
ASN1_STRING_to_UTF8() passes an ASN1_STRING to ASN1_STRING_set() but forgot to
initialize the `length` field.
Fixes the following valgrind error:
$ valgrind -q --track-origins=yes --num-callers=19 \
out/Debug/node test/simple/test-tls-client-abort.js
==2690== Conditional jump or move depends on uninitialised value(s)
==2690== at 0x784B69: ASN1_STRING_set (asn1_lib.c:382)
==2690== by 0x809564: ASN1_mbstring_ncopy (a_mbstr.c:204)
==2690== by 0x8090F0: ASN1_mbstring_copy (a_mbstr.c:86)
==2690== by 0x782F1F: ASN1_STRING_to_UTF8 (a_strex.c:570)
==2690== by 0x78F090: asn1_string_canon (x_name.c:409)
==2690== by 0x78EF17: x509_name_canon (x_name.c:354)
==2690== by 0x78EA7D: x509_name_ex_d2i (x_name.c:210)
==2690== by 0x788058: ASN1_item_ex_d2i (tasn_dec.c:239)
==2690== by 0x7890D4: asn1_template_noexp_d2i (tasn_dec.c:746)
==2690== by 0x788CB6: asn1_template_ex_d2i (tasn_dec.c:607)
==2690== by 0x78877A: ASN1_item_ex_d2i (tasn_dec.c:448)
==2690== by 0x7890D4: asn1_template_noexp_d2i (tasn_dec.c:746)
==2690== by 0x788CB6: asn1_template_ex_d2i (tasn_dec.c:607)
==2690== by 0x78877A: ASN1_item_ex_d2i (tasn_dec.c:448)
==2690== by 0x787C93: ASN1_item_d2i (tasn_dec.c:136)
==2690== by 0x78F5E4: d2i_X509 (x_x509.c:141)
==2690== by 0x7C9B91: PEM_ASN1_read_bio (pem_oth.c:81)
==2690== by 0x7CA506: PEM_read_bio_X509 (pem_x509.c:67)
==2690== by 0x703C9A: node::crypto::SecureContext::AddRootCerts(v8::Arguments const&) (node_crypto.cc:497)
==2690== Uninitialised value was created by a stack allocation
==2690== at 0x782E89: ASN1_STRING_to_UTF8 (a_strex.c:560)
Bert Belder [Wed, 12 Sep 2012 23:03:50 +0000 (01:03 +0200)]
openssl: make perlasm target pentium or newer for masm outputs
When perlasm generates MASM code it sets the assembler target to 468.
In this mode MASM refuses to assemble a couple of instructions. Bumping
the target to 686 solves this problem.
Bert Belder [Fri, 21 Sep 2012 16:07:08 +0000 (18:07 +0200)]
openssl: disable HT sidechannel attack mitigation
It used to be off before. It's extremely unlikely that such an attack
would be a viable attack against node. And it makes AES much slower.
Fedor Indutny [Wed, 20 Feb 2013 11:54:22 +0000 (15:54 +0400)]
openssl: update to 1.0.1e
isaacs [Wed, 20 Feb 2013 01:17:29 +0000 (17:17 -0800)]
Merge branch 'benchmark-refactor-2'
isaacs [Wed, 20 Feb 2013 00:57:59 +0000 (16:57 -0800)]
bench: Add bench-crypto
isaacs [Tue, 19 Feb 2013 23:03:41 +0000 (15:03 -0800)]
bench: Simplify duration arguments to benchmarks
For throughput benchmarks, run with just 5s durations rather than 1s and 3s.
For startup benchmark, run with just a single 1s duration, since it's very
consistent anyway.
isaacs [Tue, 19 Feb 2013 22:59:43 +0000 (14:59 -0800)]
bench: Consistency in benchmark filenames
isaacs [Wed, 13 Feb 2013 22:18:27 +0000 (14:18 -0800)]
bench: Only run http,net,fs,tls by default
isaacs [Wed, 13 Feb 2013 22:16:11 +0000 (14:16 -0800)]
bench: Remove _bench_timer (no loner used)
isaacs [Wed, 13 Feb 2013 20:20:36 +0000 (12:20 -0800)]
bench: Use wrk for http benchmarking
Remove ab, since it's no longer used.
isaacs [Wed, 13 Feb 2013 20:19:08 +0000 (12:19 -0800)]
tools: Add wrk for benchmarking http servers
isaacs [Wed, 13 Feb 2013 18:48:55 +0000 (10:48 -0800)]
bench: Show % change rather than % difference
isaacs [Wed, 13 Feb 2013 18:47:29 +0000 (10:47 -0800)]
bench: Add --html to compare script
isaacs [Tue, 12 Feb 2013 08:13:18 +0000 (00:13 -0800)]
bench: Fail gracefully if function_call binding fails
isaacs [Tue, 12 Feb 2013 07:22:12 +0000 (23:22 -0800)]
make: Add benchmark make targets
isaacs [Tue, 12 Feb 2013 07:04:29 +0000 (23:04 -0800)]
bench: Remove old run script
isaacs [Tue, 12 Feb 2013 02:27:02 +0000 (18:27 -0800)]
bench: Replace tls-fragmentation with tls/throughput
isaacs [Mon, 11 Feb 2013 22:38:00 +0000 (14:38 -0800)]
bench: Move tls-connect into benchmark/tls
Also, make it work properly with current node.
isaacs [Tue, 12 Feb 2013 05:33:37 +0000 (21:33 -0800)]
bench: Make io.c output easier to read
isaacs [Tue, 12 Feb 2013 05:33:22 +0000 (21:33 -0800)]
bench: Remove io.js
Better covered by the other benchmark/fs scripts.
isaacs [Wed, 13 Feb 2013 18:42:23 +0000 (10:42 -0800)]
bench: Add fs write stream throughput
isaacs [Tue, 12 Feb 2013 05:05:43 +0000 (21:05 -0800)]
bench: Add read-stream throughput
isaacs [Tue, 12 Feb 2013 07:55:36 +0000 (23:55 -0800)]
bench: Move fs-readfile.js to fs/readfile.js
isaacs [Tue, 12 Feb 2013 07:10:12 +0000 (23:10 -0800)]
bench: Move v8_bench into misc
isaacs [Tue, 12 Feb 2013 07:07:37 +0000 (23:07 -0800)]
bench: Move string_creation into misc
isaacs [Tue, 12 Feb 2013 07:03:42 +0000 (23:03 -0800)]
bench: Remove settimeout (Covered by misc/timeout.js)
isaacs [Tue, 12 Feb 2013 07:00:18 +0000 (23:00 -0800)]
bench: Move timers to misc/timers
isaacs [Tue, 12 Feb 2013 06:54:27 +0000 (22:54 -0800)]
bench: move next-tick to misc/next-tick-breadth
isaacs [Tue, 12 Feb 2013 06:50:30 +0000 (22:50 -0800)]
bench: Move nexttick-2 to misc/next-tick-depth
x
isaacs [Tue, 12 Feb 2013 06:42:19 +0000 (22:42 -0800)]
bench: Move process_loop to misc/spawn-echo
isaacs [Tue, 12 Feb 2013 02:22:43 +0000 (18:22 -0800)]
bench: Add function_call to bench-misc
isaacs [Mon, 11 Feb 2013 21:32:39 +0000 (13:32 -0800)]
bench: Arrays
isaacs [Tue, 12 Feb 2013 06:01:50 +0000 (22:01 -0800)]
bench: Add buffers/dataview_set
isaacs [Mon, 11 Feb 2013 22:12:35 +0000 (14:12 -0800)]
bench: Remove unused 'fast_buffer2' benchmarks
isaacs [Mon, 11 Feb 2013 22:09:41 +0000 (14:09 -0800)]
bench: Merge fast_buffer_creation and buffer_creation
isaacs [Tue, 12 Feb 2013 07:53:27 +0000 (23:53 -0800)]
bench: Buffer read/write benchmarks
isaacs [Mon, 11 Feb 2013 21:41:16 +0000 (13:41 -0800)]
bench: Buffer creation
isaacs [Mon, 11 Feb 2013 21:37:24 +0000 (13:37 -0800)]
bench: buffer-base64-encode
isaacs [Mon, 11 Feb 2013 21:24:27 +0000 (13:24 -0800)]
bench: misc/startup.js
isaacs [Tue, 12 Feb 2013 07:51:53 +0000 (23:51 -0800)]
bench: misc/url
isaacs [Tue, 12 Feb 2013 07:43:22 +0000 (23:43 -0800)]
bench: http benchmarks
Also: make http_simple less chatty
isaacs [Tue, 12 Feb 2013 01:57:49 +0000 (17:57 -0800)]
bench: Remove client_latency
No one actually knows what this is supposed to be doing,
anyway. It's not a good benchmark.
isaacs [Tue, 12 Feb 2013 06:08:25 +0000 (22:08 -0800)]
bench: Remove throughput (covered by benchmark/net)
isaacs [Fri, 8 Feb 2013 03:13:26 +0000 (19:13 -0800)]
bench: net benchmarks using common script
isaacs [Fri, 8 Feb 2013 03:10:48 +0000 (19:10 -0800)]
bench: Move net-pipe into benchmark/net
isaacs [Tue, 12 Feb 2013 07:28:48 +0000 (23:28 -0800)]
bench: A compare script for analyzing benchmarks
isaacs [Tue, 12 Feb 2013 07:21:48 +0000 (23:21 -0800)]
bench: add runner
isaacs [Tue, 12 Feb 2013 07:26:43 +0000 (23:26 -0800)]
bench: Add ab() method to common for http testing
isaacs [Fri, 8 Feb 2013 03:10:58 +0000 (19:10 -0800)]
bench: Add common script
isaacs [Tue, 19 Feb 2013 21:58:38 +0000 (13:58 -0800)]
Now working on v0.9.11
isaacs [Tue, 19 Feb 2013 21:58:19 +0000 (13:58 -0800)]
Merge branch 'v0.9.10-release'
isaacs [Tue, 19 Feb 2013 21:23:47 +0000 (13:23 -0800)]
2013.02.19, Version 0.9.10 (Unstable)
* V8: Upgrade to 3.15.11.15
* npm: Upgrade to 1.2.12
* fs: Change default WriteStream config, increase perf (isaacs)
* process: streamlining tick callback logic (Trevor Norris)
* stream_wrap, udp_wrap: add read-only fd property (Ben Noordhuis)
* buffer: accept negative indices in Buffer#slice() (Ben Noordhuis)
* tls: Cycle data when underlying socket drains (isaacs)
* stream: read(0) should not always trigger _read(n,cb) (isaacs)
* stream: Empty strings/buffers do not signal EOF any longer (isaacs)
* crypto: improve cipher/decipher error messages (Ben Noordhuis)
* net: Respect the 'readable' flag on sockets (isaacs)
* net: don't suppress ECONNRESET (Ben Noordhuis)
* typed arrays: copy Buffer in typed array constructor (Ben Noordhuis)
* typed arrays: make DataView throw on non-ArrayBuffer (Ben Noordhuis)
* windows: MSI installer enhancements (Scott Blomquist, Jim Schubert)
isaacs [Tue, 19 Feb 2013 21:18:36 +0000 (13:18 -0800)]
npm: Upgrade to 1.2.12
isaacs [Tue, 19 Feb 2013 19:37:48 +0000 (11:37 -0800)]
tls: Write pending data on socket drain
Fixes #4800
isaacs [Tue, 19 Feb 2013 02:26:29 +0000 (18:26 -0800)]
test: Fix regression in tls test
Undefined reference, introduced by a77c29a.
isaacs [Tue, 19 Feb 2013 02:26:29 +0000 (18:26 -0800)]
test: Fix tls tests which fail sporadically
The count of ECONNRESETs is dependent on timing, and thus unreliable,
especially on Linux machines.
isaacs [Mon, 18 Feb 2013 19:24:14 +0000 (11:24 -0800)]
doc: Use 'close' rather than 'exit' in spawn examples
Close #4515
isaacs [Mon, 18 Feb 2013 18:38:37 +0000 (10:38 -0800)]
http: Add fixme comment about ECONNRESET handling
isaacs [Mon, 18 Feb 2013 18:21:08 +0000 (10:21 -0800)]
Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
AUTHORS
ChangeLog
lib/http.js
src/node_version.h
test/simple/test-http-header-response-splitting.js
Gil Pedersen [Thu, 14 Feb 2013 19:26:54 +0000 (20:26 +0100)]
stream: Pipe data in chunks matching read data
This creates better flow for large values of lowWaterMark.