Operating System - OpenVMS
1752292 Members
4607 Online
108786 Solutions
New Discussion юеВ

Re: SET NOON not working ?

 
SOLVED
Go to solution
Kevin Raven (UK)
Frequent Advisor

SET NOON not working ?

We boot our cluster and the following happens ;

We have a sylogin command file that attempts to call another command file via a logical name for the directory. This logical name is not defined until later in the startup process.
Thus when the sylogin hits the call and errors , it should continue to run because we have a SET NOON set.
However it still bombs out and as a result , FTP process fails to start during boot.
Once booted , we can log in and restart TCPIP and FTP starts ok. Because the logical that causes the erro in the sylogin is now set.

See below ....with logical name in sylogin and sylogin bombing out and not ignoring SET NOON .....also we changed logical name in sylogin and put in full directory spec and on this boot , all starts ok ...becuase sylogin did not bomb out ...

ty DSA0:[TCPIP$FTP]TCPIP$FTP_RUN.LOG;-4
$ Verify = 1
$!
$! This command procedure is always run when anybody on the entire system
$! logs in. It is equivalent to LOGIN.COM except that the instructions
$! contained herein are executed everytime anyone on the VMS system
$! logs in to their account.
$!
$!
$! Phil Harriss 10 Nov 1997
$! On all logins setup SOH logicals if the account is SOH enabled
$!
$! Sonia Gregg 9 June 1998
$! Add symbol definition for swm
$! Phil Harriss 17 Aug 1999
$! Added prompt to get login reason for any DEV account for interactive access.
$!
$ Set NoOn
$
$ Mode = F$Mode()
$ Username = F$Edit(F$Getjpi(0,"Username"),"Collapse")
$ Node = F$Getsyi("Nodename")
$ If Node .eqs. "" then Node = F$Getsyi("SCSNODE")
$ If Node .eqs. "" then Node = F$Trnlnm("SYS$NODE","LNM$SYSTEM_TABLE")
$ Node = F$Edit(Node,"Trim") - "::"
$
$ If Mode .nes. "INTERACTIVE" then Goto Not_Interactive
$Not_Interactive:
$!
$! and commands for all users in any mode here
$!
$! - utilities, defines all the Utility software symbols
$! - a1mail, symbol a1mail is no longer supported use dmw
$! - a1mail, dwm is no longer supported use mail
$!
$ @utl$system:Utilities
%DCL-E-OPENIN, error opening UTL$SYSTEM:[TCPIP$FTP]UTILITIES.COM; as input
-RMS-F-DEV, error in device name or inappropriate device type for operation
TCPIP$FTP job terminated at 1-FEB-2009 13:40:41.86

Accounting information:
Buffered I/O count: 32 Peak working set size: 2192
Direct I/O count: 28 Peak virtual size: 187104
Page faults: 130 Mounted volumes: 0
Charged CPU time: 0 00:00:00.00 Elapsed time: 0 00:00:00.02


Now without logical name in sylogin....
ty DSA0:[TCPIP$FTP]TCPIP$FTP_RUN.LOG

$ Verify = 1

$!

$! This command procedure is always run when anybody on the entire system

$! logs in. It is equivalent to LOGIN.COM except that the instructions

$! contained herein are executed everytime anyone on the VMS system

$! logs in to their account.

$!

$!

$! Phil Harriss 10 Nov 1997

$! On all logins setup SOH logicals if the account is SOH enabled

$!

$! Sonia Gregg 9 June 1998

$! Add symbol definition for swm

$! Phil Harriss 17 Aug 1999

$! Added prompt to get login reason for any DEV account for interactive access.

$!

$ Set NoOn

$

$ Mode = F$Mode()

$ Username = F$Edit(F$Getjpi(0,"Username"),"Collapse")

$ Node = F$Getsyi("Nodename")

$ If Node .eqs. "" then Node = F$Getsyi("SCSNODE")

$ If Node .eqs. "" then Node = F$Trnlnm("SYS$NODE","LNM$SYSTEM_TABLE")

$ Node = F$Edit(Node,"Trim") - "::"

$

$ If Mode .nes. "INTERACTIVE" then Goto Not_Interactive

$Not_Interactive:

$!

$! and commands for all users in any mode here

$!

$! - utilities, defines all the Utility software symbols

$! - a1mail, symbol a1mail is no longer supported use dmw

$! - a1mail, dwm is no longer supported use mail

$!

$! @utl$system:Utilities

$ @DISK$TPASS$DISK2:[TPASS_SYSTEM.TPASSCOMMON.SYSMGR.UTILITIES]utilities

$ Utilities$v = f$verify(f$integer(f$trnlnm("Utilities$VERIFY")))

$ exit %x10000000 .or. 196609

$ A1*Mail :== Mail

$ Dwm :== Mail

$!

$! test for account having the ORANGE identifier. This indicates that the

$! account can run SOH software. Define the SOH logicals.

$!

$ def_rights = F$EDIT(f$getjpi("","RIGHTSLIST"),"TRIM,UPCASE")

$ if f$locate("ORANGE","TCPIP$FTP,NETWORK,SYS$NODE_TPAS01") .lt. f$length("TCPIP

$FTP,NETWORK,SYS$NODE_TPAS01")

$ endif

$!

$ SWM :== "$DISK$TPASS$DISK2:[QUASAR.EXE]SWM"

$!

$ If Mode .eqs. "OTHER" .or. Mode .eqs. "BATCH" then Set Verify

$ exit

$! login.com for DIGITAL TCP/IP Services for OpenVMS Auxiliary service

$ !

$ ! File name: TCPIP$FTP_RUN.COM

$ ! Product: HP TCP/IP Services for OpenVMS

$ ! Version: V5.4-155

$ !

$ ! ┬й Copyright 1976, 2003 Hewlett-Packard Development Company, L.P.

$ !

$ ! Confidential computer software. Valid license from HP and/or its

$ ! subsidiaries required for possession, use, or copying.

$ !

$ ! Consistent with FAR 12.211 and 12.212, Commercial Computer Software,

$ ! Computer Software Documentation, and Technical Data for Commercial

$ ! Items are licensed to the U.S. Government under vendor's standard

$ ! commercial license.

$ !

$ ! Neither HP nor any of its subsidiaries shall be liable for technical

$ ! or editorial errors or omissions contained herein. The information

$ ! in this document is provided "as is" without warranty of any kind

$ ! and is subject to change without notice. The warranties for HP

$ ! products are set forth in the express limited warranty statements

$ ! accompanying such products. Nothing herein should be construed as

$ ! constituting an additional warranty.

$ !

$ set :=

$ set noon

$ set symbol /scope=(nolocal,global)

$ set symbol /scope=(nolocal,noglobal)/verb

$ serv_id = f$edit("tcpip$ftp","upcase")

$ serv_home = f$edit("sys$sysdevice:[TCPIP$FTP]","upcase")

$ !

$ ! purge ftp server logs

$ !

$ purge:

$ set default SYS$SYSDEVICE:[TCPIP$FTP]

$ logsav = 2 * f$getsyi("cluster_nodes") + 5

$

$ lognam = f$edit("TCPIP$FTP_run.log","upcase")

$ if f$search(lognam) .nes. ""

$ then

$ purge /noconfirm/nolog/keep=9 TCPIP$FTP_RUN.LOG

%PURGE-W-FILNOTPUR, error deleting SYS$SYSDEVICE:[TCPIP$FTP]TCPIP$FTP_RUN.LOG;90

11

-RMS-E-FLK, file currently locked by another user

$ endif

$ !

$ ! setup timeout parameters for name service lookup

$ ! failure - allow for site-specific customization

$ !

$ setup:

$ if f$trnlnm("tcpip$ftp_server_log_client_by_address") .eqs. ""

$ then

$ ns_timeout = f$trnlnm("tcpip$ftp_server_name_service_timeout")

$ if ns_timeout .eqs. ""

$ then

$ ns_timeout = 2

$ endif

$

$ ns_retry = f$trnlnm("tcpip$ftp_server_name_service_retry")

$ if ns_retry .eqs. ""

$ then

$ ns_retry = 2

$ endif

$

$ tcpip set name_service /timeout=2/retry=2

$ endif

$ !

$ ! start ftp server process

$ !

$ run:

$ run SYS$SYSTEM:TCPIP$FTP_SERVER.EXE

******************************************************************



FTP server started on

tpas01.dtc.lon.ime.reuters.com 2-FEB-2009 14:10:06.58



******************************************************************

Gives the result after system reboot:

TPASS as LIVE [TPAS01] > ucx sh serv


Service Port Proto Process Address State


FTP 21 TCP TCPIP$FTP 0.0.0.0 Enabled

SECURID 755 UDP SECURID 0.0.0.0 Disabled

SMTP 25 TCP TCPIP$SMTP 0.0.0.0 Enabled

TELNET 23 TCP not defined 0.0.0.0 Enabled


10 REPLIES 10
Kevin Raven (UK)
Frequent Advisor

Re: SET NOON not working ?

This entry is on behalf of someone else using my ITRC account to ask a question.

Thanks
Andy D

Thanks for any reply ...
Hakan Zanderau ( Anders
Trusted Contributor

Re: SET NOON not working ?

http://h71000.www7.hp.com/doc/83final/9996/9996pro_203.html#brass_73

The SET ON or SET NOON command applies only at the current command level. If you use the SET NOON command in a command procedure that executes another procedure, the default, SET ON, is established while the second procedure executes.


Hakan
Don't make it worse by guessing.........
Kevin Raven (UK)
Frequent Advisor

Re: SET NOON not working ?

But the SET NOON and the call of a command file using a logical name that errors are in the same command file.
ie Sylogin.com

$SET NOON
....
....
few lines later
$@logicalname:utility
error and bombs out

See below ....
$!
$ Set NoOn
$
$ Mode = F$Mode()
$ Username = F$Edit(F$Getjpi(0,"Username"),"Collapse")
$ Node = F$Getsyi("Nodename")
$ If Node .eqs. "" then Node = F$Getsyi("SCSNODE")
$ If Node .eqs. "" then Node = F$Trnlnm("SYS$NODE","LNM$SYSTEM_TABLE")
$ Node = F$Edit(Node,"Trim") - "::"
$
$ If Mode .nes. "INTERACTIVE" then Goto Not_Interactive
$Not_Interactive:
$!
$! and commands for all users in any mode here
$!
$! - utilities, defines all the Utility software symbols
$! - a1mail, symbol a1mail is no longer supported use dmw
$! - a1mail, dwm is no longer supported use mail
$!
$ @utl$system:Utilities
%DCL-E-OPENIN, error opening UTL$SYSTEM:[TCPIP$FTP]UTILITIES.COM; as input
-RMS-F-DEV, error in device name or inappropriate device type for operation
TCPIP$FTP job terminated at 1-FEB-2009 13:40:41.86

Accounting information:
Buffered I/O count: 32 Peak working set size: 2192
Direct I/O count: 28 Peak virtual size: 187104
Page faults: 130 Mounted volumes: 0
Charged CPU time: 0 00:00:00.00 Elapsed time: 0 00:00:00.02
Joseph Huber_1
Honored Contributor

Re: SET NOON not working ?

You show us only the protocol, not what is in sylogin after the @invalid call: something must be there leading to an immediate exit, or some ON ERROR not shown.

On my system the test results in:

$ SET NOON
$ @nonexist:nofile
%DCL-E-OPENIN, error opening NONEXIST:[HUBER]NOFILE.COM; as input
-RMS-F-DEV, error in device name or inappropriate device type for operation
$ write sys$output "sylogin continuing after error..."
sylogin continuing after error...

http://www.mpp.mpg.de/~huber
Willem Grooters
Honored Contributor

Re: SET NOON not working ?

This is not a SET NOON problem, but an error in the design of your procedure.

If you cannot be sure of the existance of the logical, you'd better check before relying on it:

$ IF F$TRNLNM("UTL$SYSTEM") .nes. "" THEN @UTI$SYSTEM:UTILITIES.

instead on relying on SET NOON.
If you need this to be executed in this moment, you must define the logical before using it, or move the invokation to after the definition.


Willem Grooters
OpenVMS Developer & System Manager
Kevin Raven (UK)
Frequent Advisor

Re: SET NOON not working ?

Yes , we agree that the script was broken and we have indeed fixed it with a logical name check prior to trying to use the logical name.
Just curious as to why the SET NOON does not seem to work.
Have also tried a script with errors and it does what it says on the tin and continues to process after error.

I will post the sylogin.com in next reply.

It's the TCPIP starting of FTP that fails due to the SET NOON not working as it should ....weird stuff ...
Joseph Huber_1
Honored Contributor
Solution

Re: SET NOON not working ?

Ah yes, right, it is not the normal loginout which has the problem with sylogin not continuing, it is specifically tcpip$server:

TCPIP enable service ftp
results in
%%%%%%%%%%% OPCOM 3-FEB-2009 13:12:37.30 %%%%%%%%%%%
Message from user INTERnet on MPIW10
INTERnet ACP AUXS error during process exit Status = %CLI-E-NOCMDPROC

probably the TCPIP ftp server is not simply running loginout, but doing some kind of subprocess invocation with a following status check.

I run the HG FTP server, it has no such problem :-)
http://www.mpp.mpg.de/~huber
Joseph Huber_1
Honored Contributor

Re: SET NOON not working ?

I did some more tests:
any non-success exit status from sylogin makes the auxiliary server exit, disabling the ftp service.
http://www.mpp.mpg.de/~huber
Kevin Raven (UK)
Frequent Advisor

Re: SET NOON not working ?

As it stands ....

The sylogin , does not call any other scripts , other than the one where the logical is not defined. So the @logicalnamer :filename of the script ends up with an error.
The script bombs out when run , even with the SET NOON.
The script is run during system start and the issue was found when looking at why FTP was not starting during boot on this system.

For the last 5 years , the operators have just started FTP after boot

With the failing logical name removed , thus no error in the sylogin script , FTP starts on boot.

So it appears that SET NOON is not working !