This issue was fixed in
https://github.com/joyent/libuv/pull/450
but libuv of node-0.7.10 was not updated yet.

You can resolve this issue by replacing deps/uv to the current libuv master by manual or wait for the next release.

(2012/06/12 10:24), Jimb Esser wrote:
Great! Thanks for the fix.

For the setTimeout issue, it seems to only happen on one of the 5
machines I tried on.  git bisect traced it down to this commit:
30a0e58  uv: upgrade to 87dbffbd [1]
https://github.com/joyent/node/commit/30a0e58

Adding some printfs to the modified timer.c, as that seemed a likely
culprit, I tracked it down to the loop->time value fluctuating
greatly, looks like something is clearing it to near-0 periodically.
Similarly, running process.hrtime() over and over again fluctuates
between showing expected values and values near 0s. I'll send an email
to nodedev with details.
   - Jimb Esser

On Jun 11, 4:05 pm, Isaac Schlueter <[email protected]> wrote:
fs.readFile('/proc/stat', ...) fixed in master.  Now any zero-byte
result from fstat() will cause it to read until it stops getting
bytes.







On Mon, Jun 11, 2012 at 2:15 PM, Isaac Schlueter <[email protected]> wrote:
Aha, the /proc/stat thing is interesting.  It reports a stat.size of
0, which is confusing the optimization in fs.readFile.  (Note that
fs.createReadStream('/proc/stat') does the right thing.)

The setTimeout(fn, 1000) issue I can't reproduce on Linux, SmartOS, or OS X.

On Mon, Jun 11, 2012 at 2:00 PM, Jimb Esser <[email protected]> wrote:
Okay, thanks for the info, changing our code to proc.on('close') seems
to have resolved that issue, sorry I didn't notice the difference in
the docs, and the docs do not seem to include that very handy list of
changes (though it was in the email, I apparently skimmed over it as I
do all links in emails...).

Two other issues I'm running into with node 0.7.10 on Linux:

setTimeout with times > 350ms or so sometimes don't get called.  A one-
line .js file: setTimeout(console.log, 1000, 'Test'); appears to never
display the message nor exit, about 1 in 5 times I run it.

fs.readFileSync('/proc/stat') (and async variants) now return an empty
buffer all the time, previously would return the same as running 'cat /
proc/stat'.  Same with reading any other procfs file, no problem on
non-procfs files, AFAICT.

  Jimb Esser

On Jun 11, 12:52 pm, Isaac Schlueter <[email protected]> wrote:
The reasoning:

When sharing file descriptors with child process stdio, this became
very complicated.  You could have a child process share its stdout
with the parent's stdout, for example.

What to do in this case?  Never emit "exit" at all?  What if the
parent needs to know when the child is done processing?

It led to some really awful complicated logic in many relatively
common use cases.  We opted to make things more explicit and simple by
adding a "close" event which indicates that the stdio is closed, and
an "exit" event which indicates that the child has exited.

On Mon, Jun 11, 2012 at 12:49 PM, Marco Rogers <[email protected]> wrote:
See the changes to child_process
here. https://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8

It seems like exit doesn't wait for the i/o pipes to close anymore. There's
a new "close" event that might work better. I don't know the history of his
change though so YMMV.

:Marco

On Monday, June 11, 2012 12:42:32 PM UTC-7, Jimb Esser wrote:

I'm trying out the new node version (previously on 0.6.*), and I'm
running into issues where processes spawned with child_process emit
their 'exit' event before their stdout/stderr 'data' events
(previously it seemed to always emit all data events before exiting),
causing all sorts of problems with our servers.  Is this expected?
Always that way and we were just lucky before?  Some undocumented API
change?  Bug from the other child_process changes?

This is on Linux, and, unfortunately, doesn't seem to reproduce in a
trivial test case, just when spawning processes when lots of other
stuff is going on.

On Jun 11, 8:59 am, Isaac Schlueter <[email protected]> wrote:
2012.06.11, Version 0.7.10 (unstable)

This is the second-to-last release on the 0.7 branch.  Version 0.8.0
will be released some time next week.  As other even-numbered Node
releases before it, the v0.8.x releases will maintain API and binary
compatibility.

The major changes are detailed
inhttps://github.com/joyent/node/wiki/API-changes-between-v0.6-and-v0.8

Please try out this release.  There will be very few changes between
this and the v0.8.x release family.  This is the last chance to comment
on the API before it is locked down for stability.

* Roll V8 back to 3.9.24.31

* build: x64 target should always pass -m64 (Robert Mustacchi)

* add NODE_EXTERN to node::Start (Joel Brandt)

* repl: Warn about running npm commands (isaacs)

* slab_allocator: fix crash in dtor if V8 is dead (Ben Noordhuis)

* slab_allocator: fix leak of Persistent handles (Shigeki Ohtsu)

* windows/msi: add node.js prompt to startmenu (Jeroen Janssen)

* windows/msi: fix adding node to PATH (Jeroen Janssen)

* windows/msi: add start menu links when installing (Jeroen Janssen)

* windows: don't install x64 version into the 'program files (x86)'
folder (Matt Gollob)

* domain: Fix #3379 domain.intercept no longer passes error arg to cb
(Marc Harter)

* fs: make callbacks run in global context (Ben Noordhuis)

* fs: enable fs.realpath on windows (isaacs)

* child_process: expose UV_PROCESS_DETACHED as options.detached
(Charlie McConnell)

* child_process: new stdio API for .spawn() method (Fedor Indutny)

* child_process: spawn().ref() and spawn().unref() (Fedor Indutny)

* Upgrade npm to 1.1.25
- Enable npm link on windows
- Properly remove sh-shim on Windows
- Abstract out registry client and logger

Source Code:http://nodejs.org/dist/v0.7.10/node-v0.7.10.tar.gz

Windows Installer:http://nodejs.org/dist/v0.7.10/node-v0.7.10.msi

Windows x64 Files:http://nodejs.org/dist/v0.7.10/x64/

Macintosh Installer
(Universal):http://nodejs.org/dist/v0.7.10/node-v0.7.10.pkg

Other release files:http://nodejs.org/dist/v0.7.10/

Website:http://nodejs.org/docs/v0.7.10/

Documentation:http://nodejs.org/docs/v0.7.10/api/

--
Job Board:http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--
Job Board:http://jobs.nodejs.org/
Posting 
guidelines:https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en



--
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to