Re: [9fans] Do we have a catalog of 9P servers?
This explanation isn't immediately comprehensible to me--I guess I'll have to read the man pages and some other documentation and then come back to understand this. Thanks anyway. --On Sunday, November 16, 2008 4:52 PM -0500 erik quanstrom [EMAIL PROTECTED] wrote: the same time. I thought Plan 9's approach eliminated that by keeping a distinct instance of the stack for each imported /net. not quite. referencing '#In' for the first time will cause the nth ip stack to be created. subsequent references do not create a copy. it's also important to note that import doesn't operate on devices directly (except in the degnerate case of '#D' for some device D). import builds a new namespace according to the recipie in /lib/namespace (cf. namepace(6)) on the importee. so /net references that namespace, not a device. obviously '#t' still references a device on the importee. - erik
Re: [9fans] Do we have a catalog of 9P servers?
It was a pleasure and quite educational to read your posting, Micah Stetson. The Plan 9 kernel doesn't do load balancing like that. (Why should it?) To do it in Plan 9, you'd write a small program that listened on a particular address and multiplexed connections to a list of other addresses. It wouldn't be hard -- aux/trampoline is halfway there. Except the program wouldn't be any smaller than its UNIX equivalent. It would simply be the same port forwarding that is present in NAT. Because multiplexing a port requires either separate protocol stacks or a (complex) endpoint translation scheme, i.e. NAT. (as I noted before aux/trampoline is a transport layer proxy, by the way). This last note aside, I think the issue of address translation has been succinctly reviewed now (to my advantage, for I have learnt a lot along the way :-). We can let it rest for a while and wait to see what Erik Quanstrom's NAT implementation will look like. --On Sunday, November 16, 2008 9:12 PM -0800 Micah Stetson [EMAIL PROTECTED] wrote: That isn't happening. All we have is one TCP connection and one small program exporting file service. I see. But then, is it the small program exporting file service that does the multiplexing? I mean, if two machines import a gateway's /net and both run HTTP servers binding to and listening on *:80 what takes care of which packet belongs to which HTTP server? The Plan 9 kernel doesn't do load balancing like that. (Why should it?) To do it in Plan 9, you'd write a small program that listened on a particular address and multiplexed connections to a list of other addresses. It wouldn't be hard -- aux/trampoline is halfway there. I think you're still thinking of importing /net in terms of NAT. It can be used to solve some of the same problems, but it isn't the same at all. Exportfs (the small program above) doesn't know that it's exporting a network stack or any kind of special files because the files in /net aren't special. The network stack doesn't know it's being used by a different computer -- it just sees exportfs reading and writing its files. The HTTP server doesn't know it's using somebody else's network stack, it's just reading and writing files in /net that it expects to work a certain way. The only component that knows there's a network stack being forwarded from one machine to another is the person at the controls. This is nothing like NAT. No packets are rewritten, and no code exists solely to support one computer using another's network stack. So FTP and other protocols that frustrate NAT work without special treatment. The same principal obviates the need for port forwarding. (In Plan 9 networks, that is.) Micah
Re: [9fans] An Observation
On Sat, Nov 15, 2008 at 4:11 AM, Andrew Simmons [EMAIL PROTECTED] wrote: On the one hand, Too many cooks spoil the broth. On the other hand, Many hands make light work. Cooks don't work, they give orders.
[9fans] I want to port some program or driver
Hi all, I want to port some program or driver to Plan9 which is challenging as well as important for Plan9. Please suggest me . Is any JVM ported to Plan9? or Firefox? or any other suggestions Anticipating replies. Regards Siddharth
Re: [9fans] 9grid
Hi All, my /lib/ndb/auth is: hostid=bootes uid=!sys uid=!adm uid=* but i just remember that armando(user name) is also sys and adm, could it be the problem for speaks for? because, as i explained above i have no speaks for in /sys/log/auth when i try cpu(1) command from terminal, i also have /mnt/factotum/ log: 14: no key matches proto=p9sk1 role=server dom? 14: failure no key matches proto=p9sk1 role=server dom? suggestions please? thanks in advance for all responses. Armando
Re: [9fans] Do we have a catalog of 9P servers?
Every sensible NAT solution must be implemented with that in mind--not that existing ones have been. Even imagining persistent connections from an entire Class A network makes one shudder. Needless to say, the wreak of havoc occurs _long_ before over 16 million hosts need persistent connections. Especially since you get only 64k TCP connections between any pair of IP addresses, e.g., between a NAT box and www.cnn.com. Are there any NAT solutions which handle millions of hosts? Are we having a discussion about unicorns? Dave Eckhardt
Re: [9fans] I want to port some program or driver
Really, do you read your messages? http://9fans.net/archive/2008/11/35 Hi all, I want to port some program or driver to Plan9 which is challenging as well as important for Plan9. Please suggest me . Is any JVM ported to Plan9? or Firefox? or any other suggestions Anticipating replies. Regards Siddharth -- Rodolfo García AKA kix http://www.kix.es/ EA4ERH (@IN80ER)
Re: [9fans] I want to port some program or driver
I suggest you to invent something new instead of porting.
Re: [9fans] broken smtpd
Hello, Today, I observed smtpd that was in endless loop and then broken. ar% ps ... none 203920:01 28:27 264K Running smtpd ... ar% ACID 20392 /proc/20392/text:386 plan 9 executable /sys/lib/acid/port /sys/lib/acid/386 acid: lstk() receiver(path=0x41f58)+0x1c5 /sys/src/cmd/upas/smtp/smtpd.c:625 sender=0x379bf rcpt=0x41ad8 zzparse()+0x2c9 /sys/src/cmd/upas/smtp/smtpd.y:773 save1=0x0 save2=0x0 save3=0x0 save4=0x0 zzstate=0xf zzchar=0x zzs=0x3f36b zzp=0xdfffe41c zzn=0xfc18 main(argv=0xdfffefa4,argc=0x0)+0x261 /sys/src/cmd/upas/smtp/smtpd.c:194 netdir=0xdfffefbc _argc=0x6e _args=0x376c2 buf=0x0 _main+0x31 /sys/src/libc/386/main9.s:16 acid: src(receiver+0x1c5) /sys/src/cmd/upas/smtp/smtpd.c:625 620 621logged = 0; 622 623/* forwarding() can modify 'path' on loopback request */ 624 if(filterstate == ACCEPT fflag !authenticated forwarding(path)) { 625 syslog(0, smtpd, Bad Forward %s (%s/%s) (%s), 626s_to_c(senders.last-p), him, nci-rsys, s_to_c(path)); 627rejectcount++; 628reply(550 5.7.1 we don't relay. send to [EMAIL PROTECTED] for 629loopback.\r\n); 630return; I don't observe Bad Forward of this mail in /sys/log/smtpd. After some amount of time, ar% ps ... none 203920:02 44:57 264K Broken smtpd ... acid: lstk() errstr()+0x7 /sys/src/libc/9syscall/errstr.s:5 syslog(logname=0x3760a,cons=0x0,fmt=0x37610)+0x20 /sys/src/libc/9sys/ syslog.c:46 err=0x616d2f27 d=0x0 ctim=0x0 buf=0x0 p=0x0 arg=0x0 n=0x0 catchalarm(msg=0xdfffe1ac)+0x5d /sys/src/cmd/upas/smtp/smtpd.c:68 rv=0x1 notifier+0x30 /sys/src/libc/port/atnotify.c:15 acid: src(syslog+0x29) /sys/src/libc/9sys/syslog.c:46 41 Dir *d; 42 char err[ERRMAX]; 43 44 err[0] = '\0'; 45 errstr(err, sizeof err); 46 lock(sl); 47 48 /* 49 * paranoia makes us stat to make sure a fork+close 50 * hasn't broken our fd's 51 */ acid: I hope the above information is helpful to fix the problem. Kenji Arisawa On 2008/11/06, at 21:59, erik quanstrom wrote: Is this phenomenon specific to me? No, it isn't: term% ps|grep Broken none9172:08 42:50 264K Broken smtpd impressive! i don't see this problem, but i have implemented some fairly agressive spam control. perhaps this shows up after i tend to hang up. (it is possible to use nupas smtpd with regular old upas.) would anyone mind sending me a full backtrace? - erik
Re: [9fans] 9grid
my /lib/ndb/auth is: hostid=bootes uid=!sys uid=!adm uid=* but i just remember that armando(user name) is also sys and adm, could it be the problem for speaks for? because, as i explained above i have no speaks for in /sys/log/auth when i try cpu(1) command from terminal, i also have /mnt/factotum/ log: 14: no key matches proto=p9sk1 role=server dom? 14: failure no key matches proto=p9sk1 role=server dom? looking in /mnt/factotum/ctl on the console, you should see keys like these at a minimum terminal: key proto=p9sk1 dom=quanstro.net user=quanstro !password? cpu server and file server: key proto=p9sk1 user=bootes dom=quanstro.net !hex? !password? of course you should substitute your authentication domain (which may be the same text but is different from your dns domain) for quanstro.net hope that gets you a bit further. - erik
Re: [9fans] D-Bus ...
D-bus is yet one more example of how the linux community has learned nothing from Plan 9 (or even unix itself). And sadly, together with fuse yet another lost opportunity for 9P which will be likely impossible to undo. Peace uriel On Mon, Nov 17, 2008 at 7:52 AM, Rogelio Serrano [EMAIL PROTECTED] wrote: im a linux developer but i hate it... On Mon, Nov 17, 2008 at 2:35 PM, Enrico Weigelt [EMAIL PROTECTED] wrote: Hi folks, I'm just curious what you think about D-Bus ... http://www.freedesktop.org/wiki/Software/dbus cu -- -- Enrico Weigelt, metux IT service -- http://www.metux.de/ cellphone: +49 174 7066481 email: [EMAIL PROTECTED] skype: nekrad666 -- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme -- -- Lay low and nourish in obscurity
Re: [9fans] broken smtpd
d'oh! the return value from catchalarm looks reversed. from notify(2) [...] A handler must return a non-zero number if the note was recognized (and resolved); otherwise it must return zero. When the system i think you're getting into some sort of note loop. i think it would be helpful to log all notes. i would try something like this static int catchalarm(void *, char *msg) { static int chattycathy; if(chattycathy++ 5) return 0; if(senders.first rcvers.first) syslog(0, smtpd, note: %s-%s: %s, s_to_c(senders.first-p), s_to_c(rcvers.first-p), msg); else syslog(0, smtpd, note: %s, msg); if(pp){ syskillpg(pp-pid); pp = 0; } return strstr(msg, alarm) != 0; } but at a minimum, i would reverse the return values. - erik
Re: [9fans] I want to port some program or driver
it would be nice to take the existing usb code -- which is all user mode code -- and get hot plug working,such that I could pop mice,keyboards, disks, etc in at will and have the right bits all start/stop when such events happen. I think this is a good project as it is self-contained, a good intro, and something that plan 9 does not do well right now (hot plug) ron
Re: [9fans] broken smtpd
erik quanstrom wrote: d'oh! the return value from catchalarm looks reversed. from notify(2) [...] A handler must return a non-zero number if the note was recognized (and resolved); otherwise it must return zero. When the system i think you're getting into some sort of note loop. i think it would be helpful to log all notes. i would try something like this its not a good idea to call syslog() in a note handler, because it aquires locks and calls into the memory allocator by strdup() (that too aquires locks). if the note interrupts the program while in syslog() or the allocator, it will deadlock. -- cinap static int catchalarm(void *, char *msg) { static int chattycathy; if(chattycathy++ 5) return 0; if(senders.first rcvers.first) syslog(0, smtpd, note: %s-%s: %s, s_to_c(senders.first-p), s_to_c(rcvers.first-p), msg); else syslog(0, smtpd, note: %s, msg); if(pp){ syskillpg(pp-pid); pp = 0; } return strstr(msg, alarm) != 0; } but at a minimum, i would reverse the return values. - erik
Re: [9fans] broken smtpd
its not a good idea to call syslog() in a note handler, because it aquires locks and calls into the memory allocator by strdup() (that too aquires locks). if the note interrupts the program while in syslog() or the allocator, it will deadlock. excellent point. in this case, i think it is more likely that the problem is more mundane than that. in any event, we are chewing gobs of cpu time, so we don't have a literal deadlock. - erik
Re: [9fans] broken smtpd
if you look at /dev/kmesg you might find many messages about checked N page table entries. i think smtpd is getting a trap (probably a null pointer) and because the value returned from catchalarm is the wrong way round, it continues to retry using the bad pointer until the alarm goes off (after a long time), when it breaks (because no note handler has handled the alarm). i didn't really understand why it was trying to continue after the alarm, rather than logging and quitting. does it not always mean that a caller has connected but hasn't completed a request after a long time? as cinap noted(!) there's a separate problem of what happens if the trap or alarm happens when locks are held, but i think that's less likely to be a problem in practice: an alarm will probably go off when nothing much has happened (ie, the program isn't holding any other lock but waiting for input). it's harder to be sure about bad pointer traps, but if those happen with locks held, i'd suspect those are more likely to be locks unrelated to those needed by syslog and print.
Re: [9fans] I want to port some program or driver
if i were you, i'd start with something simple first, to find my way round the system. it's probably also not a bad idea, as someone else suggested, to write a few small programs for plan 9 itself, just to see the differences. write a silly concurrent program using thread(2), for instance, and perhaps a little file server; but don't start writing your own until you've read some of the existing ones. for porting, both examples you've suggested are somewhat bigger than huge, and perhaps not good things to try first.---BeginMessage--- Hi all, I want to port some program or driver to Plan9 which is challenging as well as important for Plan9. Please suggest me . Is any JVM ported to Plan9? or Firefox? or any other suggestions Anticipating replies. Regards Siddharth---End Message---
Re: [9fans] D-Bus ...
* Uriel [EMAIL PROTECTED] wrote: D-bus is yet one more example of how the linux community has learned nothing from Plan 9 (or even unix itself). And sadly, together with fuse yet another lost opportunity for 9P which will be likely impossible to undo. Although I'm a linux guy, that's exactly what came into my mind ... Maybe we should sit down and write some paper on how 9P does better ;) cu -- -- Enrico Weigelt, metux IT service -- http://www.metux.de/ cellphone: +49 174 7066481 email: [EMAIL PROTECTED] skype: nekrad666 -- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme --
Re: [9fans] Do we have a catalog of 9P servers?
Are there any NAT solutions which handle millions of hosts? Are we having a discussion about unicorns? No. Which is why not that existing ones have been. And wreak of havoc occurs _long_ before refers to the hypothetical gateway being brought down with far fewer connections, irrespective of which OS it ran. There remained the question of which OS/approach required less resources for performing the task at hand. The resolution I think was that NAT requires less resources but creates more hassle. Some 9fans pointed out the trade-off between elegance and performance. Some others pointed out the technical details and what could/could not be done with each approach. The most notable comment, in my opinion, was Ron Minnich's that brought to light the single essentially and irrefutably advantageous feature of Plan 9's approach. I believe your are a little late with your remark. The issue has been resolved. --On Monday, November 17, 2008 5:20 AM -0500 Dave Eckhardt [EMAIL PROTECTED] wrote: Every sensible NAT solution must be implemented with that in mind--not that existing ones have been. Even imagining persistent connections from an entire Class A network makes one shudder. Needless to say, the wreak of havoc occurs _long_ before over 16 million hosts need persistent connections. Especially since you get only 64k TCP connections between any pair of IP addresses, e.g., between a NAT box and www.cnn.com. Are there any NAT solutions which handle millions of hosts? Are we having a discussion about unicorns? Dave Eckhardt
Re: [9fans] D-Bus ...
* Rogelio Serrano [EMAIL PROTECTED] wrote: Hi, im a linux developer but i hate it... in which apps do you hate it most ? cu -- -- Enrico Weigelt, metux IT service -- http://www.metux.de/ cellphone: +49 174 7066481 email: [EMAIL PROTECTED] skype: nekrad666 -- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme --
[9fans] venti error
Hi All, When i do: % ls /sys/src/cmd i have this error: ls: /sys/src/cmd: venti i/o error block alphanumeric string Furthermore, when i do the system update from bell labs, i get the same error. any suggestions, thanks in advance to everybody for responses. Armando.
Re: [9fans] 9grid
Hi Eric, I did what you told me, and i got the same as you wrote below. if you still have any idea, it will be helpful. thanks again, Armando. looking in /mnt/factotum/ctl on the console, you should see keys like these at a minimum terminal: key proto=p9sk1 dom=quanstro.net user=quanstro !password? cpu server and file server: key proto=p9sk1 user=bootes dom=quanstro.net !hex? !password? of course you should substitute your authentication domain (which may be the same text but is different from your dns domain) for quanstro.net hope that gets you a bit further. - erik
Re: [9fans] 9grid
On Mon Nov 17 09:17:49 EST 2008, [EMAIL PROTECTED] wrote: Hi Eric, (sic) I did what you told me, and i got the same as you wrote below. if you still have any idea, it will be helpful. thanks again, you need to verify the keys also match. - erik
Re: [9fans] 9grid
thanks a lot eric.. what do you mean with match? Hi Eric, (sic) I did what you told me, and i got the same as you wrote below. if you still have any idea, it will be helpful. thanks again, you need to verify the keys also match. - erik
Re: [9fans] Do we have a catalog of 9P servers?
I believe your are a little late with your remark. The issue has been resolved. Oops! Hopefully as list moderator you will accept my apologies for having drawn out a discussion beyond its useful time!! Dave Eckhardt
Re: [9fans] An Observation
On Mon, Nov 17, 2008 at 4:18 AM, Robert Raschke [EMAIL PROTECTED] wrote: On Sat, Nov 15, 2008 at 4:11 AM, Andrew Simmons [EMAIL PROTECTED] wrote: On the one hand, Too many cooks spoil the broth. On the other hand, Many hands make light work. Cooks don't work, they give orders. If we are speaking of cooking. The cooks cook. The Sous Chef cooks and contributes to the menu. The Executive Chef gives orders and shakes hands with the customers. Ian
Re: [9fans] those funny gnu guys
On Mon, Nov 17, 2008 at 3:06 PM, Enrico Weigelt [EMAIL PROTECTED] wrote: * erik quanstrom [EMAIL PROTECTED] wrote: Hi, this is just stupifying: http://tech.slashdot.org/comments.pl?sid=1029797cid=25761431 gcc is a mess, right. But is there an usable alternative ? 8c! http://gsoc.cat-v.org/hg/kenc (Anant, did you have another port as part of Glendix, or am I getting mixed up?) -sqweek
Re: [9fans] those funny gnu guys
8c! http://gsoc.cat-v.org/hg/kenc (Anant, did you have another port as part of Glendix, or am I getting mixed up?) Yes, 8c 8l now work on Glendix. Regards, Anant
Re: [9fans] nat
Hello ! Look at 6in4(8) sources, it uses ipmux to get packets. This will be the first step to NAT. P.S.: I'm using hardware NAT (by Cisco) 2008/11/16 erik quanstrom [EMAIL PROTECTED] Obviously, a linux server is going to have a hard time importing /net (in a useful way, at least until Glendix gets there). i've got a lot of folk in the house who run whatever. i'd really like to decommission the non-plan 9 machine. the one thing i need from it is nat. (and i don't want to be stuck fiddling more stuff on the dsl appliance.) doing nat just isn't that hard. i just need to find the time. this is about a summer-of-code sized project. i don't think it would require anything from the kernel. - erik -- С Уважением Жилкин Сергей