Re: [9fans] sad commentary

2008-07-22 Thread sqweek
On Wed, Jul 2, 2008 at 8:35 PM, erik quanstrom [EMAIL PROTECTED] wrote:
  Also, public 9grids. Though judging by gdiaz's experiences with
 sirviente, there's a bit of work to be done in that area - I get the
 impression things are fairly unstable once the machine gets under
 memory pressure.
 -sqweek

 i think this is an artifact of setting up heavily-used systems
 combining venti, fossil, auth and cpu server.
...
 sure crashing is antisocial.  the alternative is to add very
 large amounts of code to the kernel.

 Back when this was first posted I wanted to protest the point that a
large kernel modification is necessary, since I figured you can do a
good enough job with just an interface to tell the kernel not to
kill the important server processes.
 Obviously I decided to let it lie, but I just discovered this can be
done without modifying the kernel at all when I happened across an
interesting line in termrc:

/rc/bin/termrc:dontkill
'^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$'

 The default cpurc doesn't use dontkill, but I suspect it could be a
big help for all-in-one servers. Figured I'd point it out as it seems
easy to miss.
 ... plus everyone can use a good scare every now and then, and what
better way than to resurrect sad commentry?
-sqweek :D



Re: [9fans] sad commentary

2008-07-22 Thread Kernel Panic

sqweek wrote:

On Wed, Jul 2, 2008 at 8:35 PM, erik quanstrom [EMAIL PROTECTED] wrote:
  

 Also, public 9grids. Though judging by gdiaz's experiences with
sirviente, there's a bit of work to be done in that area - I get the
impression things are fairly unstable once the machine gets under
memory pressure.
-sqweek
  

i think this is an artifact of setting up heavily-used systems
combining venti, fossil, auth and cpu server.


...
  

sure crashing is antisocial.  the alternative is to add very
large amounts of code to the kernel.



  

Swap doesnt work reliable here. :-(
I have disabled swaping and let the kernel kill the biggest process
skipping any critical server processes and it works well.
got ~100 days uptime and i use this machine for linuxemu
development/testing.

no adding very large amounts of code... maybe fix the swap... or even
remove it alltogether.

 Back when this was first posted I wanted to protest the point that a
large kernel modification is necessary, since I figured you can do a
good enough job with just an interface to tell the kernel not to
kill the important server processes.
 Obviously I decided to let it lie, but I just discovered this can be
done without modifying the kernel at all when I happened across an
interesting line in termrc:

/rc/bin/termrc:dontkill
'^(ipconfig|factotum|mntgen|fossil|cs|dns|listen|reboot)$'

 The default cpurc doesn't use dontkill, but I suspect it could be a
big help for all-in-one servers. Figured I'd point it out as it seems
easy to miss.
 ... plus everyone can use a good scare every now and then, and what
better way than to resurrect sad commentry?
-sqweek :D
  

good to know :-)

cinap




Re: [9fans] sad commentary

2008-07-22 Thread erik quanstrom
 Swap doesnt work reliable here. :-(
 I have disabled swaping and let the kernel kill the biggest process
 skipping any critical server processes and it works well.
 got ~100 days uptime and i use this machine for linuxemu
 development/testing.

i'm curious as to what is taking so much memory.

- erik




Re: [9fans] sad commentary

2008-07-22 Thread C H Forsyth
 the alternative is to add very
 large amounts of code to the kernel.

not really. the alternative is to add some code to the
kernel, and varying amounts of code to quite a few applications.



Re: [9fans] sad commentary

2008-07-22 Thread Charles Forsyth
 no adding very large amounts of code... maybe fix the swap... or even
 remove it alltogether.

assuming it doesn't work now, the paging code used to work, at least
in the sense of survive --i used 8l to link kernels on a 4mbyte 386sx16 --
so i imagine it's just a matter of repairing it, if it indeed is responsible.
unfortunately it's hard to tell because doesn't work is a little vague.




Re: [9fans] sad commentary

2008-07-22 Thread sqweek
On Tue, Jul 22, 2008 at 11:50 PM, Charles Forsyth [EMAIL PROTECTED] wrote:
 no adding very large amounts of code... maybe fix the swap... or even
 remove it alltogether.

 assuming it doesn't work now, the paging code used to work, at least
 in the sense of survive --i used 8l to link kernels on a 4mbyte 386sx16 --
 so i imagine it's just a matter of repairing it, if it indeed is responsible.
 unfortunately it's hard to tell because doesn't work is a little vague.

 I'm still happy to do any testing here. Have a P100 with 24mb ram
that I can reliably bring down with man -p or as I found out
yesterday, cd /sys/man; mk indices. Symptoms of the swap issue were
the drawterm session locking up... can't remember what was on the
console.
-sqweek



Re: [9fans] Building new kernel.

2008-07-22 Thread a
The kernel mkfiles don't know how to build dependencies from
the cmd tree. The mk you're doing knows fossil is missing or out
of date, but not how to do anything about it. Build it yourself. I
mk all of /sys/src/cmd to be safe, but you could just hit the list
you need for your kernel (whatever files you're building in).

The 'pc' configuration doesn't have this problem because it
doesn't include fossil (and a few other things pcf has). See the
'bootdir' section of the config file.
Anthony




Re: [9fans] Building new kernel.

2008-07-22 Thread Robert Hibberdine

Thank you both for your infromative replies.

A 'mk all' in /sys/src/cmd   gave errors so I am doing a pull now

Bob




Re: [9fans] Building new kernel.

2008-07-22 Thread Robert Hibberdine

erik quanstrom wrote:

I am having trouble building a new kernel for a terminal.
I do
   mk 'CONF=pcf'
and I get the error

mk: don't know how to make '/386/bin/fossil/fossil' in directory 
/sys/src/9/pc



does /386/bin/fossil/fossil exist?  if not, it's a little
worrying that it doesn't.  perhaps the iso was
missing some files.  or your network install was
interrupted.  assuming that the damage is
not too great, you probablly want to use
/usr/glenda/bin/rc/pull to sync up with sources.

- erik


  
Ok. I pulled and remade fossil which got over that error. But now I do 
mk 'CONF=pcf' and get


size 9pcf
links: incompatible type signitures ..(for a whole load of init 
files ie tcpinit, udpinit etc)


and then

mk: 8c -FTVv '-DKERNDATE='`{date ... : exit status=rc 1887: 8l 1891 error

Something not quite right with my system??? It's from the plan9 iso 
dated June 26th..


Thanks again

Bob






Re: [9fans] Building new kernel.

2008-07-22 Thread erik quanstrom
 Ok. I pulled and remade fossil which got over that error. But now I do 
 mk 'CONF=pcf' and get
 
 size 9pcf
 links: incompatible type signitures ..(for a whole load of init 
 files ie tcpinit, udpinit etc)
 
 and then
 
 mk: 8c -FTVv '-DKERNDATE='`{date ... : exit status=rc 1887: 8l 1891 error
 
 Something not quite right with my system??? It's from the plan9 iso 
 dated June 26th..

this would be expected due to the pull which sets the mtimes of
new files to be older than the .8s.  try mk clean before proceeding.

- erik




Re: [9fans] Building new kernel.

2008-07-22 Thread erik quanstrom
 this would be expected due to the pull which sets the mtimes of
 new files to be older than the .8s.  try mk clean before proceeding.

i should explain that type signatures are 32-bit
signatures in .$O files that define the type of
external symbols.  the c compiler sets the type
signature to zero unless the -T flag is given.
if both signatures are not zero, the linker
checks to see that they match.

thus if you try to link a.c with decl
extern int fu;
with b.c
long fu
it will work perfectly if the -T flag is not
given (since there is a deep assumption
in plan 9 that int == long).  but i the
-T flag is given, it will fail with a type
signature error.

- erik


minooka; cat a.c
long fu;
minooka; cat b.c
#include u.h
#include libc.h

extern int fu;

void
main(void)
{
print(%d\n, fu);
}

minooka; 8c a.c  8c b.c  8l a.8 b.8  8.out
0

minooka; 8c -T a.c  8c b.c  8l a.8 b.8  8.out
0

minooka; 8c a.c  8c -T b.c  8l a.8 b.8  8.out
0

minooka; 8c -T a.c  8c -T b.c  8l a.8 b.8  8.out
main: incompatible type signatures 5ef20f47(a.8) and 4151d5bd(b.8) for 
fu




Re: [9fans] Building new kernel.

2008-07-22 Thread Charles Forsyth
 it will work perfectly if the -T flag is not
 given (since there is a deep assumption
 in plan 9 that int == long).  but i the

not exactly. it will work on most Unix systems and
on Plan 9 without -T because nothing checks
external types across object module boundaries.  the linker/loader in both 
systems
will allocate in BSS the largest size seen for a given symbol,
so it doesn't matter whether int == long or not.




Re: [9fans] Building new kernel.

2008-07-22 Thread erik quanstrom
 not exactly. it will work on most Unix systems and
 on Plan 9 without -T because nothing checks
 external types across object module boundaries.  the linker/loader in both 
 systems
 will allocate in BSS the largest size seen for a given symbol,
 so it doesn't matter whether int == long or not.

by work you mean not generate an out-of-range
memory access nor not produce unexpected values?

- erik




Re: [9fans] Building new kernel.

2008-07-22 Thread Robert Hibberdine

erik quanstrom wrote:
Ok. I pulled and remade fossil which got over that error. But now I do 
mk 'CONF=pcf' and get


size 9pcf
links: incompatible type signitures ..(for a whole load of init 
files ie tcpinit, udpinit etc)


and then

mk: 8c -FTVv '-DKERNDATE='`{date ... : exit status=rc 1887: 8l 1891 error

Something not quite right with my system??? It's from the plan9 iso 
dated June 26th..



this would be expected due to the pull which sets the mtimes of
new files to be older than the .8s.  try mk clean before proceeding.

- erik

  
Thanks. I realised that wouild be a good idea about 1.5 nanoseconds 
after I sent the email


So, now in /sys/src I do

   mk cleanok,
   mk allfails with

  mk ip
  8c -FTVv 6in4.c
  mk: no recipe to make 'pptpd.8' in directory /sys/src/cmd/ip

doing a mk all in /sys/src/cmd/ip/ gives the same error...

Any ideas.

If I delete all sources and do a pull then try again

Thanks for your patience :-)

Bob






Re: [9fans] 9vx ip stack and page assertion

2008-07-22 Thread a
There have been several discussions on this list about 9vx's
IP stack being different from normal Plan 9 in the last two
weeks; you should check those out. The short version is that
9vx uses the host networking rather than its own, and (more-
or-less) consequently the kernel device presents a more
minimal interface. You don't need to do ipconfig.
Anthony




Re: [9fans] Building new kernel.

2008-07-22 Thread Charles Forsyth
 not exactly. it will work on most Unix systems and
 on Plan 9 without -T because nothing checks
 external types across object module boundaries.  the linker/loader in both 
 systems
 will allocate in BSS the largest size seen for a given symbol,
 so it doesn't matter whether int == long or not.
 
 by work you mean not generate an out-of-range
 memory access nor not produce unexpected values?
 
 - erik

i meant pass muster, which i thought was the sense originally
intended (ie, link without diagnostic) but i see now that wasn't intended.
sorry.

anyhow, that's why it links without diagnostic elsewhere!




[9fans] 9vx ip stack and page assertion

2008-07-22 Thread thagonzo
Hi!

I'am new to 9vx/p9p and try to configure /net.

# uname -a
FreeBSD r60e 7.0-RELEASE FreeBSD 7.0-RELEASE #2: Wed Jul  9 17:33:56 UTC 2008   
  gonzo@:/usr/obj/usr/src/sys/GENERIC  i386

% bind -b '#I' /net
% ip/ipconfig -g 192.168.0.1 ether /net/ether0 192.168.0.32 255.255.255.0
ipconfig: no ip stack bound onto /net
% 

Do I miss something?

And there seems to be a bug in p9p's page.

# 9 page paper.pdf
swapcontext failed: Invalid argument
Assertion failed: (0), function contextswitch, file thread.c, line 289.
1679: signal: sys: abort


Thank you
-- 
Pt! Schon das coole Video vom GMX MultiMessenger gesehen?
Der Eine für Alle: http://www.gmx.net/de/go/messenger03



Re: [9fans] Building new kernel.

2008-07-22 Thread Jerome Ibanes
9,

 mk: no recipe to make 'pptpd.8' in directory /sys/src/cmd/ip
 does /sys/src/cmd/ip/pptpd.c exist?  if not, there must be an
 error in the pull database on sources.  you can copy it
 by hand with
   9fs sources  cp -x /n/sources/plan9/sys/src/cmd/ip/pptpd.c 
 /sys/src/cmd/ip/

Erik, it already exists and has the same MD5 checksum than the one in
sources.


Jerome



Re: [9fans] Building new kernel.

2008-07-22 Thread erik quanstrom
 Erik, it already exists and has the same MD5 checksum than the one in
 sources.

i'm fresh out of ideas, then.

what i know is
a) it build just fine on my system, but i don't use pull.
b) if for some xyzw mk requires xyzw.8 and there's no xyzw.$x
so that there's a mk rule like so %.8: %.$x, i get the following
error message

; mk xyzw.8
mk: no recipe to make 'xyzw.8' in directory /sys/src/9/pc

since i know there's a rule %.8: %.c, there must be some reason
that mk thinks that pptp.c doesn't exist.  i have no idea what that
would be.  mode bits?

you might want to fiddle around with mk -de pptp.8 

- erik




Re: [9fans] Building new kernel.

2008-07-22 Thread Jerome Ibanes
9,

 mk: no recipe to make 'pptpd.8' in directory /sys/src/cmd/ip
 does /sys/src/cmd/ip/pptpd.c exist?  if not, there must be an
 error in the pull database on sources.  you can copy it
 by hand with
   9fs sources  cp -x /n/sources/plan9/sys/src/cmd/ip/pptpd.c 
 /sys/src/cmd/ip/
 Erik, it already exists and has the same MD5 checksum than the one in
 sources.

Using July 19th's iso and today's (Tue Jul 22 13:51:21 PDT 2008) pull:

  http://www.eskimo.com/~jibanes/pull.png


Hope this helps,
Jerome




[9fans] Sam on 9pm or plan9port

2008-07-22 Thread Benjamin Huntsman
As far as I could find, there isn't a newer version of sam for Windows then the 
one from 9pm, so I started trying to port the plan9port version.  So far, I got 
all of the stuff in the sam/ directory to compile.

I'm stuck on lib9, though, since it doesn't compile on Windows in its current 
form.  I've gotten bits and pieces to build, but not the whole thing, so before 
I end up having to gut it to make it work, I thought I'd ask if anyone might 
know..

might it be more straightforward to modify the plan9port sam to run on 9pm, or 
would the only way to get it running on Windows be to port the whole lib9 from 
p9p at the same time?

... I hate Windows, but alas, it's what I have to live with for my job ...

Thanks in advance!

-Ben
winmail.dat

Re: [9fans] Sam on 9pm or plan9port

2008-07-22 Thread Edward Hirgelt

Benjamin Huntsman wrote:

might it be more straightforward to modify the plan9port sam to run on 9pm, or 
would the only way to get it running on Windows be to port the whole lib9 from 
p9p at the same time?

... I hate Windows, but alas, it's what I have to live with for my job ..
  


Here is a stab in the dark -- could p9p possibly compile and run under 
Cygwin?   If so, that could be one way to get p9p working.  An extra of 
indirection may not be the most efficient thing, but...


Ed



Re: [9fans] Sam on 9pm or plan9port

2008-07-22 Thread Benjamin Huntsman
could p9p possibly compile and run under Cygwin?

Might be an easier port... MinGW might be preferable, as drawterm uses it, and 
again might be easier...
Neither would work out of the box, though.

An extra of indirection may not be the most efficient thing, but...

My approach thus far has been to just grab the bits sam needs and compile it 
static...
It'd be kind of goofy to need -two- compatibility layers just to run an 
editor, but you're right in that doing so may be the only feasible way.

winmail.dat

Re: [9fans] Sam on 9pm or plan9port

2008-07-22 Thread Skip Tavakkolian
dt can be compiled using either mingw or ms tools.  might want to read
rsc's recent post about 9vx port to windows and the relative ease
compared to porting p9p.

could p9p possibly compile and run under Cygwin?
 
 Might be an easier port... MinGW might be preferable, as drawterm uses it, 
 and again might be easier...
 Neither would work out of the box, though.
 
An extra of indirection may not be the most efficient thing, but...
 
 My approach thus far has been to just grab the bits sam needs and compile it 
 static...
 It'd be kind of goofy to need -two- compatibility layers just to run an 
 editor, but you're right in that doing so may be the only feasible way.




Re: [9fans] Sam on 9pm or plan9port

2008-07-22 Thread Steve Simon
I have a long term project to get somthing like p9p running under windows
though my goal is to use a windows box as a plan9 cpu server so /dev/draw
is not a priority.

My approach is very similar to Russ's p9p for windows alpha on swtch.com
but it is many months away from finished - i get a day a week or less to
work on it.

The DLL kernel works and supports most plan9 command line tools,
but has no mount driver yet so no devices and a recent attempt to port
over plan9's devmnt and its prerequisits resulted in more problems than
it solved.

I am happy to share the code I have which might be usefull to you.

-Steve



Re: [9fans] Building new kernel.

2008-07-22 Thread Jerome Ibanes
 what i know is
 a) it build just fine on my system, but i don't use pull.
 b) if for some xyzw mk requires xyzw.8 and there's no xyzw.$x
 so that there's a mk rule like so %.8: %.$x, i get the following
 error message
   ; mk xyzw.8
   mk: no recipe to make 'xyzw.8' in directory /sys/src/9/pc
 since i know there's a rule %.8: %.c, there must be some reason
 that mk thinks that pptp.c doesn't exist.  i have no idea what that
 would be.  mode bits?

pptpd.c is dated Dec 31, 1969, mk doesn't like this. So I touch'd it, and
then it compiled just fine.


Jerome



Re: [9fans] Building new kernel.

2008-07-22 Thread Jerome Ibanes
Bob,

 mk: don't know how to make '/386/bin/fossil/fossil' in directory
 /sys/src/9/pc

touch /386/bin/fossil/fossil then you can mk 'CONF=pcf' if you want.


Hope this helps,
Jerome Ibanes



Re: [9fans] Building new kernel.

2008-07-22 Thread Russ Cox
 touch /386/bin/fossil/fossil then you can mk 'CONF=pcf' if you want.
 
 if you are trying to boot from a fossil root and do this,
 your kernel will not be able to successfully mount the root
 filesystem.
 
 don't do this if you expect to boot.

Only if there was no /386/bin/fossil/fossil before.
If instead the problem is that fossil/fossil has mtime==0
but is otherwise a valid binary (as an earlier post suggested
was the problem with pptpd.c), then touch is a fine
solution.

Presumably mk fails to distinguish mtime==0 from
file does not exist internally.

Russ