HDTenEightyP/NetNews huggingface dataset:
From: jpage@spiker.NoSubdomain.NoDomain (Jim Page)
Subject: SunOS memory usage ??
Keywords: vmstat, ps, missing memory
Organization: Bellcore
Date: Mon, 14 Sep 92 17:53:46 GMT

anyone know what's the deal with SunOS's memory deallocation technique??

	just the facts:

	- SUN 4/280 running SunOS4.1 with 64 Meg

	- developers complain that some of their MOTIF processes fail due to 
	  insufficient memory....

	vmstat's fre column showed less than 2 Meg free and then page outs(po's)
	started to appear.

	i ran a ps -vax which is supposed to kick out some more virtual memory
	information. 
	
	the RSS's totaled up to about 15 Meg.
	
	there's about 3 Meg allocated for IPC stuff.

	i've heard noise that some of the virtual memory stats reported by
	SunOS aren't too helpful...

	what's the deal???

	any ideas???

James H. Page Jr.

Bell Communications Research

RRC-4A1158 (908) 699-8652
jpage@leis.leis.bellcore.com
Xref: sparky comp.sys.sun.admin:6212 comp.unix.admin:4954
From: guy@Auspex.COM (Guy Harris)
Newsgroups: comp.sys.sun.admin,comp.unix.admin
Subject: Re: biff not biffing
Date: 9 Sep 92 06:37:22 GMT
Followup-To: comp.sys.sun.admin
Organization: Auspex Systems, Santa Clara

>We found an interesting corrolation here today: the biff problem
>only is apparent when  comsat tries to biff users with login names 
>of 8 characters.  If the user has less than 8 chars, it works
>just fine.
>
>Could it be that the author of comsat forgot that strings in C
>need to be defined as having one more character than the largest
>size?

No, but it could be that the person at Sun who modified it to do certain
operations with the UID of the user to whom the message is being
delivered did:

Patch-ID# 100272-04
Keywords: biff, comsat, mail, 4.1, in.comsat, daemon, 8-characte, login 
Synopsis: SunOS 4.1.1 in.comsat daemon fails with 8-character login names
Date: 09-Sept-91
 
SunOS release: 4.1.1  
 
Unbundled Product: 
 
Unbundled Release:
 
Topic: in.comsat + 8bit login 
 
BugId's fixed with this patch: 1035603 

Architectures for which this patch is available: sun4c sun3 sun3x sun4

Patches which may conflict with this patch:

Obsoleted by: SunOS 5.0

Problem Description: 4.1 in.comsat daemon fails with 8-character login names,
especially when one is logged in remotely.  in.comsat core dumps in this case,
and the user's mail is not biff'ed to the terminal.


INSTALL: 

 1) Make a backup copy of the old file:
mv /usr/etc/in.comsat /usr/etc/in.comsat.fcs

 2) Now copy in the patched files and set permissions:
cp `arch -k`/in.comsat /usr/etc
chown root /usr/etc/in.comsat
chmod 755 /usr/etc/in.comsat
chgrp staff /usr/etc/incomsat
Newsgroups: comp.sys.sun.admin
From: ryan@maui.cs.ucla.edu (Ryan R. Ramsey)
Subject: Re: wanted: format.dat entry for  micropolis 1598
Organization: UCLA Computer Science Department 
Date: Sun, 13 Sep 92 23:21:13 GMT

In article <1992Sep10.162342.17996@cc.gatech.edu> arnold@cc.gatech.edu (Arnold Robbins) writes:
>Does anyone have an /etc/format.dat entry for the Micropolis 1598
>1.2G disk drive? I'm about to attach one to a Sparcstation IPC, and while
>I could probably cobble one together, if someone else has already done
>this, I'd appreciate hearing from you.
>
>Please reply by mail and I'll summarize if interest warrants; I don't get
>to keep up with these groups (unfortunately).
>
>Much thanks!

Here you are:

	ctlr		MD21	(SCSI if using 4.1.2)
	ncyl		1931
	acyl		3
	pcyl		1928
	nhead		15
	nsect		70
	rpm		3600
	bpt		41664
	trks_zone	15
	fmt_time	4
	atrks		45
	asect		8

Hope that helps...

-- 
+------------------+-------------------------------------------------+
| Ryan R. Ramsey   | U.C.L.A. Computer Science Department.           |
| ryan@CS.UCLA.EDU | ..!{uunet,rutgers,ucbvax}!cs.ucla.edu!ryan      |
+------------------+-------------------------------------------------+
Newsgroups: comp.sys.sun.admin,comp.unix.admin
From: cmclark@umich.edu (Charles Clark)
Subject: Re: NIS, slave servers and DNS access (actually disabling accounts)
Summary: clip the .rhosts file
Originator: cmclark@ivrit.ra.itd.umich.edu
Organization: Lemon Mist Torte
Date: Wed, 9 Sep 1992 02:17:46 GMT

ivan@durras.anu.edu.au (Ivan Dean) writes:
>This thread has moved off into the area of disabling accounts, which is
>something I have had a bit of experience in. Recently we acquired sixty
>Xterminals for our teaching laboratories, and they change things quite
>noticeably.
>
>To recap, we've seen the following suggestions for disabling accounts :
>
>1. Alter the password field of the user
>2. Alter the shell of the user
>
>Suggestion 1. doesn't work if the user has a .rhosts file, or the
>/etc/hosts.equiv file allows them to log on directly, i.e. if a
>"trust relationship" is set up from another working account, because the
>user doesn't have to enter a password at all.

Presumably, you are going to nix them from every system you have admin
control of, and would not put a hosts.equiv in (at all, really) to a
machine that is not one of your group's.  So, if you do the above two
actions, and clip their .rhosts file, doesn't that take care of it?

--
Charles Clark
From: ken@racerx.bridge.COM (Ken Hardy)
Newsgroups: comp.sys.sun.admin
Subject: Re: I hate my /etc/printcap.
Date: 10 Sep 92 22:44:50 GMT
Organization: Planet Earth

In article <185o90INNfu@shirley.cs.widener.edu> ware@cs.widener.edu (Mark Ware) writes:
>Ive tried and tried to get my HPLJ3 to print a binary but alas, my printcap
>entry is bogus.
...
>attached to the sun4 serially(sp?))  Does anyone know what the proper 
>printcap entry would look like.  Ive read the man pages and the admin

You've got to make sure that the serial tty interface sends 8 bits out
the port, and make sure it's not doing any lf->cr/lf conversion or tab
expansion; you'll have those lf and tab bytes strewn about your binary
data, and the interface better not be mucking about with it.

I believe you need to _not_ set bits 6030 in and fs# entry, or
explicitly set them off with fc#6030.  Easier to understand is '-opost'
in an ms= entry, which does the same thing, and you can actually
comprehend its meaning from looking at it.  Maybe throw in a 'cs8'
as well for good measure.

Those are the problem I've encountered with serial HP printers.
Oh, and make sure any if= filter isn't playing with the data.  If you're
depending on the tty interface to do tab expansion and lf conversion for
you, you should try two different printcap entries for the same device,
one for text, and one for binary images.

-- 

Ken Hardy
ken@bridge.com  (racerx!ken)
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.sys.sun.admin
Subject: Re: Same ether address on 2 interfaces of router ?
Date: 11 Sep 1992 16:26:49 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <BuEx7v.1I0@dcs.glasgow.ac.uk> edwardsc@dcs.glasgow.ac.uk (Chris Edwards) writes:
>Does this mean it is changing the 'effective' ethernet addresses so the
>2 interfaces are the same ? (or could I be doing something silly ?)

Yes.  The only time this causes trouble is if you want both interfaces to
connect to the same ethernet (which you might do if you had two subnets on
one physical net).
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.sys.sun.admin
Subject: Re: How to tell which client is performing NFS requests?
Date: 10 Sep 1992 19:57:33 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com


Get the program nfswatch from an FTP server.

Use etherfind(8) to see UDP packets destined to port 2049 on the server.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
Xref: sparky comp.sys.sun.admin:6211 comp.unix.admin:4953
From: hanrahan@iron.hq.aflc.af.mil (Kevin Hanrahan)
Newsgroups: comp.sys.sun.admin,comp.unix.admin
Subject: Re: biff not biffing
Date: 8 Sep 92 19:51:58 GMT
Organization: AFSAC


>>In <1992Aug29.202158.22016@europa.asd.contel.com> pascoe@rocky.gte.com (Dave Pascoe) writes:
>>
>>>commented out comsat in /etc/inetd.conf and sent a kill -1 to inetd
>>>and then uncommented comsat and sent another kill -1.
>>
>>>The comsat daemon was out to lunch for some reason.  This is a common
>>>problem on machines which handle a lot of mail, since the comsat
>>>daemon can tend to get confused at to what state it's in when a SIGHUP
>>>to inetd comes along.

We have the biff problem at our site.  We tried this solution, and it
worked ... for about 5 minutes, and the problem returned.  We have
tried a couple of other suggestions made here, but none worked either.

We found an interesting corrolation here today: the biff problem
only is apparent when  comsat tries to biff users with login names 
of 8 characters.  If the user has less than 8 chars, it works
just fine.

Could it be that the author of comsat forgot that strings in C
need to be defined as having one more character than the largest
size? Nah!  Anyone having a similar experience?

-- 
Kevin M. Hanrahan    hanrahan@iron.hq.aflc.af.mil         (513) 427-CETA
CETA Corporation              [137.245.81.8]              (513) 257-5760
Xref: sparky comp.sys.sun.admin:6202 comp.sys.sun.misc:4135
From: schorr@ead.dsa.com (Andrew J. Schorr)
Newsgroups: comp.sys.sun.admin,comp.sys.sun.misc
Subject: SunOS 4.1.2 XDR alignment requirements?
Keywords: SunOS XDR alignment
Date: 8 Sep 92 17:51:38 GMT
Organization: Daiwa Securities America, New York

It appears (although this is undocumented) that the
buffer supplied in a call to xdrmem_create must be
aligned on a 4-byte boundary.  On a SparcStation 1
running SunOS 4.1.2, consider the following session script:

   schorr@dead: cat xdr.c
   #include <rpc/rpc.h>

   main()
   {
      int x;
      char buf[100];
      XDR xdr;

   #define OFFSET 1

      xdrmem_create(&xdr,&buf[OFFSET],sizeof(buf)-OFFSET,XDR_ENCODE);
      printf("%d\n",xdr_int(&xdr,&x));
   }
   schorr@dead: Gmake xdr
   # Must update dependencies for 1 files; using cc...
   # altered files: ../xdr.c
   # updatedep: processing xdr.o
   cc -g   -I/usr/local/X11R5/include -I/extras/local/X11R5/include
-I/usr/local
   /include -I/homes/lib/eadtools -D_NO_PROTO -I/homes/schorr/src/disp
-I/homes/
   rtp/cur/include -L/usr/local/X11R5/lib -L/usr/local/lib   -o xdr
../xdr.c
   schorr@dead: xdr
   Bus error (core dumped)
   schorr@dead: dbx sun4/xdr
   Reading symbolic information...
   Read 164 symbols
   warning: core file read error: address not in data space
   program terminated by signal BUS (alignment error)
   (dbx) where
   warning: core file read error: address not in data space
   xdrmem_putlong() at 0xf7731430
   xdr_int() at 0xf77309f0
   main(), line 12 in "sun4/../xdr.c"
   (dbx) quit

Please note that the same program runs fine on an IBM RS/6000
running AIX 3.2.  Apparently xdrmem_putlong is assuming that the
target buffer is 4-byte aligned.  The same thing happens when
decoding (except the crash is in xdrmem_getlong).

Does anyone have any thoughts on this?  It seems to me that this violates
the XDR spec.  Does anyone know if this is fixed in Solaris 2.0?

Please respond by e-mail since my news feed is down.  I will summarize
if there is interest.

-Andy
From: hb@woody.csd.uu.se (Henrik B}kman  CSD)
Newsgroups: comp.sys.sun.admin
Subject: NFS write error 13
Date: 14 Sep 1992 09:29:01 GMT
Organization: Uppsala University
Distribution: world
NNTP-Posting-Host: woody.csd.uu.se


With "regular" intervalls I got 'NFS write error 13' in my
/var/adm/messages. Somebody know what's the problem?

I also got 'inetd[...]: /usr/etc/in.tftpd: Broken pipe'. Anything
to be worried about?

-- 
----------------------------------------------------------------------
Henrik Bakman           Adress: Box 520          Tel: +46 18 181044
System Manager                  751 20 UPPSALA   Fax: +46 18 521270
Computing Science Dep.          SWEDEN           Email: hb@csd.uu.se
Uppsala University
Newsgroups: comp.sys.sun.admin,comp.sys.sun.hardware,comp.periphs.scsi
From: arnold@cc.gatech.edu (Arnold Robbins)
Subject: wanted: format.dat entry for  micropolis 1598
Followup-To: comp.sys.sun.admin
Organization: Georgia Institute of Technology
Date: Thu, 10 Sep 1992 16:23:42 GMT

Does anyone have an /etc/format.dat entry for the Micropolis 1598
1.2G disk drive? I'm about to attach one to a Sparcstation IPC, and while
I could probably cobble one together, if someone else has already done
this, I'd appreciate hearing from you.

Please reply by mail and I'll summarize if interest warrants; I don't get
to keep up with these groups (unfortunately).

Much thanks!
--
Arnold Robbins --- College of Computing			| Ping is the screw-
Georgia Tech, Atlanta, GA 30332-0280			| driver of network
Domain: arnold@cc.gatech.edu	 Phone: +1 404 894 9214 | debugging tools.
UUCP: uunet!cc.gatech.edu!arnold FAX:   +1 404 853 9378 |	-- me
Newsgroups: comp.sys.sun.admin
From: jxh@certes.icd.teradyne.com (Jim Hickstein)
Subject: Re: Sun 690MP performance problems
Organization: Teradyne, Inc. Boston MA
Date: Tue, 8 Sep 1992 05:33:45 GMT

This might be unrelated to your problem, but it gave me some similar symptoms.
I had manually mounted the CD-ROM, the OpenWin 3.0 disk, without specifying
"ro", and every time I did a df(1) it would take a very long time to execute.
It was attempting to update the atimes on the cdrom, and timing out at the
drive level.  Oops.  I noticed the messages on the console after a while,
but until then it was a very mysterious performance problem.  I suggest you
do "trace sync" sometime, and see if your filesystem is causing the problem
somehow.
-- 
"Neither can His Mind be thought to be in Tune whose Words do Jarre;
 Nor His Reason in Frame whose Sentence is Preposterous."
Jim Hickstein, Teradyne Inc., San Jose CA, (408) 434-0822 FAX -0252
jxh@icd.teradyne.com   ...!apple!attain!jxh
Newsgroups: comp.sys.sun.admin
From: myka@peanuts.informatik.uni-tuebingen.de (Andreas Myka)
Subject: How to increase the number of semaphores?
Reply-To: myka@informatik.uni-tuebingen.de
Organization: Uni Tuebingen, Wilhelm-Schickard-Institut
Date: Tue, 8 Sep 92 17:33:49 GMT

Hello!

Does anybody know, how the number of available semaphores can be increased
on a SUN SPARCstation 2 with SunOS 4.1.2?

Thank you very much for any hint you can give!

Andreas

Please send answers to the following address:
myka@informatik.uni-tuebingen.de
Newsgroups: comp.sys.sun.admin
From: weingart@inf.ethz.ch (Tobias Weingartner)
Subject: Ld - HELP !!!
Followup-To: poster
Keywords: ld, ld.so
Reply-To: weingart@inf.ethz.ch
Organization: ETH - Switzerland
Date: Tue, 15 Sep 1992 13:49:40 GMT

Yikes, what is going on here?

I pulled down a program, (x type of thing), and compiled it
on one machine.  Everything went fine.  I then tried to 
compile the stuff on a pretty well identical machine.

I got ld's famous message:

ld: Undefined symbol
_XtMalloc
_XtGetConstraintResourceList
_XtRealloc
_XtVaSetValues
_XtName
_XtFree
_XtTranslateCoords
_XtGetResourceList
_XtWidgetToApplicationContext
_XtAppSetTypeConverter
_XtOwnSelection
_XtAppSetWarningMsgHandler
blah
blah
blah
...
...

It's quite obvious that it did not find libXt.

The funny thing was, the program itself did not use
libXt.  Well, beying smart (so I thought), I added
a -lXt to the appropriate spot in the Makefile
(Well, I actually edited the Imakefile, etc)

This time it linked with the following:

ld: Undefined symbol
__XtFree

Hmm, queer.  Well, I tried executing version2 for the fun
of it.  Did not work. (What else you expect?).

Version1, however, will execute!  I mean like no warnings,
no errors, no core dumps, but WORKS!!! I am compleatly
LOST.  What is going on.  How can I fix?

ANY suggestions are MORE than welcome.

--Toby.

Newsgroups: comp.sys.sun.admin
From: casper@fwi.uva.nl (Casper H.S. Dik)
Subject: Re: mounting 4.1.1 fs on a 4.1.2 sys
Organization: FWI, University of Amsterdam
Date: Sun, 6 Sep 1992 10:23:35 GMT

avraham@itexjct.jct.ac.il (avraham shir-el) writes:

>my question is exactly the opposite of the one asked last week.
>i'm planning on physically moving a disk from a 4.1.1 system
>to a 4.1.2 system. i had assumed that it would be ok.
>anyone try it yet?
>tnx in advance

Yes, it is. I can't remember a suninstall/upgrade where it
was necessary to reformat/newfs disk other than when
changing partitions. And since you can upgrade (w/o full install)
from 4.1.1 to 4.1.2, it is definitely supported.

Casper
-- 
						|	Casper H.S. Dik
						|	casper@fwi.uva.nl
Newsgroups: comp.sys.sun.admin
From: albert@INSL.McGill.CA (Albert Pang)
Subject: Determining IP address for a laptop Sparc
Organization: INSL, McGill University, Montreal, Canada
Date: Fri, 11 Sep 92 05:05:05 GMT

I am trying to set up a laptop Sparc (Tadpole's SPARCbook) for
someone.  He commutes frequently between two offices.  He would like
to plug the SPARCbook to the ethernet and boots automatically to the
right IP address.

Is there anyway to listen to the ethernet to guess which one of the
two ethernets the machine is connected to?  Most(if not all) of network
commands (e.g. ping, etherfind, rup, etc), will not work unless 
you have turn on the network interface by ifconfig.  However,
I need to put in an address for ifconfig.

Any ideas?


-- 
------------------------------------------------------------
Albert Pang		<albert@brahms.insl.mcgill.ca>
Information Networks & Systems Lab
McGill University
From: montjoy@thor.ece.uc.edu (Robert Montjoy)
Newsgroups: comp.sys.sun.admin
Subject: Patches required with 4.1.3
Date: 6 Sep 92 01:58:15 GMT
Organization: Unversity of Cincinnati, ECE Dept


Hi..


Just a quick question what patches are required for SunOS 4.1.3?
Are some or all the 4.1.2 patches compatable? 

It seems that the only "major" patch that is included is 100075-08
(I think that is the NFS jumbo patch).

thanks
-- 
Rob Montjoy                   		- Rob.Montjoy@UC.Edu
Computer Engineer    	      		- montjoy@ucbeh.BITNET
University of Cincinnati      		- montjoy@babbage.ece.uc.edu
Electrical and Computer Engineering	- uunet!uceng!rmontjoy

-- Standards are illusions of many faces.
Newsgroups: comp.sys.sun.admin
From: luik@isa.de (Andreas Luik)
Subject: SUMMARY: using SPARCstation IPC as gateway?
Organization: ISA GmbH, Stuttgart, FRG
Date: Tue, 8 Sep 1992 13:05:41 GMT

In article <1992Sep4.220256.2250@isa.de> I posted the following question:
   As the traffic on our ethernet is getting more, I decided to split our
   net. I have the following possibilities:

   1. Use a bridge (costs app. DM 5000,--)
   2. Add a second ethernet card to a SPARCstation IPC and use it as a
      gateway (costs app. DM 800,--)

   The traffic between the two nets will be NNTP (newsreaders), XNTP,
   X-protocol and some NFS traffic (no diskless clients). 

   Using a SPARC as a gateway would be much cheaper, but:

   - will the throughput suffer? Is a bridge much faster than a gateway?
   How much?

   - will the performance of the SPARCstation IPC suffer? It should be usable
   by at least 2 or three users (app. 10 windows) and has to exports some
   NFS directories, too. Currently this works well.

I received three answers from:

	Gary L Dare <gld@cunixb.cc.columbia.edu>
	pomeranz@nas.nasa.gov (Hal R. Pomeranz)
	blplante@cvgis.prime.com (Brian L. Plante)

Thanks alot to all.

Using an IPC as a gateway is possible, but the following should be
considered:

o The SPARC should have enough memory because swapping will degrade
  net performance significantly

o To ensure that the routed gets enough CPU, no real work should be
  done on the machine. NFS service will be OK, but makes or so will make
  routing slow (and renicing routed seems not to help).

o Hal R. Pomeranz wrote that I/O bandwidth for Sun ethernet ports is
  pretty pitiful (benchmark shows only 2 Mbits/sec bandwidth, most
  bridges have full LAN speed)

I'm not sure yet, but I think I'll wait until the budget allows us to
buy a bridge.

--
Andreas Luik                E-Mail: luik@isa.de
(postmaster@isa.de)         UUCP:   ...!{uunet!unido,pyramid}!isaak!luik
From: wjm@itd.dsto.gov.au (Wayne Mildren)
Newsgroups: comp.sys.sun.admin
Subject: Exabyte 8500c usage
Date: 16 Sep 92 17:00:11 GMT
Reply-To: wjm@itd.dsto.gov.au

I have just bought an Exabyte 8500c tape drive and am having trouble using it.
Under SunOS 4.1.1 it works fine in 8200 mode but I can't change to other modes.
Under SunOS 5.0 I keep getting Data Transfer Overrun errors whenever I try
to write to tape.

How do I configure this drive to use the 8500c mode under SunOS 4.1.1?
I want to use dump and tar to write in this mode.

Any help for any configuration would be appreciated.

Wayne

------------------------------------------------------------------------------
Wayne Mildren
Network Manager                                    wjm@itd.dsto.gov.au
Information Technology Division                    Phone: 61 8 259 7051
DSTO Salisbury, South Australia                    Fax:   61 8 259 5980
------------------------------------------------------------------------------
Newsgroups: comp.sys.sun.admin
From: jiazhang@magnus.acs.ohio-state.edu (Jiajie Zhang)
Subject: Q: connecting a postscript printer to the serial port of a sparc
Organization: The Ohio State University
Distribution: usa
Date: Thu, 10 Sep 1992 07:01:11 GMT




I thought it's a trivial task (and maybe it is indeed a trivial task
for many people in this group).  But after spending more than three
hours on the setup, I got frustrated and totally confused.

The printer (Apple LaserWriter IIf) and the sparc 2 are connected via
their serial ports by a null modem cable, as instructed.  I
reconfigured the RS432 on the sparc to RS232, also as instructed.  The
connection seems ok, since I can send signals to the printer by "cat
foo > /dev/ttya".  But I can not get anything printed out on the printer.

In the file /etc/ttytab, I changed the line

ttya   "/usr/etc/getty std.9600"       unknown         on local secure

TO

ttya    none                            unknown         on local secure

to prevent the execution of getty on ttya, which is the device name
for the printer.  

I copied the printcap from another Sun that has similar settings and
made necessary changes to reflect the situations on my machine.

However, whenever I used lpq to list the queue, I always got something like
"daemon not present".   After I typed /usr/lib/lpd to activate the lpd
daemon manually, I got the same message.  After I used lpc to activate
the printer, I still got the same thing.

Any ideas on what the problems are?  Anyone has succeeded on the setup
with a similar setting (postscript printer connected to the serial
port of a sparc)?  

Any pointers will be greatly appreciated.

Jiajie Zhang
jiazhang@magnus.acs.ohio-state.edu

-------------------------------------------------------------------------
Jiajie Zhang			Office:   (614)-292-8667
Assistant Professor		Home:	  (614)-885-7995
Department of Psychology	FAX:      (614)-292-4537
Ohio State University		Email: jiazhang@magnus.acs.ohio-state.edu
Columbus, Ohio 43210-1222	       zhang@canyon.psy.ohio-state.edu
-------------------------------------------------------------------------