Conversation with #inferno at Tue Apr 5 15:17:45 2011 on powerman-asdf@irc.freenode.net (irc) (15:20:34) KBme left the room (quit: Read error: Operation timed out). (14:45:40) base2design [~base2desi@68-190-40-142.dhcp.athn.ga.charter.com] entered the room. (15:17:35) KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] entered the room. (15:33:49) tensai_cirno [~cirno@80.250.216.102] entered the room. (15:52:00) base2design left the room (quit: Remote host closed the connection). (16:09:14) GriffenJBS: what should the contents of /usr/john/keyring/default be? (currently doesn't exist) and listen is complaining it can't read it (16:10:14) mjl-: GriffenJBS: it's supposed to be a certificate, for authentication (16:10:27) mjl-: most tools accept -A to disable cert authentication (16:10:34) mjl-: (eg listen(1) and mount(1) (16:10:35) mjl-: ) (16:11:00) GriffenJBS: yeah, ... I don't want -A on a public sock (16:11:38) GriffenJBS: the man mentions the file, but not how to create/edit it (16:15:29) GriffenJBS: ok, svc/auth needs to be running, but it says 'need to use createsignerkey(8)' (16:18:06) powerman: GriffenJBS: this process explained in details in inferno's install.pdf afair (16:20:33) powerman: you have to run auth service, add user account to that service (this supposed to be run on remote auth server, but it can be same emu), then run getauthinfo which will connect to auth service, check your (just added) login/pass, and create keyring/default (16:21:17) GriffenJBS: powerman, thanks, I was browsing man pages, and not seeing much (16:31:41) powerman: mjl-: looks like rog prefer same idea as I mention here yesterday: "don't really think mount should bother about this" (16:32:01) powerman: there are OS contract about fds 0-1-2 (16:32:36) powerman: there are some other additional contracts introduced by some tools - like 9p on stdin for apps executed by mount (16:32:56) powerman: or any amount of fd redirections for apps executed by sh (16:35:02) powerman: but no one ever promised to transparently transfer extra fd opened for first process (which has no idea about these extra fds) to another processes executed by first one (16:35:31) powerman: some app may work in this way, but there no system-wide agreement about such interface (16:35:45) powerman: so no reason to bother about this in mount(1) (16:42:56) powerman: hm. that was too easy: (16:42:56) powerman: ; echo > /fd/0ctl (16:42:56) powerman: panic: dupwrite (16:42:56) powerman: Killed (16:43:25) powerman: not sure is there should exists so easy way to kill emu… (17:03:10) GriffenJBS: :-/ was following install.pds, but svc/auth is now giving the same error listen did 'The requested address is not valid in its context' (17:04:24) GriffenJBS: the doc says if it fails, retry running svc/auth, which just gives the same error (17:04:42) tensai_cirno left the room (quit: Ping timeout: 246 seconds). (17:22:03) base2design [~base2desi@68-190-40-142.dhcp.athn.ga.charter.com] entered the room. (17:25:34) powerman: GriffenJBS: never seen such error before… maybe it's time to restart emu and repeat all steps again from scratch? :) (17:33:42) mjl-: powerman-asdf: yeah, i suppose you're right, about there being no guarantee that fd's are transferred (17:33:54) mjl-: but i'm wondering why that is. doesn't it make sense to leave fd's alone? (17:34:05) mjl-: aside from that it's not so easy/clean to get in inferno :) (17:34:20) mjl-: and being able to panic emu is a bug! (17:34:42) powerman: no, I don't think so. just because this make things more subtle, which is bad (17:35:01) mjl-: yes, good point (17:35:56) powerman: mjl-: you think it have sense to report this panic to charles? I suppose it's just a way how 'dup' driver implemented. probably it should just return error, of course, because these files doesn't supposed to be written (17:38:13) KBme left the room (quit: Ping timeout: 260 seconds). (17:38:45) mjl-: i think you should report it. perhaps figure out how exactly it is happening. attaching a patch is always good :) (17:41:25) powerman: actually, in my experience existence of patch have only minor effect on how fast charles will close that bug :) (17:43:00) GriffenJBS: powerman-asdf: yeah, I restarted emu and did all the steps again before I posted the message here (17:45:09) GriffenJBS: any way to attach spawn a process with debug attached? (17:45:32) GriffenJBS: wow, nvm that msg (17:46:25) GriffenJBS: any way to spawn a process with debug attached, rather than attaching to a running process? (17:47:10) powerman: GriffenJBS: I've auth server running in our company, so it's works. Can you provide full listing of commands executed after emu starts and their output on pastebin? plus output of `ps`, `ns` and `netstat` before and after configuring auth. And it's better to do this without running wm/wm, to have no junk in output. (17:48:23) GriffenJBS: I'm sure it works, but I've got something wrong, trying to figure out what (17:51:09) KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] entered the room. (17:51:36) powerman: GriffenJBS: you can run new process from wm/deb instead of attaching to existing thread (17:53:35) GriffenJBS: powerman-asdf: where is that? I was looking under the menu (17:53:59) GriffenJBS: http://pastebin.com/Y1R40Akz (17:54:26) powerman: File->Open choose app source from /appl/cmd/, add breakpoint, run (17:55:07) GriffenJBS: ..?! strange, I figure that only worked for the process you were already attached to (17:56:12) GriffenJBS: I didn't get the ps/ns/netstat as you asked sorry, I when down the install.pdf list and stopped after the second failure (18:00:49) GriffenJBS: here, the info as you asked for http://pastebin.com/PrGdzfTq (18:10:10) powerman: according to google, this is MS-specific error (18:10:17) powerman: "this error usually results from an attempt to bind a listening socket to an IP address that's not valid for the local machine" (18:11:37) tensai_cirno [~cirno@77.232.15.216] entered the room. (18:13:21) GriffenJBS: ..? what did you google? I kept getting refered to a college lecture on namespaces (I was amazed inferno and plan 9 were named in the doc) (18:14:11) powerman: error text "The requested address is not valid in its context." (18:14:17) GriffenJBS: debugger isn't helping, it won't step into sys->announce (18:15:26) GriffenJBS: I see the MS article your talking about, I figured I was dealing with inferno not windows (18:16:03) GriffenJBS: would be nice if %r could relay if the error was internal or from the hosting OS (18:16:53) GriffenJBS: seeing as I'm trying to do "listen 'tcp!*!2222' sh", shouldn't it pick a valid IP? (18:22:47) powerman: sorry, I run away from windows in 1997, and since that time I've no idea about windows-specific issues, thanks god! (18:23:25) powerman: in *nix listen on '*' _can't_ attempt to listen on non-local ip (18:23:37) powerman: but I've no idea is that possible in windows (18:24:53) powerman: as quick work around you can try two things: edit /dis/svc/auth and replace '*' with '127.0.0.1'; and … reboot windows :) (18:25:21) powerman: I'd bet second thing helps. :) (18:29:11) GriffenJBS: tcp!127.0.0.1!2222 didn't work either (18:29:25) GriffenJBS: :-/ and I can't reboot atm (18:30:27) powerman: GriffenJBS: is it may be any sort of local policies which deny local user to open tcp ports? (18:30:49) powerman: or personal firewall (18:31:27) powerman: how about netcat.exe? you can try to start listening netcat and then connect to it (18:32:15) powerman: just to check is native windows apps able to open tcp ports (18:32:42) GriffenJBS: there is no firewall (18:33:04) GriffenJBS: windows has netcat? (18:36:44) GriffenJBS: yeah, found a windows netcat, it works on port 2222 (18:39:16) GriffenJBS: It made me a little sick to see cmd.exe in a PuTTY window (18:55:42) powerman: GriffenJBS: looks like some people fixed this issue by switching on/off network interfaces (19:04:35) KBme left the room (quit: Read error: Operation timed out). (19:14:53) anth_r left the room (quit: Ping timeout: 250 seconds). (19:39:45) KBme [~KBme@2001:470:1f13:94::3] entered the room. (19:45:38) KBme left the room (quit: Read error: Operation timed out). (19:49:45) KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] entered the room. (19:49:56) vivien [~vpm@reverse-94.fdn.fr] entered the room. (19:50:19) anth_x left the room (quit: *.net *.split). (19:50:19) Fish- left the room (quit: *.net *.split). (19:50:19) vpm left the room (quit: *.net *.split). (19:50:25) Fish- [~Fish@exo3753.pck.nerim.net] entered the room. (19:52:05) vivien left the room (quit: Client Quit). (19:53:17) vpm [~vpm@reverse-94.fdn.fr] entered the room. (19:54:08) KBme left the room (quit: Ping timeout: 260 seconds). (19:55:08) GriffenJBS: is there something like 'concat(array of T, array of T): array of T' in limbo? (19:55:37) GriffenJBS: seems basic enough that coding it feels wrong (19:58:28) mjl-: not that i know. there is lists.m, with such a function for lists (19:58:44) GriffenJBS: mjl-: thanks, I'll go look that up (19:58:54) mjl-: the annoying part is that using a module like list.m for only 1 function is more code than writing the function yourself... (19:59:28) mjl-: you have to add code in 4 different places: dependency on lists.m in mkfile, include at the top, load at start of init(), and then where you want to use it (19:59:44) GriffenJBS: maybe the uses of list.m need to be looked at for more general patterns to include in list.m (20:00:15) GriffenJBS: makefile and include don't affect code size, the other two do (20:00:42) GriffenJBS: besides (I know it's small) but if it's loaded as a lib it's less the system has to compile (jit) (20:01:20) GriffenJBS: I'm playing devils advocate, but it is a rather basic concept I'm amazed it's not part of limbo core (20:01:42) KBme [~KBme@2001:470:1f13:94::3] entered the room. (20:10:25) mjl-: GriffenJBS: i would like to some lib with "misc" functions (20:10:33) mjl-: i also keep rewriting killgrp() and kill() (20:10:38) mjl-: and rev (20:10:46) mjl-: and min,max,abs (20:10:52) KBme left the room (quit: Read error: Operation timed out). (20:11:02) mjl-: the code size is a valid point (20:11:03) GriffenJBS: you had a util module, why not put them in it? (20:11:11) mjl-: oh, there are probably in there (20:11:21) mjl-: but it's annoying to have that as a dependency (20:11:34) GriffenJBS: ..? (20:11:38) mjl-: i.e. requiring a lib that isn't already in the system (20:11:43) mjl-: say i have tool X (20:11:44) GriffenJBS: you set it up once and forget about it (20:11:53) mjl-: even i find it annoying (20:12:01) mjl-: well, i clone repo's quite often :) (20:12:09) GriffenJBS: but it will never be on the system until someone make it and shows the need for it (20:12:21) mjl-: true (20:12:38) mjl-: it hasn't bugged me enough then. plus, the interface has to be stable (20:12:51) GriffenJBS: util0.m figure an API and it's a seperate project (20:12:58) mjl-: oh, a whole bunch of pack/unpack functions for 16,32,64 bit ints would be good too (20:13:06) GriffenJBS: yup (20:13:07) mjl-: those are also in util0.m (20:13:22) mjl-: btw, there is an upside to having the code included in your .b's verbatim: (20:13:30) mjl-: the compiler can optimize better (20:13:44) mjl-: i don't think the compiler optimizes a whole lot, but it does inline short functions (20:14:30) GriffenJBS: while inlining is useful, its not as important as most people think, profiling live code taught me to never assume (20:15:13) KBme [~KBme@2001:470:1f13:94::3] entered the room. (20:16:42) GriffenJBS: ... I'm looking at lists and it's all ... well list, anything for arrays? (20:44:48) powerman: a := array[len a1 + len a2] of byte; (20:44:48) powerman: a[0:] = a1; (20:44:48) powerman: a[len a1:] = a2; (20:46:29) powerman: GriffenJBS: are you sure you need an API/function/module while just using slices is enough? (20:52:37) powerman: mjl-: did you understood charles's answer in maillist to 'close(fd)' subject? looks like my english just doesn't good enough to get what he means, and google translate doesn't helps too. or I should just ignore first two lines, because last line is very clear - he denies everything :) (20:53:45) GriffenJBS: powerman, slices don't concat 2 arrays do they? (20:54:03) powerman: GriffenJBS: see my example few lines above (20:54:13) GriffenJBS: I'm looking at it... that's valid? (20:54:16) powerman: yep (20:54:20) powerman: why not? (20:55:14) GriffenJBS: I just read a part of limbo.pfd stating 'assignment to slices isn't valid' (20:55:25) GriffenJBS: oh well, :-) nice to see something simple (20:56:12) GriffenJBS: I wrote a concat, oh well, problem is I made it take arrays and the src data is a list of array of byte (20:56:25) GriffenJBS: list != array almost seems silly (20:57:25) mjl-: powerman-asdf: the important part is that rog says that inferno is trying to maintain the illusion "that there's a one-to-one correspondence between Sys->FD and file descriptors". and charles says that "it [inferno] isn't attempting to maintain that illusion" (20:57:26) powerman: assignment of array or slice to array mean assigning a pointer. assignment to slice mean copy elements (20:57:35) mjl-: i think so too (20:57:48) mjl-: but given the names, you'ld expect it (20:58:04) mjl-: you pretty much have to know the implementation to fully understand the situation (20:58:40) powerman: and given the absence of close(fd) function with slogan "just let Sys->FD go out of scope" (23:12:11) mjl-: powerman-asdf & jas: i just pushed a new wm/run (23:12:13) mjl-: it has changed a lot (23:12:38) mjl-: hopefully you find it better now too (23:13:04) mjl-: of course, literally within 3 seconds of committing and pushing i found the first omission in the man page :) (23:13:19) powerman: as always, as always :) (00:07:26) tensai_cirno left the room (quit: Ping timeout: 276 seconds). (00:17:58) Fish left the room (quit: Quit: So Long, and Thanks for All the Fish). (00:19:08) tensai_cirno [~cirno@77.232.15.216] entered the room. (00:33:44) anth left the room (quit: Quit: anth). (00:39:10) anth [~a@72-160-85-120.dyn.centurytel.net] entered the room. (02:24:11) anth left the room (quit: Quit: anth). (03:18:00) jas: ah, will take a little getting use to... I really liked that amber on black (03:18:26) jas: anyway, I'll give the new wm-run a work out over the next day or so (03:18:39) powerman-asdf left the room (quit: Ping timeout: 258 seconds). (03:18:39) The account has disconnected and you are no longer in this chat. You will be automatically rejoined in the chat when the account reconnects.