9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] Okay, who's been playing with the cheese wiz?
@ 2003-02-10 17:09 rog
  2003-02-10 17:10 ` Russ Cox
  0 siblings, 1 reply; 13+ messages in thread
From: rog @ 2003-02-10 17:09 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 832 bytes --]

> it's nice to have a wrapper that [...] recreates it on hangup

how does this work?
i couldn't see anything in the manual about this.

> if there were better notation,

well, i suppose if rc were modified to support open read-write,
mount <>{command} /mnt/xxx
would look slightly more logical (and reflect what's actually happening).

> also there's a lot to be said for defaults.

that's true.
but it's also nice to see the mount points actually named in the
script that sets them up, i think. (i always have to look in the manual
page to see whether it's  (e.g.) /n/tapefs or /mnt/tapefs...)

> there is one real problem, which is that the servers would all need to
> know to rfork(RFNAMEG) at start, so that they don't hold up their own
> service ref counts.

don't they have to do that currently anyway?

[-- Attachment #2: Type: message/rfc822, Size: 2262 bytes --]

From: "Russ Cox" <rsc@plan9.bell-labs.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Okay, who's been playing with the cheese wiz?
Date: Mon, 10 Feb 2003 08:36:10 -0500
Message-ID: <6e01499f169b0756f8b2ff199514cee2@plan9.bell-labs.com>

srv -e serves execnet's original purpose now.
it's nice to have a wrapper that creates the service
if necessary, recreates it on hangup, and so on.

mount >{command} /mnt/xxx
strikes me as an idiom that is clumsy
at best.  every time i see it, it takes a few
minutes to remember why it works at all --
the syntax would have you believe that
the pipe would be open only for writing.
if there were better notation, you might
convince me.  also there's a lot to be said
for defaults.  there is one real problem, which
is that the servers would all need to know
to rfork(RFNAMEG) at start, so that they don't
hold up their own service ref counts.

^ permalink raw reply	[flat|nested] 13+ messages in thread
* Re: [9fans] Okay, who's been playing with the cheese wiz?
@ 2003-02-10 13:14 rog
  2003-02-10 13:36 ` Russ Cox
  0 siblings, 1 reply; 13+ messages in thread
From: rog @ 2003-02-10 13:14 UTC (permalink / raw)
  To: 9fans

> I gave up on execnet a long time ago.  It's clunky
> and not clear that the interface should work that
> way.  What do you use it for?  (I'm just curious.)

for what it was used for, i couldn't see what was wrong with just
posting a named pipe to the command into /srv, assuming that the
command could serve 9p on its standard input.

in fact, it would seem to me to be a good idea to let all file server
commands serve 9p through stdin; then they can be mounted simply with:

mount >{command} /mnt/xxx

the command doesn't have to parse all those mount options or know
where it might be mounted, and you don't have to worry about
backgrounding it and then worrying whether it might not have mounted
in time.  (plus it's more versatile).

the original execnet stuff (assuming i understood what it was about)
could have been done with something like:

postsrv u9fs >{ssh ny 'u9fs -na none -u $USER -l $HOME/tmp/u9fs.log'}

(assuming the following command; maybe there is a similar command
somewhere else?):

/* postsrv.c */
#include <u.h>
#include <libc.h>

void main(int argc, char**argv)
{
	char buf[256];
	int fd, srvfd;
	if (argc != 3) {
		fprint(2, "usage: postsrv srvname file\n");
		exits("usage");
	}
	fd = open(argv[2], ORDWR);
	if (fd == -1) {
		fprint(2, "postsrv: cannot open %s: %r\n", argv[2]);
		exits("error");
	}
	snprint(buf, sizeof(buf), "/srv/%s", argv[1]);
	srvfd = create(buf, OWRITE, 0666);
	if (srvfd == -1) {
		fprint(2, "postsrv: cannot create %s: %r\n", buf);
		exits("error");
	}
	if (fprint(srvfd, "%d", fd) == -1) {
		fprint(2, "postsrv: cannot post %d: %r\n", fd);
		exits("error");
	}
}



^ permalink raw reply	[flat|nested] 13+ messages in thread
* Re: [9fans] Okay, who's been playing with the cheese wiz?
@ 2003-02-10  4:19 okamoto
  0 siblings, 0 replies; 13+ messages in thread
From: okamoto @ 2003-02-10  4:19 UTC (permalink / raw)
  To: 9fans

> acme: bufread: internal error: '/lib/font/bit/lucidasans/lsr.14.0' does not exist

I saw this error message through our developement.
I thought it may concern with thread(2), not intended different thread was
attacked?   Probably, I'm say something fool...

kenji



^ permalink raw reply	[flat|nested] 13+ messages in thread
* [9fans] Okay, who's been playing with the cheese wiz?
@ 2003-02-09 21:20 Dan Cross
  2003-02-09 21:51 ` Russ Cox
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Dan Cross @ 2003-02-09 21:20 UTC (permalink / raw)
  To: 9fans

I've run into a couple of weird things recently.  First, I noticed that
acme was commiting suicide after I tried to delete everything in a window
using, ``Edit 1,$d'' and then tried to edit normally.  A stack trace for
that follows:

acid: lstk()
At pc:0x00039bc1:abort /sys/src/libc/9sys/abort.c:6
abort() /sys/src/libc/9sys/abort.c:6
	called from error+0x33 /sys/src/cmd/acme/util.c:55
error(s=0x000400b1) /sys/src/cmd/acme/util.c:51
	called from bufread+0xca /sys/src/cmd/acme/buff.c:287
bufread(b=0x000941c0,q0=0x00000254,n=0x00000001,s=0x00087b96) /sys/src/cmd/acme/buff.c:280
	called from textreadc+0x46 /sys/src/cmd/acme/text.c:486
	m=0x0003f878
textreadc(q=0x00000254,t=0x00093ed0) /sys/src/cmd/acme/text.c:478
	called from textbacknl+0x62 /sys/src/cmd/acme/text.c:1153
	r=0xc37f0000
textbacknl(n=0x00000012,p=0x00000255,t=0x00093ed0) /sys/src/cmd/acme/text.c:1139
	called from textshow+0xc3 /sys/src/cmd/acme/text.c:809
	i=0x00000011
	j=0x0000007f
textshow(q0=0x00000256,t=0x00093ed0,doselect=0x00000001,q1=0x00000256) /sys/src/cmd/acme/text.c:789
	called from texttype+0xf9 /sys/src/cmd/acme/text.c:553
texttype(t=0x00093ed0,r=0x0000000a) /sys/src/cmd/acme/text.c:521
	called from wintype+0x18 /sys/src/cmd/acme/wind.c:274
	nnb=0x00093de0
	q1=0x000003ad
	q0=0x0001dc38
	i=0x00093df0
	nb=0x0001dbe0
	u=0x0002db50
	n=0x00000002
wintype(t=0x00093ed0,r=0x0000000a,w=0x00093de0) /sys/src/cmd/acme/wind.c:270
	called from rowtype+0xce /sys/src/cmd/acme/rows.c:274
	i=0x00000000
rowtype(row=0x00048720,p=0x000003ad,r=0x0000000a) /sys/src/cmd/acme/rows.c:257
	called from keyboardthread+0xb2 /sys/src/cmd/acme/acme.c:386
	t=0x00093ed0
	w=0x00093de0
keyboardthread() /sys/src/cmd/acme/acme.c:351
	called from launcher386+0x10 /sys/src/libthread/386.c:10
	r=0xfee1000a
	timer=0x00098008
	t=0x00093df4
launcher386(arg=0x00000000,f=0x00001f99) /sys/src/libthread/386.c:7
	called from 0xfefefefe ?file?:0
acid:

I was away last week, so thought perhaps this was a known bug that had
been fixed elsewhere.  When I got back, I noticed a bunch of acme updates,
so I rebuilt the system to try and get everything to work again, but
now execnet dies with:

fid/qid mismatch in walk1 functionexecnet 223: suicide: sys: trap: fault read addr=0x0 pc=0x00008154

A stack trace follows:

acid: lstk()
At pc:0x00008154:abort /sys/src/libc/9sys/abort.c:6
abort() /sys/src/libc/9sys/abort.c:6
	called from oldwalk1+0x5e /sys/src/lib9p/srv.c:288
oldwalk1(arg=0x0001813c,fid=0x00036690,name=0x00028cd2) /sys/src/lib9p/srv.c:273
	called from walkandclone+0xb6 /sys/src/lib9p/srv.c:151
	qid=0x00000001
walkandclone(clone=0x0000f71d,r=0x00036250,arg=0x0001813c,walk1=0x0000f68d) /sys/src/lib9p/srv.c:131
	called from swalk+0x131 /sys/src/lib9p/srv.c:334
	i=0x00000000
swalk(srv=0x0001813c,r=0x00036250) /sys/src/lib9p/srv.c:303
	called from srv+0x182 /sys/src/lib9p/srv.c:711
srv(srv=0x0001813c) /sys/src/lib9p/srv.c:692
	called from _post2+0x47 /sys/src/lib9p/_post.c:39
_post2(v=0x0001813c) /sys/src/lib9p/_post.c:31
	called from launcher386+0x10 /sys/src/libthread/386.c:10
	s=0x0001813c
launcher386(arg=0x0001813c,f=0x000125dd) /sys/src/libthread/386.c:7
	called from 0xfefefefe ?file?:0
acid:

I thought that was pretty bizarre.  Anyway, acme continues to crash,
and now I get this, as well:

acme: bufread: internal error: '/lib/font/bit/lucidasans/lsr.14.0' does not exist

I don't recall having seen that previously.  Also, `win' is behaving
pretty bizarrely; if I type a command in a ``win'' window, I get:
``rc: note: '', a Peter face, the rc dies, and the window hangs.

This is using the latest code from sources; I pulled last night and
rebuilt everything: userland and the kernel, this morning.

I've had a really really terrible two and a half weeks and so havn't
looked into any of this myself.  Anyone else have any ideas?

	- Dan C.



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2003-02-18  4:02 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-10 17:09 [9fans] Okay, who's been playing with the cheese wiz? rog
2003-02-10 17:10 ` Russ Cox
  -- strict thread matches above, loose matches on Subject: below --
2003-02-10 13:14 rog
2003-02-10 13:36 ` Russ Cox
2003-02-10  4:19 okamoto
2003-02-09 21:20 Dan Cross
2003-02-09 21:51 ` Russ Cox
2003-02-10 16:24   ` Dan Cross
2003-02-10  1:07 ` rob pike, esq.
2003-02-18  3:49 ` Russ Cox
2003-02-18  3:55   ` Sam
2003-02-18  4:02     ` Russ Cox
2003-02-18  4:00   ` Dan Cross

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).