00:00:22  <ryah>oh, i imagined that he looked like a soccer player - and he does
00:00:40  <ryah>:)
00:00:45  <piscisaureus>heh
00:00:46  <piscisaureus>aha
00:02:59  <ryah>piscisaureus: how much longer are you working today? i imagine you're close to signing off?
00:03:08  <piscisaureus>ryah: yes
00:03:16  <piscisaureus>I am close to signing off
00:03:18  <ryah>piscisaureus: when should we do the replease?
00:03:24  <ryah>*release
00:03:44  <piscisaureus>ryah: whatever - tomorrow night or tomorrow morning (for me, that is tonight for you)
00:03:48  <ryah>before or after the call?
00:04:12  <piscisaureus>ryah: how long does it take?
00:04:18  <ryah>piscisaureus: probably 3 hours
00:04:39  <piscisaureus>best after the call then
00:04:47  <piscisaureus>before that I'm having dinner etc
00:06:06  <ryah>k
00:06:55  <ryah>we need to do udp multicast
00:07:13  <ryah>tim caswell wants to write a mdns client in pure js
00:07:17  <ryah>which sounds hot
00:07:43  <bnoordhuis>no problem, minor feature
00:13:46  * phodejoined
00:13:46  <phode>[phode] piscisaureus pushed 1 new commit to master: https://github.com/piscisaureus/phode/commit/27b607131933377437183a9596a29393fc8e6ab9
00:13:46  <phode>[phode/master] Make call_callback more convenient - Bert Belder
00:13:46  * phodepart
00:24:32  <piscisaureus>ryah: we need to discuss uv_loop_init)(
00:24:52  <piscisaureus>ryah: you said your coworkers WTFed
00:29:06  <ryah>https://github.com/joyent/libuv/issues/173#issuecomment-2013431
00:29:13  <ryah>what's with this guy?
00:30:11  <ryah>piscisaureus: okay - let's discuss
00:30:32  <piscisaureus>what was exactly the problem?
00:30:41  <piscisaureus>what we could do is just remove uv_default_loop()
00:31:01  <piscisaureus>and tell people they have to initialize their loop with uv_loop_init()
00:31:13  <ryah>hm
00:31:24  <piscisaureus>I can use pthread_once emulation of some sort to call uv_init() exactly once
00:31:37  <piscisaureus>the only problem is libev
00:31:50  <piscisaureus>it does not allow child watchers except in the default loop
00:32:24  <ryah>oh i didnt know that
00:33:14  <piscisaureus>ryah: what *did* your coworker expect?
00:33:29  <piscisaureus>ot - what about that issue you just pointed to?
00:34:21  <ryah>#173 - should i just ignore that guy?
00:34:25  <ryah>:)
00:34:32  <piscisaureus>ryah: he is wrong
00:34:37  <piscisaureus>ryah: but not completely maybe
00:34:48  <ryah>i think my coworker expects no uv_init() to be necessary
00:34:53  <ryah>just call uv_default_loop()
00:35:11  <DrPizza>ryah: he's wrong and right
00:35:20  * bentkusquit (Read error: Operation timed out)
00:35:38  <DrPizza>ryah: but since C doesn't allow overloading, he's mainly wrong
00:36:16  * bentkusjoined
00:39:12  <ryah>bnoordhuis: Buffer.indexOf
00:39:23  <ryah>bnoordhuis: someone said you were working on that?
00:39:30  <bnoordhuis>ryah: no
00:39:44  <bnoordhuis>ryah: someone probably said i've written that already in 2010
00:40:00  <bnoordhuis>it's in buffertools :)
00:40:59  <ryah>oh okay- before that's considered for merge - i think we should understand why a pure js indexOf is slow
00:41:31  <ryah>it seems like V8 should be able to JIT the fuck out of a tight loop of buffer[i]
00:43:34  <bnoordhuis>it does for single character searches but not substring searches
00:43:47  <bnoordhuis>at least, in 2010
00:44:31  <bnoordhuis>but say the word and i'm off to write a boyer-moore search in pure js
00:45:52  <ryah>the api is buffer.indexOf("some string") ?
00:47:00  <bnoordhuis>yes
00:49:45  <piscisaureus>ryah: I kind of agree that the current uv_init() situation is not ideal
00:50:42  <piscisaureus>ryah: but I'd very much dislike it when uv_default_loop() checks a volatile every time to check if uv_init has been called
00:51:16  <piscisaureus>ryah: unless we say that it is very much recommended to store the uv_default_loop() pointer somewhere
00:51:42  <piscisaureus>in that case uv_default_loop() would not be much different from uv_loop_init()
00:52:01  <piscisaureus>er, uv_loop_t* uv_loop_create()
00:52:37  <CIA-52>node: Ryan Dahl master * r52044fd / (3 files in 2 dirs):
00:52:37  <CIA-52>node: Merge remote branch 'origin/v0.4'
00:52:37  <CIA-52>node: Conflicts:
00:52:37  <CIA-52>node: lib/net.js
00:52:37  <CIA-52>node: test/simple/test-buffer.js - https://github.com/joyent/node/commit/52044fd1b158b91304a4641eaf893f9fe225ea67
00:52:51  <ryah>what's wrong with it checking a volatile?
00:53:06  <piscisaureus>eh, the processor won't cache it?
00:53:13  <piscisaureus>it's a real memory read every time
00:53:54  <piscisaureus>hmm probably it will be cached
00:54:01  <DrPizza>if you can show a real world scenario where thedifference is measurable I would be astonished
00:54:53  <ryah>is there not a pthread_once in windows?
00:54:58  <piscisaureus>no
00:55:07  <DrPizza>yes.
00:55:09  <piscisaureus>at least, I think it's in 7
00:55:12  <piscisaureus>but not xzp
00:55:14  <DrPizza>vista and 7
00:55:14  <piscisaureus>*xp
00:56:30  <ryah>maybe this is the difference between EV_DEFAULT and EV_DEFAULT_UC
00:56:48  <DrPizza>the interface is a little wonky, so you might prefer to implement it yourself
00:56:58  <piscisaureus>I did it some time ago
00:57:04  * piscisaureuslooking for the gist
00:57:58  <dmkbot>joyent/node: koichik: Buffer.write() should always set Buffer._charsWritten - https://github.com/joyent/node/issues/1633
00:59:05  <piscisaureus>DrPizza: that's the one
00:59:06  <piscisaureus>https://gist.github.com/1152491
00:59:39  <DrPizza>doesn't look safe to me
00:59:56  <DrPizza>moment,bitte
01:00:02  <piscisaureus>bnoordhuis reviewed it
01:00:09  <piscisaureus>i'm pretty sure it's safe :-)
01:00:42  <DrPizza>what is this event stuff
01:01:06  <bnoordhuis>is gist.github.com down?
01:01:11  <DrPizza>to make otherthreads wait for the race winner?
01:01:17  <piscisaureus>DrPizza: yes
01:02:21  <piscisaureus>ryah: should we also have uv_default and uv_default_uc
01:02:25  <piscisaureus>that would work, then
01:02:43  <piscisaureus>(forgot the question mark)
01:05:12  <DrPizza>piscisaureus:
01:05:17  <DrPizza>typedef void (*init_routine)(void*);
01:05:17  <DrPizza>typedef size_t once_t;
01:05:17  <DrPizza>void do_once(once_t* guard, init_routine routine, void* context) {
01:05:17  <DrPizza> if (cas(guard, 0, 1)) {
01:05:17  <DrPizza> init_routine(context);
01:05:18  <DrPizza> memory_barrier();
01:05:18  <DrPizza> *guard = ~0;
01:05:19  <DrPizza> } else {
01:05:19  <DrPizza> do {
01:05:20  <DrPizza> mm_pause();
01:05:20  <DrPizza> } while (*guard != ~0);
01:05:21  <DrPizza> }
01:05:21  <DrPizza>}
01:07:31  <piscisaureus>DrPizza: what about?
01:07:40  <DrPizza>no kernel mode, no events
01:07:53  <DrPizza>no volatiles
01:07:58  <piscisaureus>DrPizza: but with busyloop
01:08:07  <DrPizza>sleeping busy loop
01:08:39  <DrPizza>well, pausing
01:08:53  <DrPizza>so it cedes teh processor resources
01:09:25  <piscisaureus>also, cas()?
01:09:41  <DrPizza>compare and swap
01:09:43  <DrPizza>interlockedexchange
01:09:47  <DrPizza>cmpxchg
01:09:48  <DrPizza>etc.
01:11:14  <piscisaureus>DrPizza: cas() is worse than volatile
01:11:23  <piscisaureus>but I guess we could add another check around
01:11:34  <DrPizza>you can do double checked locking if you want
01:12:00  <DrPizza>the memory barriers make it safe
01:12:19  <piscisaureus>It's actually very similar to my code
01:12:28  <piscisaureus>only I use an event to wait
01:12:36  <DrPizza>an event should be a memory barrier too
01:12:40  <DrPizza>well
01:12:46  <DrPizza>an event's a really expensive memory barrier
01:12:51  <DrPizza>amongst other things
01:13:15  <bnoordhuis>volatile is not a memory barrier!
01:13:18  <bnoordhuis>piscisaureus: ^
01:13:19  <DrPizza>no
01:13:19  <piscisaureus>sure
01:13:27  <DrPizza>but memory_barrier() is :)
01:13:35  <DrPizza>it's a fill-in-your-own memorybarrier
01:13:35  <piscisaureus>bnoordhuis: it is in java :p
01:13:46  <bnoordhuis>only since java 5
01:15:22  <DrPizza>piscisaureus: I'd be surprised if waiting for an event was cheaper than CAS
01:15:38  <DrPizza>er
01:15:39  <piscisaureus>DrPizza: depends on how long you have to wait obviously
01:15:42  <piscisaureus>:-)
01:15:45  <piscisaureus>events are not so bad
01:15:51  <DrPizza>I meant volatile
01:15:58  <DrPizza>I'd be surprised if volatile was cheaper than a CAS
01:16:03  <DrPizza>volatile + event
01:16:22  <DrPizza>no, but the event I think forces the kernel transition even in the already-set case
01:16:27  <DrPizza>so that costs
01:16:39  <piscisaureus>DrPizza: hmm, I'm not sure
01:16:46  <piscisaureus>DrPizza: but let's focus on api design
01:17:01  <DrPizza>anyway a nice "do this once" API with a function pointer is a useful thing
01:17:14  <DrPizza>and that API is v. cheap
01:17:21  <piscisaureus>yes, I agree with that
01:17:31  <DrPizza>apple grand central dispatch uses that code for its "do once" API
01:18:11  <DrPizza>or something close to it
01:19:14  <DrPizza>it should be cheap enough to call that every time
01:19:56  <ryah>sweet https://github.com/joyent/node/pull/1667
01:20:26  <ryah>indutny: !
01:21:08  <DrPizza>piscisaureus: the alternative is that we could make libuv automatically initialize itself, by e.g. using gcc to mark uv_init as a static constructor
01:22:56  <DrPizza>piscisaureus: that way we no longer need to test or do anything
01:25:11  <DrPizza>although it's a pain in the ass in vc++
01:25:13  <DrPizza>it's doable
01:25:51  <piscisaureus>just relax - we'll add uv_once and add the check to uv_default_loop
01:26:08  <DrPizza>well
01:26:19  <DrPizza>auto-initialization is pretty neat
01:26:39  * piscisaureuspart
01:32:46  * graydonquit (Quit: Leaving.)
01:32:58  <dmkbot>joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667
01:33:23  * piscisaureusjoined
01:34:34  <piscisaureus>ok. I quit.
01:34:59  <DrPizza>?
01:35:24  <piscisaureus>It's 3.35am and I have to get up kind-of early tomorrow
01:35:27  <DrPizza>ah
01:35:30  <DrPizza>I see
01:35:36  <DrPizza>I thought you meant you had fallen in love with php
01:35:42  <DrPizza>and were going to dedicate yourself to that from now on
01:35:44  <piscisaureus>yes, that too
01:35:47  <DrPizza>:(
01:36:14  <ryah>piscisaureus: night
01:36:22  <piscisaureus>After spending 1 year with this hot blonde I am going back to my old love
01:36:24  <piscisaureus>goodbye
01:36:30  <DrPizza>lol
01:36:47  <bnoordhuis>piscisaureus: she may not be pretty but she does everything for you, amirite?
01:36:54  <DrPizza>yeah
01:36:55  <DrPizza>herpes
01:36:57  <DrPizza>spyhilis
01:37:00  <DrPizza>gonorrhoea
01:37:03  <DrPizza>she does it all
01:37:47  <piscisaureus>bnoordhuis: yes, by your standards php is very nice
01:38:18  <piscisaureus>pquerna already likes phode
01:38:27  <piscisaureus>I'm just 1 step away of getting paid by rackspace
01:38:31  <DrPizza>lol
01:39:49  <bnoordhuis>damn
01:39:52  <bnoordhuis>pho.de is taken
01:40:46  <DrPizza>haha
01:42:58  <dmkbot>joyent/node: jordansissel: url and http(s).request should be better friends - https://github.com/joyent/node/issues/1670
01:45:17  <bnoordhuis>bleh, annoying bug
01:45:45  <bnoordhuis>something is causing finished write requests to be posted twice to the write_completed_queue
01:46:05  <bnoordhuis>net result: infinite loop when you try to flush the queue
01:46:24  <bnoordhuis>(just ranting, mind you)
01:51:47  <pquerna>piscisaureus: actually, we would prolly pay for a lua libuv thing
01:52:20  <bnoordhuis>pquerna: lua you say?
01:52:27  <bnoordhuis>i'm listening
01:52:41  <bnoordhuis>but what does rackspace do with lua?
01:52:41  <pquerna>we need to revamp our agent;
01:52:46  <pquerna>right now its in C+Lua
01:52:53  <pquerna>wth hacky cross platform event loop using select
01:52:58  <pquerna>that works on linux/win etc
01:52:58  <dmkbot>joyent/node: ry: implement dns module functionality with getaddrinfo and friends - https://github.com/joyent/node/issues/798
01:53:17  <pquerna>writing the agent in.. Node or PHP is not viable
01:53:22  <pquerna>we need low memory footprints
01:53:35  <pquerna>so its gonna be C+Lua, and the thought right now is libuv+lua
01:53:54  <bnoordhuis>worthy undertaking
01:54:07  <bnoordhuis>what should it be able to do? tcp or more?
01:56:01  <pquerna>tcp, ssl, process spawning
01:56:20  <pquerna>(plugins are ran in subprocesses)
01:56:24  <pquerna>oh, and file io of course
01:56:29  <pquerna>(of course right)
01:57:18  <bnoordhuis>tcp and processes should be easy
01:57:33  <bnoordhuis>ssl... is openssl acceptable?
01:58:03  <pquerna>not really, but I can do the ssl if needed.
01:58:17  <bnoordhuis>what would you use? nss?
01:58:24  <pquerna>selene </
01:58:29  <ryah>pquerna: do not distract piscisaureus
01:58:41  <DrPizza>lol
01:58:49  <pquerna>i'm distracting bnoordhuis it sounds like
01:59:00  <ryah>do not distract him either :)
01:59:24  <bnoordhuis>seems i'm getting distracted further
01:59:36  <bnoordhuis>both my girls seem to be coming down with the flu
01:59:53  <ryah>yikes. not good.
02:00:27  <bnoordhuis>i'll talk to you guys tomorrow, i'm on nurse duty now it would seem :/
02:00:34  <ryah>pquerna: why is writing the agent in node not viable?
02:00:40  <ryah>bnoordhuis: night
02:02:01  <ryah>indutny: you here?
02:02:35  <pquerna>ryah: memory
02:02:51  <pquerna>ryah: currently we are at <4mb, with _no_ effort put in going lower
02:03:01  <pquerna>i bet we could get to sub 3mb with a little work
02:03:16  <ryah>dang
02:03:30  <pquerna>i mean, even the smallest node thing
02:03:33  <pquerna>is looking at 15-20mb
02:03:39  <pquerna>which on our 256mb VMs
02:03:45  <pquerna>is getting up near 10%
02:03:49  <pquerna>so.. we would like to avoid it
02:04:10  <ryah>nah - definitely under 15
02:04:32  <ryah>but - yeah, we can't do 4mb
02:04:35  <ryah>i wish we could
02:04:35  * bnoordhuisquit (Ping timeout: 246 seconds)
02:16:17  * brsonquit (Ping timeout: 264 seconds)
02:22:58  <dmkbot>joyent/libuv: msporleder: this should give a working netbsd build of libuv - https://github.com/joyent/libuv/issues/180
02:27:58  <dmkbot>joyent/node: amdg: Compile on NetBSD - https://github.com/joyent/node/issues/1112
02:47:58  <dmkbot>joyent/node: koichik: Buffer.write() should always set Buffer._charsWritten - https://github.com/joyent/node/issues/1633
02:52:26  <CIA-52>node: koichik master * r526c54c / (lib/buffer.js test/simple/test-buffer.js):
02:52:26  <CIA-52>node: buffer: write() should always set _charsWritten.
02:52:26  <CIA-52>node: Fixes #1633. - https://github.com/joyent/node/commit/526c54c9790cd8edff259686785d7b844fd29005
03:59:49  <ryah>pquerna: http://www.youtube.com/watch?v=Z7Wl2FW2TcA
04:00:24  <ryah>pquerna: have you seen this - it's so great. just saw it on adam langley's blog
04:01:45  <indutny>ryah: yt?
04:01:52  <indutny>just woke up
04:02:38  <indutny>I can't use getters for vm.ScriptContext, neither can I run "Object.defineProperty(global, key, ...)" inside context
04:02:44  <indutny>in both cases segfault will raise
04:02:53  <indutny>(speaking like joda)
04:02:58  <dmkbot>joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667
04:02:59  <indutny>so I emulated them
04:03:46  <indutny>what do you think about readline+repl commits?
04:03:51  <indutny>ryah: are they ok for you?
04:07:41  <indutny>gtg
04:08:10  <ryah>indutny: why do they segfault?
04:12:45  <indutny>ryah: seems like a v8 issue
04:12:57  <indutny>ryah: one second I'll create gist
04:14:41  <ryah>indutny: ok, we should fix that...
04:16:10  <indutny>ryah: strange... can't reproduce it when running separately
04:23:10  <indutny>aaah
04:23:22  <indutny>oh
04:23:22  <indutny>no
04:23:24  <indutny>I dunno
04:23:54  <CIA-52>node: Ryan Dahl master * r0bca544 / (213 files in 20 dirs): Upgrade V8 to 3.6.1 - https://github.com/joyent/node/commit/0bca54444a5bb869ddebaadc65cd0bf381bb1e81
04:24:02  <ryah>indutny: add it to the branch - i'll look into the segfault
04:25:03  <indutny>http://github.com/indutny/node/tree/feature-debugger-segfault
04:25:10  <indutny>just pushed
04:25:21  <indutny>probably repl is traversing global
04:26:07  <indutny>because if I'll remove enumerable: true it will work
04:26:13  <indutny>(except I can't invoke commands
04:26:16  <indutny>)
04:29:52  <indutny>gtg, I'll be back in 2-3 hours, sorry
04:30:01  <indutny>I'll look at it again once I'll be here again
04:36:36  <pquerna>ryah: yeah, moxie++
04:37:21  <pquerna>(though i'm not fully convinced on convergence.io stuff)
04:38:29  <DrPizza>I'm not convinced of any of it
04:38:42  <DrPizza>browser extensions aren't even remotely good enough
04:38:46  <pquerna>i believe we should fix two problems seperately, 1) DNS Name <-> Certificate mappings (there are some proposals trying to use DNSSEC for this)
04:38:58  <pquerna>2) Do you trust this DNS name
04:39:04  <DrPizza>I mean, really, I get protected if I use gmail.com but pwn3d if I use IMPA?
04:39:06  <pquerna>(ev certs are addressing #2)
04:39:08  <DrPizza>IMAP*
04:40:20  <DrPizza>pquerna: I think any system that depends on DNSSEC is in deep trouble right from the start
04:40:43  <DrPizza>I suspect even IPv6 will become mainstream before DNSSEC
04:40:45  <pquerna>yes
04:40:48  <pquerna>very likely
04:40:56  <pquerna>just, need to separate the needs
04:40:57  <DrPizza>and so both CAA and DANE are doomed
04:41:23  <pquerna>a certification of domain X is a trust worthy buiness is far harder
04:41:34  <pquerna>its like a better business burea
04:41:44  <pquerna>vs just assserting
04:41:48  <pquerna>that the cert they gave you
04:41:52  <pquerna>maps to a domain they own
04:41:59  <DrPizza>only one of those is a strictly technical issue, though
04:42:03  <pquerna>yes
04:42:19  <pquerna>most people will only care about the dns mapping side
04:42:21  <DrPizza>"is this the correct certificate for this site" is technical, and so relatively easily fixed
04:42:25  <pquerna>yes
04:42:36  <DrPizza>(impossible to implement in practic,e but easy enough to design solutions :) )
04:42:48  <pquerna>its also one of the major weaknesses with the current CA model, that any ca can issue a cert for any dns name
04:42:59  <pquerna>once you kill those attacks
04:43:08  <DrPizza>CAA diminishes that, DANE wipes that out almost entirely
04:43:21  <DrPizza>but
04:43:35  <DrPizza>I don't kno whow useful DNSSEC is
04:43:58  <DrPizza>maybe I just don't fully understand it
04:44:02  <DrPizza>in fact, it's likely that I don't
04:44:09  <DrPizza>but iran, for example, controls the infrastructure
04:44:24  <DrPizza>if iran wantsto strip out DNSSEC records from DNS it can do so
04:44:34  <pquerna>right
04:44:45  <pquerna>its man in the middles all the way down
04:45:03  <DrPizza>if Iran wants to put its stolen certs into bogus CAA/DANE records, it can
04:45:23  <DrPizza>(strip out the DNSSEC records andt here's nothing stopping you)
04:45:36  <DrPizza>so none of these seem like good systems that can protect against a malicious state actor
04:45:37  <DrPizza>and yet
04:45:54  <DrPizza>the malicious state actor is probably the biggest threat to certificates/PKI/SSL
04:46:12  <DrPizza>the spammers and so on don'tneed to break SSL, because tehy just install malware on your PC
04:49:14  <pquerna>beating state actors.. sigh
04:49:55  <DrPizza>well, do you disagree?
04:50:03  <DrPizza>that's just how it seems to me
04:50:38  <ryah>convergence.io sounds very promising
04:50:44  <pquerna>a state actor is... almost impossible to really beat
04:51:39  <DrPizza>pquerna: right, but if we ignore state actors and dismiss them as impossible, then SSL and PKI is (modulo occasional spec or implementation bugs) safe
04:54:07  <pquerna>http://xkcd.com/538/
05:05:41  * isaacsjoined
05:14:28  <pquerna>it'd be fun to make a notary in node.js
05:15:21  <ryah>http://www.imperialviolet.org/2011/09/07/convergence.html
05:15:37  <ryah>^-- unfortunately this implies death
05:15:45  <ryah>for convergence
05:15:55  <pquerna>yes
05:16:32  <pquerna>chrome does the dnssec thing though already :-/
05:16:57  <pquerna>we could implement it in node core :-/
05:19:00  <pquerna>agl is right though.
05:19:07  <ryah>agl?
05:19:16  <ryah>adam?
05:19:22  <pquerna>yes
05:19:46  <ryah>yeah.
05:20:15  <ryah>so how can one modify the convergence concept to satisfy chrome?
05:21:30  <pquerna>only thing that comes to mind is downloading the ssl observitory locally
05:21:42  <pquerna>then you avoid many of the privacy issues
05:21:55  <pquerna>(it could maybe be done as all hashes of hashes....)
05:22:06  <pquerna>but still going to be massive
05:23:45  <pquerna>but doesn't really make a dent in lots of issues. not chromelike.
05:26:33  <DrPizza>chrome has a built-in CAA equivalent, yes
05:29:40  * isaacs_joined
05:29:44  <DrPizza>the downtime issue is why even revoke checking can't be enforced by default
05:31:15  <pquerna>yes, state actors, just drop traffic to all ocsp servers, wooooo
05:31:59  * isaacsquit (Ping timeout: 252 seconds)
05:31:59  * isaacs_changed nick to isaacs
05:32:58  <dmkbot>joyent/node: ry: code sign the .exe - https://github.com/joyent/node/issues/1671
05:33:00  <dmkbot>joyent/node: ry: code sign the .exe - https://github.com/joyent/node/issues/1671
05:33:52  <ryah>http://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64/ <-- also good read
05:34:03  <ryah>(on the subject of blogs)
05:47:58  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
06:12:58  <dmkbot>joyent/node: ry: set appropriate err.code for 'socket hang up' errors - https://github.com/joyent/node/issues/1672
06:14:14  <DrPizza>goddammit
06:14:16  <DrPizza>I want to go to bed
06:14:19  <DrPizza>but I have a delivery
06:14:23  <DrPizza>the delivery is due within the next 45 minutes
06:45:45  * mralephjoined
08:04:30  <indutny>ryah: around?
08:04:41  <indutny>sorry just returned
08:04:56  <ryah>indutny: sorry - just taking off
08:05:05  <indutny>ryah: ok, np. any luck with segfault?
08:05:16  <ryah>indutny: nope, i didn't look at it -sorry
08:05:24  <indutny>ryah: ok, ttyl
08:05:31  <ryah>indutny: update the pull request if you learn anything
08:05:35  <indutny>ok
08:05:49  <ryah>i'll check it out in a few hours if you havent figured it out by then
08:07:23  <mraleph>indutny: whats the problem?
08:07:33  <indutny>mraleph: https://github.com/indutny/node/tree/feature-debugger-segfault
08:07:44  <indutny>mraleph: build this
08:07:53  <indutny>mraleph: run ./node debug lib/fs.js
08:07:56  <indutny>and then enter `run
08:08:01  <indutny>it will segfault :)
08:08:15  <indutny>if I'll remove this line
08:08:16  <indutny>https://github.com/indutny/node/commit/d33e7b7f19985ded5e75896c3d4c172aceffd2c9#L0R656
08:08:25  <indutny>it will work, but say that `run` is undefined
08:08:44  <indutny>and when you call `run` other functions will be called too
08:08:49  <mraleph>hmm. I should take a look when I reach the office
08:09:17  <indutny>ok
08:09:19  <indutny>thank you
08:11:12  <indutny>aaah
08:11:16  <indutny>mraleph: yt?
08:11:43  <mraleph>yes
08:11:46  <mraleph>still here
08:12:03  <CIA-52>node: Ryan Dahl master * ree2c12d / (7 files in 2 dirs): Upgrade GYP to r1034 - https://github.com/joyent/node/commit/ee2c12d48e52c066c74fd646d6a38e880b0bfa0a
08:13:07  <indutny>mraleph: sorry, thought I figured out this
08:13:19  <indutny>mraleph: ping me when you'll reach the office, ok?
08:13:46  <mraleph>k
08:13:56  * mralephquit (Quit: Leaving.)
08:31:13  <indutny>ryah: figured out that thing
08:37:58  <dmkbot>joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667
08:47:58  <dmkbot>joyent/node: aseemk: path.split() needed, as counterpart to path.join() - https://github.com/joyent/node/issues/1224
08:48:00  <dmkbot>joyent/node: nzakas: stdout not flushed upon exit with output redirect - https://github.com/joyent/node/issues/1669
09:15:47  * isaacsquit (Quit: isaacs)
09:17:58  <dmkbot>joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667
10:07:58  <dmkbot>joyent/node: cryptix: test-fs-utimes - debug assertion fails on win32 - https://github.com/joyent/node/issues/1666
10:20:37  * mralephjoined
10:20:50  <mraleph>indutny: so did you figure out your segfault?
10:27:51  <indutny>mraleph: not fully
10:28:02  <indutny>mraleph: https://github.com/joyent/node/pull/1667#issuecomment-2037790
10:28:26  <indutny>mraleph: how can one copy properties with descriptors via C++ API ?
10:28:40  <indutny>mraleph: yt? :)
10:29:50  <mraleph>yep
10:30:00  <mraleph>I am not getting it. why it segfaults?
10:30:27  <indutny>mraleph: probably because all commands got executed simultaneosly :D
10:30:42  <indutny>mraleph: that's bug in node.js' debugger API
10:31:36  <indutny>mraleph: anyway, how to copy getters/setters via v8 C++ API?
10:31:52  <mraleph>I do not think you can
10:31:56  <mraleph>Do it in JS
10:32:44  <indutny>mraleph: hm... I though about that
10:32:45  <indutny>brb
10:32:50  <indutny>s/though/thought
10:44:06  <indutny>back
10:45:07  <indutny>mraleph: thanks for a tip
10:47:55  <mraleph>indutny: btw your test case does not segfault for me, it just spams things like "foobar Error"
10:48:01  <indutny>hm
10:48:03  <indutny>good
10:48:05  <indutny>:)
10:48:10  <indutny>mraleph: are you using 64bit version of node?
10:48:24  <indutny>(just to be sure we have same env)
10:50:26  <mraleph>yes
10:51:29  <indutny>strange
10:51:43  <indutny>btw, any ideas about https://github.com/joyent/node/pull/1667#issuecomment-2038013 ?
10:51:56  <indutny>what do you think? v8 issue or node?
10:58:01  <indutny>mraleph: but how can I pass v8::Context to JSFun ?
10:58:41  <mraleph>indutny: don't pass it. pass global object
10:58:49  <indutny>mraleph: context->Global() ?
10:58:55  <mraleph>yep
10:59:06  <indutny>ok
10:59:11  <indutny>ah, right
10:59:13  <indutny>sorry
10:59:15  <indutny>stupid question
10:59:27  <mraleph>about slowness I know nothing :-)
11:11:12  <indutny>:)
11:11:18  <indutny>bad news everyone
11:11:22  <indutny>have you tested it?
11:12:54  * bnoordhuisjoined
11:17:58  <dmkbot>joyent/node: cryptix: test-fs-utimes - debug assertion fails on win32 - https://github.com/joyent/node/issues/1666
11:24:47  <CIA-52>libuv: Ben Noordhuis master * r4d7cfe4 / test/run-tests.c : test: remove stale prototype declaration - https://github.com/joyent/libuv/commit/4d7cfe431348613f84deffc85d3d868db5c0ec74
11:24:48  <CIA-52>libuv: Matthew Sporleder master * r4320874 / (5 files in 5 dirs): unix: netbsd support - https://github.com/joyent/libuv/commit/4320874fcf202a85408e64b451a45b8b79ac91a2
11:24:49  <CIA-52>libuv: Ben Noordhuis master * r90ea007 / test/test-spawn.c : test: fix compiler warnings for test-spawn.c - https://github.com/joyent/libuv/commit/90ea007f61fee7935f73db8b67b86001f0210a8c
11:24:51  <CIA-52>libuv: Ben Noordhuis master * r5641503 / test/test-fs.c :
11:24:51  <CIA-52>libuv: test: fix compiler warnings for test-fs.c
11:24:51  <CIA-52>libuv: Include <unistd.h> on Unices, fixes warnings about unlink() not being declared. - https://github.com/joyent/libuv/commit/5641503ae7708f0da72d8ac883d60734335b8033
11:26:15  <CIA-52>libuv: Ben Noordhuis master * r8fd1d71 / AUTHORS : Update AUTHORS - https://github.com/joyent/libuv/commit/8fd1d710490a9c997957f70de523585ffe81c24f
11:38:40  <indutny>mraleph: yt?
11:41:03  <mraleph>kinda
11:42:08  <indutny>can you give me advice on what's happening?
11:43:09  <indutny>mraleph: http://github.com/indutny/node/tree/feature-vm-context
11:43:49  <indutny>https://github.com/indutny/node/blob/feature-vm-context/src/node_script.cc#L370
11:43:56  <indutny>https://github.com/indutny/node/blob/feature-vm-context/lib/vm.js#L24-33
11:44:42  <indutny>tl; dr - I implemented javascript method that should copy all properties from source to target, saving it as persistent handle in C++ and then invoking to copy props of `sandbox` to `context->Global()`
11:45:17  <indutny>but when invoking any of copied props - I got `not defined` error
11:46:01  <indutny>any ideas?
11:46:05  <mraleph>what is not defined?
11:47:13  <indutny>mraleph: anything that should be
11:47:20  <indutny>mraleph: try running "./node"
11:47:26  <indutny>mraleph: process, require and anything will be undefined
11:47:45  <indutny>mraleph: while I'm sure that they're copied (I added console.log statement in that js clone method)
11:47:58  <dmkbot>joyent/node: cryptix: test-fs-utimes - debug assertion fails on win32 - https://github.com/joyent/node/issues/1666
11:47:59  <dmkbot>joyent/node: ry: set appropriate err.code for 'socket hang up' errors - https://github.com/joyent/node/issues/1672
11:48:36  <mraleph>indutny: I am kinda busy atm
11:48:52  <indutny>mraleph: sorry, I'll ping you later
11:49:01  <mraleph>np. I'll try to remember
11:49:28  <indutny>thanks
11:49:29  <indutny>:)
12:03:28  <indutny>mraleph: when you'll be back:
12:03:43  <indutny>seems like context->Global() is a proxy to actual global object, not real global object
12:03:48  <indutny>probably that causes the problem
12:08:54  <mraleph>yes that is true
12:09:11  <mraleph>try passing prototype of context->Global() to the function
12:10:03  <indutny>how?
12:10:17  <indutny>context->Global->GetPrototype() ?
12:10:53  <indutny>haha
12:10:54  <indutny>it works
12:10:56  <indutny>nice
12:12:07  <indutny>mraleph: thank you! :)
12:22:58  <dmkbot>joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673
12:23:07  <indutny>heh :)
12:39:36  * dmkbotquit (Remote host closed the connection)
12:39:54  * dmkbotjoined
12:44:59  * dmkbotquit (Remote host closed the connection)
12:45:19  * dmkbotjoined
13:08:51  * pquernaquit (*.net *.split)
13:08:52  * bentkusquit (*.net *.split)
13:09:29  * pquernajoined
13:10:32  * bentkusjoined
13:15:16  <dmkbot>joyent/node: indutny: High-level debugger API - https://github.com/joyent/node/issues/1667
13:50:15  * mralephquit (Quit: Leaving)
13:54:48  * dmkbot1joined
13:58:45  * dmkbot1quit (Remote host closed the connection)
13:59:01  * dmkbot1joined
13:59:06  * dmkbotquit (Ping timeout: 276 seconds)
14:34:56  * dmkbot1quit (Remote host closed the connection)
14:35:15  * dmkbotjoined
14:57:42  * pquernaquit (Changing host)
14:57:42  * pquernajoined
15:05:30  * ToXedVirusjoined
15:06:32  * ToXedVirusquit (Excess Flood)
15:07:42  * bentkusquit (Excess Flood)
15:15:12  <dmkbot>joyent/node: nzakas: stdout not flushed upon exit with output redirect - https://github.com/joyent/node/issues/1669
15:22:55  * bentkusjoined
15:31:38  * bentkusquit (Ping timeout: 260 seconds)
15:35:12  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
15:35:33  <indutny>ryah: good morning!
15:35:41  <indutny>I figured out that problem
15:35:46  <indutny>and implemented fix
15:35:49  <indutny>https://github.com/joyent/node/pull/1673
15:38:24  * bentkusjoined
15:50:12  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
15:55:12  <dmkbot>joyent/libuv: pietern: uv_write_t and error handling - https://github.com/joyent/libuv/issues/179
16:01:06  <CIA-52>node: koichik master * r6139459 / (lib/util.js test/simple/test-util-inspect.js):
16:01:06  <CIA-52>node: util: Fix inspection for sparse array
16:01:06  <CIA-52>node: Fixes #1651. - http://git.io/4JXoNQ
16:01:55  <CIA-52>node: koichik master * r98b6442 / lib/util.js : util: Divide inspect() into some subroutines - http://git.io/qZxdxw
16:02:24  <CIA-52>libuv: Bert Belder master * rc274151 / src/win/process.c : win: fix spawn() bug - http://git.io/hZRRgQ
16:03:03  <CIA-52>libuv: Bert Belder noinit * rf23da38 / (33 files): Remove uv_init calls from tests and benchmarks - http://git.io/cd7TYw
16:03:04  <CIA-52>libuv: Bert Belder noinit * rc24cfdc / (5 files in 3 dirs): Remove uv_init from uv.h and windows backend - http://git.io/JHJNwQ
16:03:27  <piscisaureus>bnoordhuis/ryah: see noinit branch. Can one of you remove uv_init from the unix backend and then land it?
16:04:06  <bnoordhuis>so we're going down the zero init path?
16:04:16  <piscisaureus>yes
16:04:28  <bnoordhuis>how does that work for c-ares?
16:04:41  <bnoordhuis>it's not safe to initialize in a multi-threaded environment
16:04:46  <piscisaureus>bnoordhuis: the uses explicitly initializes c-ares
16:05:07  <piscisaureus>bnoordhuis: but I added uv_once to the windows backend, now private only, but we could easily make that public
16:05:12  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
16:05:14  <piscisaureus>bnoordhuis: it's modeled after pthread_once
16:05:30  <piscisaureus>so if we decided to export it then it would be trivial for you to do the unix side
16:06:20  <piscisaureus>#define uv_once pthread_once
16:06:21  <piscisaureus>#define uv_once_t pthread_once_t
16:06:21  <piscisaureus>#define UV_ONCE_INIT PTHREAD_ONCE_INIT
16:06:23  <piscisaureus>should do it :-)
16:06:42  <bnoordhuis>remind me again, what do we win here?
16:07:04  <piscisaureus>bnoordhuis: people don't have to call uv_init
16:07:13  <piscisaureus>people seem to not like it
16:07:36  <piscisaureus>esp. ryah and your/his colleagues
16:07:47  <bnoordhuis>any serious library has a init function, ex. libapr
16:11:13  <CIA-52>libuv: Bert Belder noinit * r65ff2e6 / (5 files in 3 dirs): Remove uv_init from uv.h and windows backend - http://git.io/eAlv4A
16:11:13  <CIA-52>libuv: Bert Belder noinit * rc253036 / (33 files): Remove uv_init calls from tests and benchmarks - http://git.io/dVvl9A
16:12:14  <piscisaureus>bnoordhuis: this is just a little nore convenient, and ryah+DrPizza convinced me that the performance impact would be nil
16:12:24  <piscisaureus>node=more
16:12:29  <piscisaureus>nore=more
16:13:04  <bnoordhuis>i'll have them keep that promise
16:13:08  * bentkusquit (Ping timeout: 260 seconds)
16:13:14  <piscisaureus>(which given the transitive nature of the equals operator, implies that node=nore, but that aside)
16:13:40  <bnoordhuis>= is assignment, not comparison
16:14:01  <bnoordhuis>unless you're going all CS-y on me here
16:16:16  <piscisaureus>bnoordhuis: the opposite, = is generally not assignment
16:16:25  <piscisaureus>except in CS
16:16:35  <DrPizza>piscisaureus: why is it noinline?
16:16:54  <piscisaureus>DrPizza: that code is rarely run
16:17:09  <piscisaureus>DrPizza: i want the compiler to inline only the outer lock check
16:17:19  <piscisaureus>because that's run often
16:17:34  <piscisaureus>DrPizza: that's also why I made it 2 functions
16:17:43  <DrPizza>hmm
16:17:47  <DrPizza>instead of the hokey alignment thing
16:17:51  <DrPizza>can't you just force the structure to be aligned?
16:17:59  <piscisaureus>DrPizza: yes
16:18:29  <piscisaureus>DrPizza: but I'd like to make it general-purpose
16:18:51  <piscisaureus>besides, how problematic is that hokeyness
16:19:21  <DrPizza>I dunno, it makes my eyes glaze over
16:20:11  <piscisaureus>DrPizza: let's just say that it works. There's a comment that explains what it does.
16:20:57  <piscisaureus>DrPizza: basically we just align the pointer by adding [0..sizeof(HANDLE)-1] bytes to it
16:27:10  <DrPizza>won't that break if the handle is already aligned
16:30:12  <dmkbot>joyent/node: kuebk: Unexpected behavior of console.log under certain condition - https://github.com/joyent/node/issues/1634
16:30:22  * bentkusjoined
16:34:22  * isaacsjoined
16:41:09  * felixgejoined
16:41:09  * felixgequit (Changing host)
16:41:09  * felixgejoined
16:43:13  <bnoordhuis>we need a check to verify that the same uv_write_t isn't submitted twice
16:43:28  <bnoordhuis>it creates a loop in the write and write_completed queues...
16:50:12  <piscisaureus>DrPizza: no, then we're just adding 0
16:50:15  * piscisaureusoff to dinner
16:50:51  <DrPizza>does & have lower precedence than +?
16:50:55  <DrPizza>so it does the + before the &?
16:51:11  <DrPizza>I think at the very least it should have some parens around the +
17:01:23  <ryah>hello
17:05:12  <dmkbot>joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673
17:05:13  <dmkbot>joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673
17:06:16  <bnoordhuis>DrPizza: & as in address of or bitwise and?
17:06:30  <bnoordhuis>hi ryah btw :)
17:07:16  <DrPizza>bnoordhuis: bitwise and
17:07:32  <bnoordhuis>DrPizza: yes, lower precedence
17:07:43  <bnoordhuis>but it's still good form to enclose it in parens
17:07:46  <DrPizza>so the + happens first?
17:07:54  <bnoordhuis>no the &
17:07:57  <bnoordhuis>er
17:08:07  <bnoordhuis>yes
17:08:08  <DrPizza>yeah I think piscisaureus needs to add parens :)
17:08:32  <bnoordhuis>:)
17:13:18  * igorziquit (Quit: Page closed)
17:13:49  * igorzijoined
17:14:17  <igorzi>hey
17:14:36  <DrPizza>hi
17:15:12  <dmkbot>joyent/libuv: luislavena: Undefined ENOTSUP and IO_REPARSE_TAG_SYMLINK under mingw-w64 - https://github.com/joyent/libuv/issues/181
17:15:49  <CIA-52>libuv: Ben Noordhuis master * r98b9f58 / (test/test-list.h test/test-tcp-close.c): test: make sure that write callbacks run when handle is closed - http://git.io/l1f2ag
17:15:51  <DrPizza>QQ mingw bitches
17:15:52  <CIA-52>libuv: Ben Noordhuis master * r431195c / (src/unix/core.c src/unix/internal.h src/unix/stream.c): unix: run callbacks of pending writes when handle is closed - http://git.io/l61Y8w
17:22:50  * brsonjoined
17:30:12  <dmkbot>joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673
17:30:28  <indutny>ryah: ping
17:30:30  <indutny>ryah: done
17:32:04  <ryah>indutny: thanks
17:35:01  * graydonjoined
17:38:34  <CIA-52>libuv: Bert Belder noinit * r7511e79 / src/win/threads.c : More parens in pointer alignment calculation - http://git.io/zUiKqQ
17:38:45  <piscisaureus>DrPizza: ^
17:39:06  <DrPizza>much better :)
17:40:12  <dmkbot>joyent/node: ry: set appropriate err.code for 'socket hang up' errors - https://github.com/joyent/node/issues/1672
17:52:10  <felixge>ryah: heading to the airport now in a few minutes. Should I plan on getting some food before arriving at your place, or would you like to have some food together?
17:52:37  <felixge>I'll probably be at your place ~7:30-8pm
17:52:44  <ryah>felixge: together - mikeal is going to meet us
17:52:58  <ryah>isaacs: you're welcome to come too
17:53:00  <felixge>ryah: ok, great. I'll try to hurry so nobody has to starve because of me :)
17:53:12  <felixge>ryah: I'll send you a text when I get into BART
17:53:17  <ryah>felixge: k
17:53:28  <felixge>see you later
17:53:29  * felixgequit (Quit: http://www.debuggable.com/)
17:55:37  * ericktjoined
18:00:48  <piscisaureus>call time now?
18:02:32  <ryah>piscisaureus: yes
18:02:34  <ryah>bnoordhuis: call
18:02:46  <bnoordhuis>roger
18:04:09  <piscisaureus>bnoordhuis: there yet?
18:04:10  <erickt>Good morning #libuv. Does anyone have a chance to look at https://github.com/joyent/libuv/pull/156? We're trying to update the rust language's use of libuv and found a couple bugs
18:04:28  <bnoordhuis>piscisaureus: nearly
18:05:27  <bnoordhuis>erickt: will do in a couple of minutes
18:05:48  <erickt>awesome, thanks bnoordhuis
18:09:12  <isaacs>ryah: I'll be at class from 6 to 9 learning ASL tonight. thanks, though :)
18:11:30  <piscisaureus>erickt: we are having a scrum call right now. we will get back to you after that
18:11:55  <erickt>no problem at all :)
18:19:03  * bentkusquit (Read error: Connection reset by peer)
18:19:11  <bnoordhuis>erickt: i can't verify the darwin patches
18:19:32  * bnoordhuisis a linux-only user
18:19:58  <CIA-52>libuv: Bert Belder master * r06d69a8 / (src/win/fs.c src/win/winapi.h): Make MinGW happy again - http://git.io/ZpkeoQ
18:20:23  <erickt>I can refactor the patch to just uv_getaddrinfo to just get that out of the way.
18:20:38  <erickt>unless you can test the mingw changes
18:21:16  <bnoordhuis>erickt: are 45e7f47 and c28c780 the only darwin-specific stuff?
18:21:32  <bnoordhuis>erickt: ah, mingw-64 - i can only test mingw32
18:21:41  <bnoordhuis>piscisaureus: you maybe? ^
18:21:56  <bnoordhuis>probably later tonight
18:21:59  <piscisaureus>bnoordhuis: I have only mingw32 as well
18:22:05  <erickt>bnoordhuis: yep
18:22:12  <piscisaureus>but I believe them
18:22:27  <piscisaureus>if it doesn't break msvc and mingw32, I'm fine with landing it
18:22:35  <bnoordhuis>okay, i'll test and merge it
18:23:00  <piscisaureus>erickt: I just landed a bunch of other mingw32 fixed - can you check if it still builds on mingw_w64?
18:23:07  <piscisaureus>fixed->fixes
18:23:21  <erickt>will do
18:25:55  <bnoordhuis>erickt: it needs to be rebased against master, it misses the multiplicity stuff
18:26:19  <bnoordhuis>or..
18:26:21  <erickt>by the way, I am just using the mingw-w64 cross compiler from http://mingw-w64.sourceforge.net/ to compile on OSX
18:26:48  <bnoordhuis>erickt: are you using the loop pointer from the getaddrinfo handle?
18:29:18  <erickt>src/unix/core.c's uv_getaddrinfo does for error messages
18:30:37  <bnoordhuis>right you are, sir, i was misreading the patch
18:31:47  <erickt>piscisaureus: looks like src/win/fs.c is no longer compiling with mingw-w64. It can't find REPARSE_DATA_BUFFER
18:33:16  <erickt>oh that's odd, that's a libuv structure. I wonder if my gyp setup isn't including that on the search path
18:35:23  <erickt>oh, it's only compiled in for mingw32. I'll add mingw64 as well
18:36:40  <piscisaureus>erickt: it's only compiled for msvc
18:36:48  <piscisaureus>erickt: because my mingw32 already has it
18:38:29  <erickt>looks like mingw64 doesn't. Simple to fix
18:45:09  <bnoordhuis>erickt: lgtm otherwise, if you can fix that mingw64 thing i'll merge it whole
18:48:21  <erickt>drat. the tests aren't linking anymore because _umaskval is undefined
18:48:59  <CIA-52>node: Ben Noordhuis master * rbb3a1d5 / (lib/http2.js test/simple/test-http-conn-reset.js):
18:48:59  <CIA-52>node: http: set .code='ECONNRESET' on socket hang up errors
18:48:59  <CIA-52>node: Fixes #1672. - http://git.io/EhdPJg
18:54:39  <igorzi>ryah: you want to change uv_fs_* functions to return the result directly (instead of req.result) if it's synchronous?
18:57:56  <ryah>igorzi: yes!
18:58:36  <ryah>igorzi: i think the API is too bulky right now
18:58:51  <ryah>ideally we wouldn't have to cleanup the req on sync actions..
18:59:05  <ryah>igorzi: are you going to send that ifdef removal patch?
18:59:42  <igorzi>ryah: yeah, i'm also including the extra arg for symlink so that we can set UV_FS_SYMLINK_DIR properly
18:59:43  <CIA-52>node: Fedor Indutny master * r4527de8 / (3 files in 3 dirs):
18:59:44  <CIA-52>node: vm context with accessors
18:59:44  <CIA-52>node: true copy of sandbox properties
18:59:44  <CIA-52>node: catch sealed errors, pass global's prototype to CloneObject
18:59:44  <CIA-52>node: Fixes #1673 - http://git.io/VfVC1A
19:00:06  <igorzi>ryah: do you want the uv_fs api changed for today's release?
19:00:12  <dmkbot>joyent/libuv: erickt: Fix uv_getaddrinfo to accept custom data. - https://github.com/joyent/libuv/issues/156
19:00:17  <ryah>igorzi: no
19:00:25  <igorzi>ok, i'll send the patch shortly
19:00:25  <indutny>ryah: do you have any thoughts, recommendations, feedback on debugger?
19:03:10  <ryah>indutny: not yet - going to look at it now
19:03:25  <indutny>one second, I'll push getter commit
19:04:13  <indutny>ah, already pushed
19:07:36  <indutny>I rebased it and forced push, so it's up to date with accessor commit now
19:08:08  <ryah>k
19:12:49  <ryah>bnoordhuis: can we add shims for net.Stream(0) and net.Stream(1) to fix https://github.com/joyent/node/issues/1655
19:13:26  <bnoordhuis>ryah: everything is possible
19:14:00  <ryah>bnoordhuis: i'd be down for that
19:14:22  <bnoordhuis>ryah: then let's make it happen
19:14:26  <bnoordhuis>i'll fix it
19:15:12  <dmkbot>joyent/node: ry: test-child-process-ipc broken on unix - https://github.com/joyent/node/issues/1655
19:16:56  <ryah>indutny: i like the repl command
19:17:04  <indutny>ryah: haha :)
19:17:08  <ryah>indutny: but when i ^c from the repl, it exits the whole debugger
19:17:15  <indutny>heh, really?
19:17:26  <indutny>strange, because it wfm
19:17:51  <indutny>SIGINT isn't emitted, probably
19:17:56  <ryah>oh- maybe it does work..
19:18:26  <ryah>indutny: seems pretty awesome
19:18:30  <indutny>ryah: great!
19:18:39  <indutny>ryah: all old functionality was preserved
19:18:53  <indutny>ryah: so actually only repl() was added and everything moved to `repl` module
19:19:20  <ryah>indutny: sometimes when i do "next"
19:19:29  <ryah>it displays a lot of random stuff
19:19:30  <ryah>https://gist.github.com/1204417
19:19:44  <indutny>oh, yes
19:19:50  <ryah>it would be good if it only displayed the line which you're broken on
19:20:06  <ryah>or better.. if it showed the source code with an arrow :)
19:20:11  <indutny>haha :)
19:20:24  <indutny>https://gist.github.com/1204417#L27 ?
19:20:30  <indutny>like that?
19:20:32  <ryah>indutny: yes
19:20:53  <indutny>do we actually need all this junk that is printed on breakpoint?
19:21:00  <ryah>also i want to type "n" instead of "next" and "l" instead of "list" sometimes
19:21:03  <ryah>no, i dont think so
19:21:07  * mralephjoined
19:21:23  <ryah>indutny: anyway - shall we merge like this?
19:21:29  <ryah>or do you want to do more work ?
19:21:40  <ryah>well, i think we should update the docs first
19:21:46  <indutny>ryah: I think better finish and stabilize API, when are you planning to roll out next 0.5.x ?
19:21:51  <indutny>yeah, docs would be cool too
19:22:25  <ryah>indutny: v0.5.6 is happening now
19:22:31  <ryah>i think it's not in time for that
19:22:46  <indutny>yeah
19:22:50  <indutny>agreed
19:22:54  <ryah>so let's land after the v0.5.6 forks - which will be in a few hours
19:23:06  <indutny>ok
19:23:11  <ryah>then we can take incrememntal fixes from you after
19:23:16  <indutny>probably I'll be afk
19:23:22  <indutny>it's 2:23 am
19:23:24  <ryah>*incremental
19:23:35  <ryah>indutny: yeah, go to sleep. we'll talk later
19:24:32  <indutny>ryah: have you noticed that I changed `repl` and `readline` modules?
19:24:36  <indutny>(just to be sure)
19:27:22  <ryah>indutny: yes
19:33:52  <indutny>ryah: updated
19:34:05  <indutny>ryah: shorten breakpoint message + shortcuts
19:34:38  <indutny>btw, do you know why v8's debugger's `next` works like `step in` ?
19:38:12  <ryah>indutny: does it?
19:38:22  <indutny>try ./node debug lib/fs.js
19:38:29  <indutny>and then `run` and `next`
19:39:14  <indutny>oh, not really
19:39:24  <indutny>but it's not working as I expecting it to be
19:39:51  <indutny>going somewhere into module.sj
19:39:57  <indutny>s/sj/js
19:41:31  <indutny>I'm sure that it invokes correct method through DebuggerProtocol
19:49:19  <ryah>hm
19:49:23  <ryah>yeah it seems strange
19:50:16  <igorzi>ryah: https://github.com/igorzi/node/commit/f0b9a1b6401032eeb724c615b590cd7704ae0ba3
19:51:30  <indutny>ryah: looks like Module._load is causing it to break
19:52:15  <indutny>ryah: that happens only on require()
19:52:25  <ryah>indutny: strange
19:53:32  <ryah>igorzi: thanks. does that fix test/simple/test-fs-symlink.js ?
19:56:04  <igorzi>ryah: it alsmost does.. readlink returns \\??\\C:\\ (with "\\??\\" in front of the path).. i'm looking at it now
19:56:41  <igorzi>ryah: also, in order for readlink to pass the test needs to run in elevated node.exe process
19:57:04  <igorzi>(sorry, in order to symlink to work, node.exe needs to run elevated)
19:57:11  <erickt>Is the github ry in the channel?
19:59:52  <pquerna>ry == ryah
20:00:41  <ryah>erickt: what's up?
20:01:16  <erickt>thanks :) thought it'd be faster to respond here instead of on the pull request
20:01:41  * brsonquit (Ping timeout: 240 seconds)
20:02:01  <erickt>I'd be fine if uv_getaddrinfo just accepted a data field, I was just matching the api style
20:04:04  * brsonjoined
20:05:01  <ryah>erickt: i prefer adding the argument to uv_getaddrinfo
20:05:41  <ryah>uv_getaddrinfo_t should be a subclass of uv_req_t
20:05:56  <ryah>and uv_req_t initalizer aren't done with _init() functions currently
20:06:05  <ryah>e.g. uv_shutdown()
20:07:33  <indutny>ryah: going to sleep, but I'll woke up 4.5 hours later and answer any questions
20:07:41  <indutny>thanks for pulling stuff
20:07:45  <indutny>:)
20:07:53  <indutny>s/stuff/my stuff/
20:14:58  <erickt>ryah: I can look into porting to uv_req_t
20:15:39  <ryah>erickt: that would be great
20:16:41  <igorzi>DrPizza: you here?
20:17:53  <erickt>I love how open source projects work. I just wanted to start working on a package management system for rust, which lead me to trying to access a url, which lead me to updating libuv to resolve a domain name, which lead me here. Maybe someday I'll be able to unwind my stack :)
20:20:51  <bnoordhuis>erickt: similar story here, i was looking for a http library that didn't suck somewhere in early 2010
20:20:57  <CIA-52>node: Igor Zinkovsky master * r65e6ba9 / (lib/fs.js src/node_file.cc): Enable link, symlink, and readlink on windows - http://git.io/S9BWEA
20:22:12  <ryah>erickt: :)
20:22:56  <ryah>erickt: be careful of stack overflow
20:24:07  <CIA-52>libuv: Igor Zinkovsky master * r70bc6c0 / uv.gyp : add test-tcp-close.c to uv.gyp - http://git.io/L9ocmA
20:31:28  <CIA-52>node: Ryan Dahl master * r26834b0 / (3 files in 3 dirs):
20:31:28  <CIA-52>node: Revert "vm context with accessors"
20:31:29  <CIA-52>node: This reverts commit 4527de8cba3bf5f107fcefcf43dbdaa308881ba4.
20:31:29  <CIA-52>node: Causes segfault in test/message/undefined_reference_in_new_context.js - http://git.io/VYHr2A
20:34:35  <indutny>ryah: ah
20:34:48  <indutny>that's because bindings was used w/o initialization
20:34:56  <indutny>hm...
20:35:12  <dmkbot>joyent/node: indutny: Getters/Setters in VM's Context - https://github.com/joyent/node/issues/1673
20:37:26  <indutny>ryah: I need to run some js code on binding init
20:38:12  <indutny>is using process.binding not in core modules a good practice?
20:38:28  <indutny>https://github.com/joyent/node/pull/1673/files#L0R24
20:38:44  <indutny>that's what I mean by saying `binding init`
20:39:15  <indutny>I can hardcode it inside node_script.cc
20:39:17  <ryah>indutny: process.binding is private to users
20:39:18  <indutny>what do you think?
20:39:37  <indutny>ryah: so probably ignore that test error and use Script from require('vm') ?
20:39:50  <ryah>indutny: not sure - do what you think is best :)
20:40:15  <indutny>probably hard-coding would be best in that case...
20:40:39  <indutny>just matter of design
20:53:59  <indutny>ryah: fixed
20:54:34  <indutny>ryah: https://github.com/indutny/node/commit/5e75a6a8acc28a6c90a5c1e34381fd20d2daa27
20:55:37  <indutny>test passing now
20:58:28  <indutny>brb
21:03:26  <CIA-52>node: Bert Belder bump56 * re94801b / (4 files in 3 dirs): Bump version to 0.5.6 - http://git.io/aWr0pg
21:10:19  <indutny>ah
21:10:22  <ryah>indutny: im going to wait until after the release for it
21:10:46  <indutny>ryah: https://github.com/joyent/node/commit/e94801b9d1dbdd8f7f21bdef275a16c2a0074a43 already released?
21:10:59  <indutny>ok
21:11:30  <indutny>oh, just 3.5 hours left until waking up...
21:11:32  <indutny>gtg
21:11:34  <indutny>ttyl!
21:11:55  <igorzi>piscisaureus: got a sec?
21:12:11  <piscisaureus>ok
21:12:16  <piscisaureus>igorzi:
21:13:07  <igorzi>for readlink impl, we use SubstituteName from SymbolicLinkReparseBuffer
21:13:16  <piscisaureus>yes
21:13:19  <piscisaureus>seems right
21:13:24  <igorzi>for absolute paths that puts \??\ in front of the path
21:13:31  <piscisaureus>yes, strip that
21:14:03  <piscisaureus>although the risk is that a ntfs mount point might also have that
21:14:08  <piscisaureus>let's not care for the moment
21:14:10  <igorzi>ok, thanks.. i was wondering if we should strip that or use PrintName
21:14:23  <piscisaureus>igorzi: no, use that.
21:14:45  <piscisaureus>PrintName is what it says - for printing only. It's not even guaranteed to be correct
21:14:57  <igorzi>that -> strip "\??\"?
21:15:04  <igorzi>ok
21:15:07  <piscisaureus>yes
21:15:12  <piscisaureus>stripping that should be fine
21:23:19  <DrPizza>or...
21:23:21  <DrPizza>don't strip it
21:23:24  <DrPizza>and use it across the board
21:23:28  <DrPizza>and use W functions instead of A functions
21:23:49  <DrPizza>(and perform / to \ conversion in libuv, since the system will no longer do it for you)
21:23:56  <DrPizza>I can't remember what else there is to do
21:24:07  <DrPizza>do you have to fix up relative paths or anything?
21:24:22  <piscisaureus>no, just strip it
21:25:06  <DrPizza>naw, we should make node into that rarest of beasts: a windows program that doesn't barf on LFNs
21:25:30  <piscisaureus>we can do that but we should not expose it to the user
21:25:40  <piscisaureus>we can allways put the \??\ back in the fs routines
21:25:59  <piscisaureus>but there's more important work to do
21:26:01  <CIA-52>libuv: Erick Tryzelaar master * rf4e2d55 / test/test-get-currentexe.c :
21:26:01  <CIA-52>libuv: Fix test-get-currentexe on darwin.
21:26:01  <CIA-52>libuv: Darwin uses _NSGetExecutablePath to determine
21:26:01  <CIA-52>libuv: the path of an executable, but that can return
21:26:01  <CIA-52>libuv: an absolute path. This patch tweaks the executable
21:26:02  <CIA-52>libuv: path to strip off a potential "./" prefix from
21:26:02  <CIA-52>libuv: argv[0], which fixes the test. - http://git.io/reKqKA
21:26:03  <CIA-52>libuv: Erick Tryzelaar master * rfe6157b / uv.gyp : Stop "./gyp_uv --check" from complaining. - http://git.io/ZxkgBg
21:26:04  <CIA-52>libuv: Erick Tryzelaar master * r1a43429 / test/test-fs.c : Fix test-fs.c for darwin. - http://git.io/3Es7fg
21:26:39  <ryah>erickt: thanks --^
21:26:47  <ryah>erickt: these are three of the 5 patches
21:27:12  <piscisaureus>ryah: I think there is also a mingw-w64 patch somewhere
21:27:45  <ryah>https://github.com/erickt/libuv/commit/5048745d4a55aaa333fa0ce940311913d9d07e72
21:27:47  <ryah>^-- ?
21:28:04  <piscisaureus>ryah: yes, land that too
21:28:24  <CIA-52>libuv: Erick Tryzelaar master * r5b567b2 / src/win/getaddrinfo.c : Fix src/win/getaddrinfo.c for mingw-w64. - http://git.io/CfZB-w
21:28:31  <piscisaureus>ryah++
21:28:37  <piscisaureus>erickt++
21:28:45  <ryah>erickt: thanks
21:29:36  <CIA-52>node: Ryan Dahl master * rb6e0433 / (20 files in 7 dirs): Upgrade libuv to 5b567b2 - http://git.io/2d1ZEQ
21:29:45  <piscisaureus>nice
21:30:12  <dmkbot>joyent/libuv: erickt: Fix uv_getaddrinfo to accept custom data. - https://github.com/joyent/libuv/issues/156
21:32:14  * brsonquit (Read error: Operation timed out)
21:49:59  <CIA-52>libuv: Bert Belder master * r2d1c672 / (src/win/fs.c src/win/winapi.h test/test-fs.c): More MinGW fixes - http://git.io/oZlsSw
21:54:08  <CIA-52>node: Bert Belder master * r0a127d6 / (3 files in 2 dirs): Upgrade libuv to 2d1c672e - http://git.io/J0JGbg
21:55:46  * brsonjoined
22:07:51  <erickt>thanks ryah!
22:28:03  <ryah>mraleph: you there?
22:28:04  <ryah>#
22:28:04  <ryah># Fatal error in /home/ryan/node-v0.5.6-rc1/deps/v8/src/objects-inl.h, line 1682
22:28:04  <ryah># CHECK(map() != (v8::internal::Isolate::Current()->heap())->fixed_cow_array_map()) failed
22:28:07  <ryah>#
22:28:28  <ryah>does this mean anything to you?
22:31:39  <piscisaureus>futimes asserts on windows :-/
22:31:54  <piscisaureus>ryah: ^
22:33:50  <mraleph>yes
22:33:53  <mraleph>ah
22:33:56  <mraleph>oh
22:34:13  <mraleph>ryah: is this trunk?
22:34:22  <mraleph>latest trunk was foobared
22:34:24  <piscisaureus>mraleph: I was just watching a movie with that
22:34:34  <mraleph>accidentally
22:34:59  <mraleph>3.6.2 should be ok
22:35:09  <mraleph>3.6.1 is no-no
22:35:27  <piscisaureus>dang!
22:35:46  <piscisaureus>we're on 3.6.1
22:36:32  <mraleph>this is bad — it will blow up in nasty ways
22:36:44  <DrPizza>a movie with what?
22:36:51  <piscisaureus>[00:33] <mraleph> yes
22:36:51  <piscisaureus>[00:33] <mraleph> ah
22:36:51  <piscisaureus>[00:33] <mraleph> oh
22:36:53  <piscisaureus>that
22:37:07  <piscisaureus>for the record - it was a joke
22:37:17  <DrPizza>oic
22:37:47  <mraleph>I thought you saw a movie with foobared trunk
22:37:57  <mraleph>Terminator 2 probably
22:38:04  <piscisaureus>gheh
22:38:14  <piscisaureus>yes I will do that after I finish this movie
22:38:31  * felixgejoined
22:38:31  * felixgequit (Changing host)
22:38:31  * felixgejoined
22:45:12  <dmkbot>joyent/node: ry: test-child-process-ipc broken on unix - https://github.com/joyent/node/issues/1655
22:48:39  <bnoordhuis>^ that was a waste of time
22:50:47  <isaacs>How do i put something into process.binding("blah")?
22:51:19  <piscisaureus>isaacs: create a Blah.cc, and a Blah::Init function
22:51:29  <piscisaureus>then define NODE_MODULE(Blah)
22:52:02  <isaacs>hm.... did that, but it's not showing up.
22:52:16  <isaacs>is there a "add this thing to the build step" thing I'm missing?
22:52:27  <isaacs>NODE_MODULE(node_zlib, node::InitZlib);
22:52:32  <isaacs>that's in src/node_zlib.cc
22:52:41  <piscisaureus>isaacs: it get's linked in?
22:53:00  <bnoordhuis>isaacs: did you add zlib.cc to the wscript?
22:53:11  <bnoordhuis>or node.gyp if you're compiling with node
22:53:25  <isaacs>aha... added to gpy, but not wscript
22:53:48  <piscisaureus>isaacs: also add it to node_extensions.h
22:55:08  <isaacs>awesome!
22:55:09  <isaacs>$ ./node
22:55:09  <isaacs>> process.binding("zlib")
22:55:10  <isaacs>{ Zlib: [Function: Zlib] }
22:55:11  <isaacs>thanks
22:56:51  <ryah>mraleph: yeah
22:57:23  <ryah>HUGE SIGH
22:57:30  <ryah>should i revert V8 or upgrade?
22:57:45  <ryah>mraleph--^
22:58:06  <piscisaureus>
22:58:06  <piscisaureus>[00:35] <mraleph> 3.6.2 should be ok
22:58:06  <piscisaureus>[00:35] <mraleph> 3.6.1 is no-no
22:58:28  <DrPizza>always upgrade
22:58:30  <DrPizza>forward progress
22:58:58  <piscisaureus>I'm going to heavy-drink
22:59:06  <piscisaureus>to compensate for this boring job
22:59:13  <ryah>releases crush my soul
22:59:48  <ryah>piscisaureus: let me upgrade v8, i want to remove -Werrors
23:00:43  <piscisaureus>ryah: ^-- amend that
23:00:45  <CIA-52>node: Bert Belder v8upgrade * ra785c29 / (61 files in 9 dirs): Upgrade V8 to 3.6.2 - http://git.io/opepRw
23:00:45  <CIA-52>node: Bert Belder v8upgrade * r4425f27 / (4 files in 3 dirs): Bump version to 0.5.6 - http://git.io/VGd4Yg
23:00:56  <piscisaureus>shit
23:01:44  <ryah>:)
23:01:50  <piscisaureus>ryah: amend the v8upgrade branch anyway
23:01:54  <piscisaureus>i force-pushed it
23:02:41  <ryah>mraleph:
23:02:41  <ryah> D deps/v8/src/scanner-base.cc D deps/v8/src/scanner-base.h
23:02:47  <ryah>^-- these files are deleted?
23:02:55  <piscisaureus>yes
23:03:30  <mraleph>renamed
23:03:41  <mraleph>i think
23:03:49  <piscisaureus>they are gone anyway
23:03:50  <bnoordhuis>they're still in v8's bleeding edge
23:03:59  <bnoordhuis>oh, i lied
23:04:08  <piscisaureus>we're used to that
23:04:10  <bnoordhuis>they're gone in the bleeding bleeding edhe
23:04:12  <bnoordhuis>*edge
23:04:17  <ryah>blood everywhere
23:11:41  <CIA-52>node: Ryan Dahl master * r03c2f62 / (60 files in 9 dirs): Upgrade V8 to 3.6.2 - http://git.io/2-cQiA
23:12:43  <ryah>^-- piscisaureus the only difference between this and v8upgrade is the -Werror
23:13:03  <piscisaureus>ryah: +1 file?
23:13:17  <piscisaureus>or rather, -1 file
23:13:26  <piscisaureus>whit
23:13:27  <ryah>% git diff v8upgrade..master --stat
23:13:27  <ryah> deps/v8/SConstruct | 3 +--
23:13:28  <ryah> 1 files changed, 1 insertions(+), 2 deletions(-)
23:13:29  <piscisaureus>shit
23:13:50  <piscisaureus> node: Ryan Dahl master * r03c2f62 / (60 files in 9 dirs): Upgrade V8 to 3.6.2
23:13:50  <piscisaureus>node: Bert Belder v8upgrade * ra785c29 / (61 files in 9 dirs): Upgrade V8 to 3.6.2
23:14:02  <piscisaureus>:-?
23:14:12  <ryah>i think you didn't touch SConstruct
23:14:20  <ryah>but mine did
23:14:22  <piscisaureus>oh :-)
23:14:27  <piscisaureus>no!
23:14:39  <piscisaureus>ryah: your modifies 60, mine modifies 61
23:15:01  <ryah>hm
23:15:13  <ryah>probably you replaced \n with \r\n in one file :)
23:15:35  <ryah>piscisaureus: please make a rc2 tarball
23:15:59  <piscisaureus>ryah: http://twitpic.com/6i0fvc
23:16:11  <piscisaureus>igorzi: ^
23:16:38  <ryah>piscisaureus: meh
23:16:55  <piscisaureus>ryah: ignore that?
23:17:32  <piscisaureus>ryah: igorzi: and another one: http://twitpic.com/6i0gju
23:18:24  <ryah>piscisaureus: it's up to you - it seems to me that fs.c:610 looks okay
23:18:30  <bnoordhuis>piscisaureus: test-fs-utimes.js?
23:19:17  <piscisaureus>bnoordhuis: the second one, yes I think so
23:19:27  <igorzi>we need to init buffer (in case CreateFileA fails)
23:19:28  <piscisaureus>let's just carry on
23:19:45  <piscisaureus>this is not going to hurt the release build I guess
23:20:32  <piscisaureus>ryah: I am 50% through the tests, I can't make rc2 tarball now
23:20:38  <piscisaureus>or I have to start all over
23:20:39  <igorzi>ehh, it could cause a crash if CreateFileA fails
23:20:57  <ryah>piscisaureus: ok - going out for a coffee, bbiab
23:22:35  <igorzi>piscisaureus: how do you reproduce http://twitpic.com/6i0gju?
23:22:52  <piscisaureus>igorzi: I did just make test-all
23:22:57  <piscisaureus>eh
23:22:57  <bnoordhuis>igorzi: run test/simple/test-fs-utimes.js
23:23:03  <piscisaureus>vcbuild test-all
23:23:19  <piscisaureus>bnoordhuis: that's another one I think
23:23:20  <bnoordhuis>it's this issue: https://github.com/joyent/node/issues/1666
23:25:03  * mralephquit (Quit: Leaving.)
23:26:05  <CIA-52>libuv: Bert Belder master * r0d373eb / src/win/fs.c : win: fix bug in fs__readlink - http://git.io/v3QAfw
23:26:45  <igorzi>piscisaureus: that's most likely because of this: fs.futimesSync(-1, atime, mtime);
23:26:56  <DrPizza>piscisaureus: doh.
23:27:15  <igorzi>we should probably modify vcbuild to use release build by default
23:27:35  <piscisaureus>gheh no
23:27:40  <piscisaureus>well, maybe
23:27:43  <igorzi>but then we wouldn't catch legitimate issues
23:27:51  <piscisaureus>but this is a great way of finding bugs
23:28:13  <piscisaureus>it just sucks for releases :-)
23:28:36  <igorzi>or just run "vcbuild release test-all" during releases
23:28:37  <piscisaureus>igorzi: where are we doing futimesSync?
23:28:56  <piscisaureus>with fh == -1
23:29:04  <igorzi>piscisaureus: i have no idea :)
23:29:20  <piscisaureus>must be in a node test somewhere
23:30:27  <piscisaureus>igorzi: debug\node test\simple\test-fs-utimes.js
23:31:46  <bnoordhuis>hey, i only mentioned it twice
23:32:01  <piscisaureus>bnoordhuis: nananana
23:32:16  <piscisaureus>we should not allow people to use arbitrary fd's
23:32:48  <ryah>bnoordhuis: :)
23:33:57  <igorzi>piscisaureus: did you try running it with release?
23:34:21  <piscisaureus>igorzi: no
23:34:33  <piscisaureus>igorzi: but it's a problem even if it happens with debug only
23:34:59  <DrPizza>it's a problem especially if it happens with debug only
23:35:02  <igorzi>yeah, i know.. i just wanted to make sure that futimesSync(-1) is indeed the problem
23:35:29  <piscisaureus>igorzi: let me backtrace it
23:35:49  <piscisaureus>igorzi: phew, you're not insane after all :-)
23:36:43  <igorzi>heh.. that's good to know :)
23:39:21  <piscisaureus>igorzi: yes, i backtraced it, it's the -1 case
23:40:40  <igorzi>ok, let me be very clear.. i'm not saying that we should ignore it if it only happens in debug :)
23:41:14  <piscisaureus>yes, I understood. That when I stopped thinking you were insane :-0
23:41:23  <igorzi>good :)
23:41:42  <piscisaureus>bnoordhuis: igorzi: I'm having problems doing the release
23:41:51  <bnoordhuis>piscisaureus: tell me
23:41:53  <piscisaureus>can we close the tree for commits except for bug fixes
23:42:04  <bnoordhuis>node? sure
23:42:13  <bnoordhuis>i'm playing angry birds anyway
23:42:36  <piscisaureus>and maybe if you could all run `make test-all --mode=debug` and quash bugs :-)
23:42:47  <bnoordhuis>that too
23:43:51  <igorzi>piscisaureus: how many failures are there now?
23:44:36  <piscisaureus>igorzi: well I interrupted it here: [14:48|% 96|+ 217|- 53]
23:45:26  <igorzi>what's the goal for the release?
23:45:46  <piscisaureus>igorzi: no clear goal. But no regressions pls
23:46:06  <piscisaureus>and no bugs that shouldn't be there
23:46:40  <igorzi>but, test-all wasn't 100 passing for 0.5.5, right? so what's the test group that should have 0 fail? test-uv?
23:47:15  <piscisaureus>no, sure
23:47:30  <piscisaureus>But I am seeing 11 regressions at least
23:47:38  <DrPizza>that sounds alarming
23:47:40  <DrPizza>in uv or node?
23:47:55  <piscisaureus>it was -42 first, now I am looking at -53 at 96%
23:48:23  <igorzi>piscisaureus: can you paste the regressed tests here?
23:48:37  <piscisaureus>igorzi: I am trying to get a list
23:48:43  <piscisaureus>just a sec
23:48:57  <DrPizza>it may not be the best time to suggest it, but I wonder if it would be useful to put the test results into a spreadsheet or wiki page or something so that we can more easily see the pass/fail status
23:49:10  <DrPizza>withoout having to read through the test output itself