Compaq DCE for OpenVMS VAX and OpenVMS Alpha
Release Notes


Previous Contents

14 Restrictions and Known Problems

The following sections provide details on restrictions and known problems in this version of Compaq DCE for OpenVMS.

14.1 Documentation

All DCE documentation except the online help can be found on the OpenVMS documentation CD-ROM. The Open Group's DCE documentation for the R1.2.2 release is provided in HTML format.

OpenVMS specific documentation (Compaq DCE for OpenVMS VAX and OpenVMS Alpha Product Guide, Compaq DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide, and Compaq DCE for OpenVMS VAX and OpenVMS Alpha Installation and Configuration Guide) is also available.

14.2 OpenVMS Supported Versions

Compaq DCE for OpenVMS Version 3.0 includes support for OpenVMS Version 6.2, Version 7.1-*, and Version 7.2-* on both VAX and Alpha systems.

14.3 Kernel Threads and UPCALLS Support

As of OpenVMS Version 7.2-1, Compaq DCE for OpenVMS Version 3.0 supports DCE applications on Alpha built with Kernel Threads and Thread Manager upcalls enabled.

By default, DCE daemons (dced, secd, cdsd, etc.) are built and shipped with Kernel Threads disabled. Enabling Kernel Threads and Thread Manager upcalls on these images is not supported.

14.4 DCE Applications Do Not Require Relinking

Although there are many new APIs in this version of DCE, existing DCE applications do not need to be relinked before they can run on this release. However, if the application developer wants to use any of the new APIs, then they must recompile and relink.

14.5 DTS Server

The following time server commands are not supported in this release:


dtscp>SHOW DECnet TIME SOURCE 

14.6 Integrated Login and OpenVMS External Authentication

As of OpenVMS Version 7.1, the operating system provides support for external authentication using PATHWORKS. DCE Integrated Login is incompatibile with this functionality. DCE$SETUP.COM will warn the user if external authentication is enabled on the host system. If Integrated Login is enabled in spite of the warning, external authentication will be disabled and applications that are dependent on external authentication may not function as expected.

14.7 Minimum Global Pages

Compaq DCE for OpenVMS VAX and OpenVMS Alpha Version 3.0 has increased its global pages requirements as follows:

14.8 RTI (Remote Task Invocation) RPC

RTI RPC is a transactional RPC that is provided for use with Compaq's ACMSxp TP product. RTI RPC requires OSI TP from the OSI Application Developer's Toolkit.

14.9 Format of X.500 Cell Names

X.500 cell names have the form c=country/o=organization /ou=organization unit. X.500 cell names can contain spaces or hyphens if they are enclosed in double quotes, but underscores are never allowed, even if they are enclosed in double quotes. For example, the X.500 cell names /c=us /o=digital/ou="excess cell" and /c=us/o=digital/ou="excess- cell" are allowed, but /c=us/o=digital/ou=excess_cell and /c=us/o=digital/ou="excess_cell" are not allowed.

14.10 Shutting Down Compaq DCE for OpenVMS Before Reinstallation

If you are installing Compaq DCE for OpenVMS Version 3.0 over an existing version of DCE on a common system disk in a OpenVMS Cluster environment, be sure to shut down DCE and RPC on all nodes that share the common system disk before the installation. If you do not shut down DCE and RPC, parts of DCE and your OpenVMS cluster may exhibit undesirable characteristics.

If you are reinstalling Compaq DCE for OpenVMS Version 3.0 over a Version 1.x kit and you are using Integrated Login, and if you do not shut down DCE on all nodes that share the common system disk, you can cause the LOGINOUT image to fail to run on all of the nodes that share the common system disk.

You can correct this problem by shutting down and restarting DCE on the affected nodes. However, if LOGINOUT is not running, you cannot log in; therefore, you must reboot the system to correct the problem.

14.11 Configuring a CDS Replica Clearinghouse

Before you configure a CDS replica clearinghouse, make sure that the system clock is synchronized to within seconds of the CDS master server. To validate the time, use the following command:


$ dtscp show local servers 

This shows the skew between the host and all other DTS servers in the cell.

14.12 Reconfiguring a CDS Replica Clearinghouse

If it becomes necessary to reconfigure or rebuild a host that includes a CDS replica clearinghouse, you may find that the creation of the clearinghouse succeeds but the skulk that is executed immediately after fails. If this happens, you will see the following message:


*** The creation of the CDS Replica Clearinghouse has succeeded 
*** but the namespace has been left in an inconsistent state. 
*** This condition will correct itself in a short period of time. 
*** Once the command "cdscp set dir /.: to skulk" can be 
*** successfully executed the namespace will be consistent and 
*** the replica clearinghouse will be fully operational. 
*** In the meantime you can replicate directories. 

This is a known problem. The situation will clear itself in about an hour; however, you will not be able to create any other clearinghouses until this condition has been corrected.

If you want to correct the problem immediately, you can restart DCE on the master server. You will then be able to skulk the root directory and add additional clearinghouses.

14.13 Privileged User Refreshing Credentials

When a priviledged process creates or refreshes credentials, the owner UIC for the files is [DCE$SERVER]. If a privileged process needs to refresh credentials for an unprivileged process, the privileged process should first change its owner UIC to be the same as the unprivileged process and disable its privileges. Otherwise, the owner UIC for the updated credentials will be [DCE$SERVER], and the unprivileged process may no longer be able to read its own credentials.

14.14 Support for Integrated Login Before DCE Startup on OpenVMS Systems

If your OpenVMS system startup allows interactive logins to occur before DCE is started, the interactive logins that occur before DCE is started will not support Integrated Login.

If you interactively log in to OpenVMS before DCE is started, you must specify your OpenVMS username and password. You will not be logged in with DCE credentials. (If you log in after DCE is started on systems where Integrated Login is enabled, it is recommended that you specify your DCE principal name and password at the username and password prompts when using Integrated Login.)

14.15 Support for Integrated Login Before DCE Startup on OpenVMS Workstations

If your OpenVMS system startup allows DECwindows Motif to start up and display the DECwindows login box before DCE is fully started, the first DECwindows login will not support Integrated Login. In this case, Integrated Login will not be supported even if the first login occurs after DCE is up and running.

If DECwindows Motif displays the DECwindows login box before DCE is started, you must specify your OpenVMS username and password. You will not be logged in with DCE credentials. (If the DECwindows login box is displayed on your workstation after DCE is started and Integrated Login is enabled, it is recommended that you specify your DCE principal name and password at the username and password prompts when using Integrated Login.)

14.16 32-Character Restriction on DCE Principal Names for Integrated Login

When you log in to an OpenVMS system that has Integrated Login enabled, you can specify either your OpenVMS username or your DCE principal name at the username prompt. However, the DCE principal name you specify can contain no more than 32 characters. If your principal name and cell name combination contains more than 32 characters, specify the OpenVMS username that is associated with your DCE account instead. (This username is entered in the DCE$UAF file.) You should still enter your DCE password to obtain DCE credentials even if you specify your OpenVMS username.

14.17 Running DCE IMPORT in Batch Mode Without Password

If you run DCE IMPORT in batch mode and you do not supply a password for the DCE account on the command line, the password valid flag incorrectly remains set in the DCE registry. Because a password was not supplied, the flag should indicate password not valid and the user should not be allowed to log in. A scan of the DCE account via RGY_EDIT reveals the incorrect flag setting (password valid when actually the password is not valid). However, the user will not be allowed to log in (which is the correct behavior).

14.18 Potential Integrated Login and SYSGEN Problems

The Integrated Login component of Compaq DCE for OpenVMS uses the SYSGEN parameter LGI_CALLOUTS. LGI_CALLOUTS must be set to 1 only in the ACTIVE SYSGEN parameter set when DCE is running with Integrated Login enabled. LGI_CALLOUTS must never be set to 1 in the CURRENT SYSGEN parameter set --- this would prevent all logins from occurring on a subsequent reboot of the system. The following paragraphs discuss the reasons for this restriction and solutions if the problem occurs.

If Integrated Login is enabled on your system, the DCE startup and configuration procedure, DCE$SETUP.COM, sets the SYSGEN parameter LGI_CALLOUTS to 1 in the ACTIVE SYSGEN parameter set when DCE is started and resets the parameter when DCE is shut down. LGI_CALLOUTS must never be set to 1 in the CURRENT SYSGEN parameter set because, in that case, the next time the system is booted the LGI_CALLOUTS parameter is set in the ACTIVE SYSGEN parameter set before DCE is started. This prevents logins from occurring.

If the ACTIVE value of LGI_CALLOUTS is set to 1 when DCE and Integrated Login are not running, the following error is displayed when LOGINOUT attempts to run (for example, for interactive or batch logins):


No logical name match 

Consequently, all users are prevented from logging in to the system.

This problem can occur if, for example, a SYSGEN parameter is modified in the following way while Integrated Login is enabled. This prevents logins because it causes LGI_ CALLOUTS to be set to 1 the next time the system is booted.


$ RUN SYS$SYSTEM:SYSGEN 
SYSGEN> SET param value 
SYSGEN> WRITE CURRENT 
SYSGEN> EXIT 
$ 

The correct way to modify a SYSGEN parameter is to make the change in MODPARAMS.DAT and then run AUTOGEN. If it is essential to modify a SYSGEN parameter without using MODPARAMS.DAT and AUTOGEN, you must ensure that if you use ACTIVE, you write the parameters into ACTIVE only; and if you use CURRENT, you write the parameters into CURRENT only. Do not copy the ACTIVE parameters into CURRENT.

Following are two examples of acceptable ways to modify a SYSGEN parameter:


$ RUN SYS$SYSTEM:SYSGEN 
SYSGEN> USE CURRENT 
SYSGEN> SET param value 
SYSGEN> WRITE CURRENT 
SYSGEN> EXIT 
$ 
 
$ RUN SYS$SYSTEM:SYSGEN 
SYSGEN> USE ACTIVE     ! optional, default is ACTIVE 
SYSGEN> SET param value 
SYSGEN> WRITE ACTIVE 
SYSGEN> EXIT 
$ 

If you cannot log in because LGI_CALLOUTS is set to 1 and DCE is not running, there are two solutions, as follows:

14.19 Support for Packet Privacy

Compaq DCE for OpenVMS supports the rpc_c_prot_level_pkt_privacy level of data encryption as of this release. Recent changes in the government's encryption regulations allow this functionality to be provided in the base DCE kit, as opposed to a separate product (as in previous versions of Compaq DCE for OpenVMS). See the documentation on rpc_binding_set_auth_info for details.

14.20 DCE IDL Compiler and C++ Exceptions

A client using the DCE IDL compiler with C++ extensions invokes methods on objects that cause IDL generated client stub code to be invoked. By default, communications errors or remote faults that occur during the stub's processing cause exceptions to be raised using the DCE Threads exception handling mechanism. Therefore, C++ code that needs to catch and respond to these exceptions must also use the DCE Threads exception handling mechanism.

Some, but not all, C++ compilers have built-in language support for exceptions. Exceptions are not supported in older versions of the DEC C++ for OpenVMS compilers. C++ application code that processes exceptions returned from DCE IDL stubs should continue to use DCE Threads exceptions if using compilers without exceptions support.

You can avoid the raising of exceptions from DCE IDL stubs by using the [comm_status] and [fault_status] ACF attributes. For more information, see the Guidelines for Error Handling chapter in the DCE Application Development Guide.

14.21 Automatic Registration of Servers

In the IDL compiler, servers are now automatically registered by server stubs. If you call rpc_server_register_if() , the already registered status is returned. (Remove the call to rpc_server_register_if() from the server.cxx file before you build the example programs in the Example Programs section of the Compaq DCE for OpenVMS VAX and OpenVMS Alpha Product Guide.)

14.22 Support for sigwait()

The DCE Application Guide and DCE Reference Guide include incorrect information about support for sigwait(). POSIX Threads Library (formerly DECthreads) does not support sigwait() on the OpenVMS platform.

14.23 Server Programming

When running DCE server applications on OpenVMS Alpha Version 6.2 systems, it is possible to exhaust the server thread stack space if your server makes use of the %f or %e conversion characters for formatting output. For example, the following printf statement could cause an overflow of the server thread stack:


printf ("The computed value = %f\n", value); 

This error can cause the server to terminate with an unexpected error code such as an Access Violation or a Reserved Operand Fault.

If you experience this type of error, you must add a call to the RPC routine rpc_mgmt_set_server_stack_size specifying a stack size of at least 14000, prior to calling rpc_server_listen .

14.24 Compiling Stubs on Alpha

If a stub is compiled on Alpha with optimization switched on, it may not handle exceptions correctly, depending on the version of Compaq C for OpenVMS. Therefore, on Alpha, you should compile stubs with optimization switched off, unless you are sure that the version of Compaq C for OpenVMS that is on your system handles this situation correctly.

14.25 Using the -cpp_cmd (/PREPROCESS) IDL Compiler Option on OpenVMS Alpha

When you specify the -cpp_cmd (/PREPROCESS) option in an IDL command, the IDL compiler preprocesses any IDL or ACF sources by invoking the Compaq C compiler with the /PREPROCESS_ONLY qualifier. Because of a problem in some versions of the Compaq C compiler on OpenVMS Alpha, the IDL compiler may incorrectly report source line numbers and contents when it reports error messages.

If your IDL and ACF source files do not use C preprocessor directives (such as #define), then you do not need to specify the -cpp_cmd (/PREPROCESS) option. Otherwise, the workaround is to change multiline comments to a series of single line comments.

14.26 UCX Runtime Calls Not Thread Safe

Note that UCX Runtime Calls are not always thread safe.

UCX has two main application programming interfaces: VMS system services (for example, $ASSIGN, $QIO, $CANCEL) and the C socket library. Of these two, the VMS system services are fully thread-safe, while the socket library is not. The most common problem with sockets is the select() call, which blocks the entire process (not just the calling thread) until the specified I/O events occur or the timeout expires.

14.27 POSIX

The OpenVMS POSIX product has been retired, and support for the POSIX command line has been removed from Compaq DCE for OpenVMS VAX and OpenVMS Alpha Version 3.0. The OpenVMS C runtime support for many of the POSIX calls has improved, and most applications should see no change in behavior. Only those applications that require the POSIX command line interface are affected.

14.28 C RTL Routine Sleep Not Thread Safe

The C RTL routine sleep is not thread safe. The sleep call may wake up prematurely if calls to DCE APIs are made at the same time. It is recommended that you use a thread-safe mechanism such as pthread_delay_np , pthread_cond_wait , pthread_cond_timedwait , and pthread_cond_signal to delay a thread. For more information on these APIs, please refer to the OSF DCE Application Development Reference Manual.

14.29 Ordering of System Startup Procedures

The order of startup procedures should be as follows: DECnet, TCP/IP software, DCE, then DCE applications.

14.30 Case Sensitivity of DCE Utilities

Some input to Compaq DCE for OpenVMS utilities is case sensitive (for example, CDSCP entity attribute names). Since the DCL command line interface converts all input to uppercase before passing it to a utility, some input to the DCE utilities will need to be enclosed in quotation marks (" ").

When you enter commands directly at DCE utility prompts, you should not use the quotation marks because case sensitivity is preserved. (Case sensitivity is not preserved by the Integrated Login utilities DCE$UAF, IMPORT, and EXPORT because these are true native OpenVMS applications.)

14.31 CDSCP Commands Requiring a Local Server

There are several CDSCP commands that assume the presence of a CDS server on the local system. These commands will not execute properly in the absence of a local server. At present, CDSCP will return the following error:


Failure in routine: cp-xxxxxxx not registered in endpoint map (dce/rpc) 

The affected commands are:


CDSCP SHOW SERVER 
CDSCP DISABLE SERVER 
CDSCP CREATE CLEARINGHOUSE 


Previous Next Contents