Tcsh ~user problem under solaris 2.3

Tcsh ~user problem under solaris 2.3

Post by Kurt Swans » Fri, 05 Aug 1994 16:06:29



I've been having problems getting tcsh 6.05 to work on a newly installed
Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
type "echo ~kurt" a second time, I get:
  ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
(approximately), but only after a couple of minutes in which I can't ^C or
^Z out!  I checked all the man pages and other sordid entities to learn
that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
same problem...  Any ideas?
--
Kurt Swanson, Dept. of Computer Science,

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Harald Eikr » Sat, 06 Aug 1994 00:23:31



! I found tcsh-6.05 too buggy and kept using 6.04.  I would install
! 6.04 and wait for 6.06.

There exists a bugfixed 6.05.01, but I have no idea what release plans
Christos Zoulas (the tcsh maintainer) has.  I you want it badly, it's
found in  tesla.ee.cornell.edu:/pri/tcsh-6.05.tar.gz
but be aware that this is a non-public directory, you won't be able to
`dir' in there.

    ~~h

 
 
 

Tcsh ~user problem under solaris 2.3

Post by John W. Saalwaecht » Fri, 05 Aug 1994 22:01:38



>I've been having problems getting tcsh 6.05 to work on a newly installed
>Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
>correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
>type "echo ~kurt" a second time, I get:
>  ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
>(approximately), but only after a couple of minutes in which I can't ^C or
>^Z out!  I checked all the man pages and other sordid entities to learn
>that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
>same problem...  Any ideas?

I found tcsh-6.05 too buggy and kept using 6.04.  I would install
6.04 and wait for 6.06.

--
/************************************************************/
/* John Saalwaechter                                        */

/************************************************************/

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Kurt Swans » Sat, 06 Aug 1994 00:37:29




>>I've been having problems getting tcsh 6.05 to work on a newly installed
>>Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
>>correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
>>type "echo ~kurt" a second time, I get:
>>  ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
>>(approximately), but only after a couple of minutes in which I can't ^C or
>>^Z out!  I checked all the man pages and other sordid entities to learn
>>that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
>>same problem...  Any ideas?
>I found tcsh-6.05 too buggy and kept using 6.04.  I would install
>6.04 and wait for 6.06.

Does this mean you had this problem and fixed it by reverting to 6.04?

I tried this but exactly the same problem is encountered.

Maybe I'll try 6.05.01...  Maybe I'll try debugging it myself...
Maybe I'll shoot myself in the head...
--
Kurt Swanson, Dept. of Computer Science,

 
 
 

Tcsh ~user problem under solaris 2.3

Post by John W. Saalwaecht » Sat, 06 Aug 1994 20:47:59





>>>I've been having problems getting tcsh 6.05 to work on a newly installed
>>>Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
>>>correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
>>>type "echo ~kurt" a second time, I get:
>>>  ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
>>>(approximately), but only after a couple of minutes in which I can't ^C or
>>>^Z out!  I checked all the man pages and other sordid entities to learn
>>>that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
>>>same problem...  Any ideas?

>>I found tcsh-6.05 too buggy and kept using 6.04.  I would install
>>6.04 and wait for 6.06.

>Does this mean you had this problem and fixed it by reverting to 6.04?

>I tried this but exactly the same problem is encountered.

>Maybe I'll try 6.05.01...  Maybe I'll try debugging it myself...
>Maybe I'll shoot myself in the head...

I haven't noticed any bugs in tcsh 6.04 on a SPARC 20
running Solaris 2.3 (or on any other platforms).  Here's a script:

% uname -prsv
SunOS 5.3 Generic_101674-01 sparc
% echo $version
tcsh 6.04.00 (Cornell) 93/07/03 (sun4) options 8b,nls,dl,vi
% echo ~
/home/saalwaec
% echo ~saalwaec
/home/saalwaec
%

--
/************************************************************/
/* John Saalwaechter                                        */

/************************************************************/

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Kurt Swans » Sat, 06 Aug 1994 01:15:50




>! I found tcsh-6.05 too buggy and kept using 6.04.  I would install
>! 6.04 and wait for 6.06.
>There exists a bugfixed 6.05.01, but I have no idea what release plans
>Christos Zoulas (the tcsh maintainer) has.  I you want it badly, it's
>found in  tesla.ee.cornell.edu:/pri/tcsh-6.05.tar.gz
>but be aware that this is a non-public directory, you won't be able to
>`dir' in there.

Tried it...  Still doesn't fix the ~username problem...
--
Kurt Swanson, Dept. of Computer Science,

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Andreas Stolc » Sun, 07 Aug 1994 06:43:54



>^Z out!  I checked all the man pages and other sordid entities to learn
>that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
>same problem...  Any ideas?

If you're using the REMOTEHOST feature you will need the patch below
to take let YPBUGS take full effect.  It fixed things for
us anyway.  (Thanks to Caspar Dik for pointing out the problem.)

*** tc.func.c.dist      Sat Jun 25 15:02:54 1994
--- tc.func.c   Mon Jul 25 22:29:08 1994
***************
*** 1902,1906 ****
--- 1902,1911 ----

      if (host)
        tsetenv(STRREMOTEHOST, str2short(host));
+
+     endhostent();
+ #ifdef YPBUGS
+     fix_yp_bugs();
+ #endif
  }
  #endif /* REMOTEHOST */

--


1947 Center St., Suite 600, Berkeley, CA 94704  (510) 642-4274 ext. 126

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Michael Schroed » Sun, 07 Aug 1994 01:25:52



Quote:>I haven't noticed any bugs in tcsh 6.04 on a SPARC 20
>running Solaris 2.3 (or on any other platforms).  Here's a script:
>% uname -prsv
>SunOS 5.3 Generic_101674-01 sparc
>% echo $version
>tcsh 6.04.00 (Cornell) 93/07/03 (sun4) options 8b,nls,dl,vi
>% echo ~
>/home/saalwaec
>% echo ~saalwaec
>/home/saalwaec
>%
> uname -prsv

SunOS 5.3 Generic_Patch sparc
Quote:> echo $version

tcsh 6.05.00 (Cornell) 94/19/06 (sparc-sun-solaris) options 8b,nls,dl,al,rh
Quote:> echo ~

/home/faui43/inf4/i4hiwi/mlschroe
Quote:> echo ~mlschroe

/home/faui43/inf4/i4hiwi/mlschroe
Quote:> echo ~mlschroe

/home/faui43/inf4/i4hiwi/mlschroe

No problems... What compiler did you use to compile tcsh?

Michael.

---------------------------------------------------------------

main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Kurt Swans » Sun, 07 Aug 1994 02:16:47




>>I haven't noticed any bugs in tcsh 6.04 on a SPARC 20
>>running Solaris 2.3 (or on any other platforms).  Here's a script:
>>% uname -prsv
>>SunOS 5.3 Generic_101674-01 sparc
>>% echo $version
>>tcsh 6.04.00 (Cornell) 93/07/03 (sun4) options 8b,nls,dl,vi
>>% echo ~
>>/home/saalwaec
>>% echo ~saalwaec
>>/home/saalwaec
>>%
>> uname -prsv
>SunOS 5.3 Generic_Patch sparc
>> echo $version
>tcsh 6.05.00 (Cornell) 94/19/06 (sparc-sun-solaris) options 8b,nls,dl,al,rh
>> echo ~
>/home/faui43/inf4/i4hiwi/mlschroe
>> echo ~mlschroe
>/home/faui43/inf4/i4hiwi/mlschroe
>> echo ~mlschroe
>/home/faui43/inf4/i4hiwi/mlschroe
>No problems... What compiler did you use to compile tcsh?

Sun's C Compiler.
Here's my attempts... (Note the elapsed times (in my overly-endowed prompt))

Take 1...

19:17 a:~> uname -prsv
SunOS 5.3 Generic_101318-45 sparc
19:17 a:~> echo $version
tcsh 6.05.00 (Cornell) 94/19/06 (sparc-sun-solaris) options 8b,nls,lf,dl,rh
19:17 a:~> echo ~
/home/kurt
19:17 a:~> echo ~kurt
Unknown user: kurt.
19:19 a:~> echo ~kurt
.H)+(.Bteandvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt19:21 a:~>

Take 2...

19:25 a:~> uname -prsv
SunOS 5.3 Generic_101318-45 sparc
19:25 a:~> echo $version
tcsh 6.04.00 (Cornell) 93/07/03 (sun4) options 8b,nls,lf,dl
19:25 a:~> echo ~
/home/kurt
19:25 a:~> echo ~kurt
Unknown user: kurt.
19:26 a:~> echo ~kurt
.JT?(.Bvandvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt19:28 a:~>

The same thing even happens with 6.05.01, the test version mentioned
here.

I have traced the problem to Sun's C routine "getpwnam" as called in
tc.func.c.  This is what returns the error, and which takes 2 minutes
to run!  Note that getpwnam is used in several other places in tcsh,
without any (known) problems.  Also, I have installed other products,
such as elm, which also use getpwnam without any problem.  Strange...
--
Kurt Swanson, Dept. of Computer Science,

 
 
 

Tcsh ~user problem under solaris 2.3

Post by David P. Feldm » Sun, 07 Aug 1994 07:39:29




   >I've been having problems getting tcsh 6.05 to work on a newly installed
   >Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
   >correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
   >type "echo ~kurt" a second time, I get:
   >  ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
   >(approximately), but only after a couple of minutes in which I can't ^C or
   >^Z out!  I checked all the man pages and other sordid entities to learn
   >that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
   >same problem...  Any ideas?

   I found tcsh-6.05 too buggy and kept using 6.04.  I would install
   6.04 and wait for 6.06.

Have any of you guys bothered looking at patches for 2.3?  Perhaps the
reason that I have been running 6.05 perfectly for the past month (and my
.cshrc files are even more complicated than Christos') is that I have
patched my machines.  The ~ problem above sounds like you need patch 101448
which fixes problems with password/NIS compatability mode.  In any event, I
would install all of the recommended patches from sunsolve.  Also, the
/etc/.login file that Sun supplies is a piece of *and they don't even
bother to quote $TERM.

You do need to patch 6.05 to make a one line change to sh.c.  Other than
that it's been perfect for me.  Can we have some more details about these
bugs please (after you patch your OS)?

=-Dave-F->
--
_   /|                                             Dave Feldman
\'o.O'       My opinions are my own, and do not    USA : 212-449-6655
=(___)=      represent those of my employer,       DFA : land of wonder
   U         either implied or expressed.                and enchantment

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Scott Seligm » Tue, 09 Aug 1994 07:09:45



> I've been having problems getting tcsh 6.05 to work on a newly installed
> Solaris 2.3 system.....  When I type "echo ~kurt" I get "Unknown user:
> kurt." and when I type "echo ~kurt" a second time, I get:
>   ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"

This bizarre output is part of a NIS+ password table query.

The problem is that tcsh periodically "cleans up" file descriptors by
closing them all.  One of the file descriptors that it closes is the
file descriptor that the tcsh process is using -- indirectly via libnsl --
to communicate with NIS+.  Subsequent calls to getpwnam() and other NIS+
front-ends have unpredictable results.

Tcsh calls yp_unbind() to avoid similar problems when the naming service
is NIS rather than NIS+.  I don't know if a similar hack exists for NIS+.
Tcsh should keep track of the file descriptors that it opens, and close
only those.

Scott

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Alain Niss » Tue, 09 Aug 1994 05:38:23



> I've been having problems getting tcsh 6.05 to work on a newly installed
> Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
> correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
> type "echo ~kurt" a second time, I get:
>   ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
> (approximately), but only after a couple of minutes in which I can't ^C or
> ^Z out!  I checked all the man pages and other sordid entities to learn
> that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
> same problem...  Any ideas?

I use TCSH-6.05 on a Sparc 10 running Solaris 2.3 (SunOS 5.3) without any
problem.

However, I had to fix some piece of code in tc.func.c (the fix was given by

to define YPBUGS.

My Sparc 10 is a NIS client; the NIS server runs SunOS 4.1.3_U1.  I don't use
NIS+.

Here is the fix given by Christos S. Zoulas:

Quote:> We missed one point where we should have added the fix_yp_bugs()
> It is in tc.func.c just at the end of the file before the tsetenv() if
> statement add

> #ifdef YPBUGS
>     fix_yp_bugs();
> #endif

Without using this fix and defining YPBUGS, I had some strange problems about
the tilde (~) expansion: some tilde expansions never ended, others were OK.

I don't know if this fix has been included in TCSH-6.05.01.

--

Alain

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Roland Kaltefleit » Wed, 10 Aug 1994 20:23:04




>> I've been having problems getting tcsh 6.05 to work on a newly installed
>> Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
>> correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
>> type "echo ~kurt" a second time, I get:
>>   ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
>> (approximately), but only after a couple of minutes in which I can't ^C or
>> ^Z out!  I checked all the man pages and other sordid entities to learn
>> that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
>> same problem...  Any ideas?

I am running tcsh-6.05.0

version tcsh 6.05.00 (Cornell) 94/19/06 (sparc-sun-solaris) options 8b,nls,rh

out of the Box on my Solaris 2.3 machines.
We are running NIS+ (no YP-Compat mode) and its fine.

I do not remember, maybe I needed to add "-lsocket -lnsl" to the link libraries.

But I did not need to change anything in the sources.

My Solaris Systems are running ALL recommended patches, kernel versions >44,
NFS-Jumbo-Patch installed, NIS+ Jumbo-patch installed...

Roland

--
Roland Kaltefleiter | OFFICE: n/a please use Papermail

In an other world in an other time to come, there won't be MS-DOS.

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Hiroshi NAKA » Wed, 10 Aug 1994 13:59:18


 |Tcsh calls yp_unbind() to avoid similar problems when the naming service
 |is NIS rather than NIS+.  I don't know if a similar hack exists for NIS+.

You can find such an attempt for NIS+ at:

    ftp.ryukoku.ac.jp:~ftp/Ryukoku/software/svr4-port/tcsh-6.05-svr4

--

                        Ryukoku Univ., Seta, Otsu, Japan

 
 
 

Tcsh ~user problem under solaris 2.3

Post by Kurt Swans » Wed, 10 Aug 1994 17:50:09




>> I've been having problems getting tcsh 6.05 to work on a newly installed
>> Solaris 2.3 system.  When I type "echo ~" I get "/home/kurt" which is
>> correct.  When I type "echo ~kurt" I get "Unknown user: kurt." and when I
>> type "echo ~kurt" a second time, I get:
>>   ".#"$%"#$Randvare.dna.lth.se.(passwd.org_dir.dna.lth.se.namekurt"
>> (approximately), but only after a couple of minutes in which I can't ^C or
>> ^Z out!  I checked all the man pages and other sordid entities to learn
>> that one must define YPBUGS and link with -lnsl...  No luck.  Exactly the
>> same problem...  Any ideas?
>I use TCSH-6.05 on a Sparc 10 running Solaris 2.3 (SunOS 5.3) without any
>problem.
>My Sparc 10 is a NIS client; the NIS server runs SunOS 4.1.3_U1.  I don't use
>NIS+.

It seems the problem for us using NIS+ is not exactly the same as the
YPBUGS problem, but is clearly related.  According to Scott Seligman
of Sun, both problems are due to tcsh closing certain "file
descriptors" it shouldn't.  I must agree that the problem lies within
tcsh, as many programs use getpwnam without any problem...  The
easiest patch is to write a short C program that calls getpwnam, and
run that instead of getpwnam directly in tc.func.c...
--
Kurt Swanson, Dept. of Computer Science,

 
 
 

1. No motd for tcsh users under Solaris 2.3

When a tcsh user logs in to one of our machines
running Solaris 2.3 (or 2.2), the /etc/motd file
does not cat for them...

It works for a csh user, and it also works for
the tcsh user under 4.1.X (of course).

I see that csh expects to run /etc/.login for Solaris.
I suppose tcsh skips this step or something.  Perhaps
it is the version I am running:

version tcsh 6.03.00 (Cornell) 92/11/20 (sun4) options 8b,nls,dl,al

Any ideas?  (not that they read it anyway:-)

Rob

2. New TIRPC source

3. Problem installing tcsh on Solaris 2.3

4. =-=-=-= JOB - NJ/MIDDLETOWN - Excellent Unix Sysadmin =-=-=-=

5. Tcsh 6.03 problems on solaris 2.3

6. SiS 6215 video card

7. UTMP problem with Solaris 2.3 & tcsh.

8. Transport & Network addressing over TLI

9. HELP: Solaris 2.3 <---> Solaris 2.3 PPP link problems

10. HELP: Solaris 2.3 <---> Solaris 2.3 PPP link Problems

11. Solaris 2.3: user@host.domain --> user@domain

12. Tcsh on Solaris 2.3

13. I need tcsh binaries for Solaris 2.3