Document revision date: 9 May 2001 | |
Previous | Contents | Index |
V7.3
With the update of the DCE RPC files in OpenVMS Version 7.2-1, the following changes have been made to the DCE system management command procedure (SYS$MANAGER:DCE$SETUP.COM):
6.8.2 NTLM Authenticated RPC Functionality Now Available
V7.3
The new authenticated RPC functionality in DCE for OpenVMS Version 3.0, including impersonation and authentication with NT Lan Manager (NTLM) protocol, is included as of OpenVMS Version 7.2-1.
The Compaq Distributed Computing Environment for OpenVMS VAX and
OpenVMS Alpha documentation that ships with OpenVMS Version 7.2-1 and
Version 7.3 provides information about using NTLM.
6.9 Debugger
This section contains release notes pertaining to the OpenVMS Debugger.
6.9.1 ANALYZE/PROCESS_DUMP Command (Alpha Only)
V7.3
The documentation for the OpenVMS debugger command ANALYZE/PROCESS_DUMP states that if you do not include the /IMAGE_PATH=directory-spec qualifier, the debugger looks for the debugger symbol table (.DSF or .EXE) file in the following directories:
Currently, if you do not include the /IMAGE_PATH=directory-spec qualifier, the debugger does not look in the directory that contains the dump file, but rather, in the directory from which you started the debugger.
The workaround is to use the qualifier
/IMAGE_PATH=directory-spec to specify the location of the
debugger symbol table file.
6.9.2 SET MODULE Command
V7.3
The SET MODULE command can now handle scopes nested to 200 levels. The
previous limit was 100 levels.
6.9.3 SET EVENT Ada Command
V7.3
In previous versions of the debugger, the SET EVENT Ada command
sometimes did not work, and the event facility remained THREADS. This
problem has been corrected.
6.9.4 Enumerated Lists
V7.3
In previous versions of the debugger, matching an enumerated list by using a declaration resulted in an error. For example, the following declaration caused a logic error:
namespace ns { enum EE { Me, Myself, I }; } main() { using ns::EE; EE e = Me; } |
The logic error is as follows:
DBG> EXAMINE EE %DEBUG-E-INTERR, debugger error in DBGPARSER\PATHNAME_TO_PRIMARY 10... |
This problem has been corrected.
6.9.5 Enumeration Literals as Class Members
V7.3
Previous versions of the debugger did not treat C++ enumeration literals as class members. This problem has been corrected. For example, given the following declaration, the debugger will match 'B::red' and 'b.red', and 'p->red':
struct B { enum colors { yellow, red, green, purple }; } b, *p; |
V7.3
When debugging C and C++ programs, previous versions of the debugger had a problem when searching the global symbol table, which was caused by incorrect internal assumptions about case. For example:
DBG> EXAMINE FOO %DEBUG-E-NOSYMBOL, symbol 'foo' is not in the symbol table DBG> EXAMINE FOO X_CXXC_BUGS3560A\foo: 0 |
This problem has been corrected.
6.9.7 Global Section Watchpoints (Alpha Only)
V7.3
Previous versions of the debugger sometimes had difficulty setting
watchpoints on global section variables. This problem has been
corrected.
6.9.8 Array Elements Displayed Differently on VAX and Alpha
V7.3
Previous versions of the Alpha debugger displayed FORTRAN arrays in
row-major order. This problem has been corrected so that the Alpha
debugger now displays FORTRAN arrays in column-major order.
6.9.9 Wrong Address in C++
V7.3
While debugging a C++ program, previous versions of the debugger sometimes have trouble accessing an object. For example:
DBG> EXAMINE C %DEBUG-E-NOACCESSR, no read access to address 000000017AEF3A34 |
The debugger would sometimes look for a 64-bit address when it should
have been looking for a 32-bit address. This problem has been corrected.
6.9.10 Cross-Image Symbol Fixup
V7.3
When using the Version 7.2 Alpha debugger, attempts to examine or
evaluate universal data variables sometimes resolved to the wrong
address because of a cross-image symbol fixup problem. This problem has
been corrected.
6.9.11 Interrupting Program Execution in Compaq DECwindows Motif Interface
V7.3
In Version 7.2 of the debugger, the STOP button in the DECwindows Motif
interface and Ctrl/C in screen mode sometimes do not return control to
the user. This problem has been corrected.
6.9.12 Nested Anonymous Unions
V7.3
In previous versions of the debugger, nested anonymous unions in C++ led to incorrect symbolizations. For example, the following definition symbolized u.s as 'u. ::s':
struct U { int x; union { int l; union { int s; int t; }; }; } u; |
This problem has been corrected.
6.9.13 Anonymous Structs in C
V7.3
C variant_struct is a VAX C extension in Compaq C that allows the creation of anonymous structs. For example, the following definition allows references such as 'u.a':
union { variant_struct { int a; int b; } vs; } u; |
Previous versions of the debugger did not allow this. This problem has
been corrected.
6.9.14 Symbolization of C++ References
V7.3
Previous versions of the debugger symbolized C++ references with an extra period at the end. For example:
Source: int &k = i; Symbolization: REFERENCE\k.: 0 |
This problem has been corrected.
6.9.15 Enumerators as Class Symbols
V7.3
In previous versions of the debugger, the following C++ definition:
struct C_Outer { struct C_Middle2 { enum Middle2_E3 {}; } middle2; } c_outer; |
led to the following error:
DBG> show SYMBOL/FULL C_Outer type C_Outer struct (C_Outer, 1 component), size: 1 byte contains the following members: %DEBUG-E-INTERR, debugger error in DBGDUMP\DBG$GET_SYMBOL_OFFSET or session corruption |
This problem has been corrected.
6.9.16 Inline Code
V7.3
Previous versions of the debugger could fail when trying to set a breakpoint within a routine that is inlined within a program that is compiled with the /OPTIMIZED switch. Users would receive an error message similar to the following:
DBG> SET BREAK %LINE 37 %DEBUG-E-INTERR, debugger error in DBGEVENT_SEMANTICS\GET_LINE_BREAK_ADDRESSES 40 or session corruption %DEBUG-E-CMDFAILED, the SET BREAK command has failed |
This problem has been corrected.
6.9.17 Symbols in Nested Ada Packages
V7.3
Previous versions of the debugger failed to find symbols declared within nested Ada packages when the actual package names were used. For example:
DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT: 0 DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA.POOL.STUB_COUNTER_PUT %DEBUG-E-NOSYMBOL, symbol 'AETS_SPECIAL_EVENTS_DETECTION_DATA\POOL.STUB_COUNTER_PUT' is not in the symbol table |
This problem has been corrected. For example:
DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT: 0 DBG> EXAMINE AETS_SPECIAL_EVENTS_DETECTION_DATA.POOL.STUB_COUNTER_PUT AETS_SPECIAL_EVENTS_DETECTION_DATA_.POOL.STUB_COUNTER_PUT: 0 |
V7.3
Previous versions of the debugger had trouble reading certain debugger symbol table (DST) files. For example:
%DEBUG-E-INTERR, debugger error in DBG$RST_FROM_DST: could not find corresponding RST or session corruption |
This problem has been corrected.
6.9.19 Debugger Runs out of Memory at Startup
V7.3
Previous versions of the debugger ran out of memory when loading
certain large programs. This problem has been corrected.
6.9.20 Nonunique COBOL Symbol Lookups (VAX Only)
V7.3
In previous versions of the debugger, lookups of certain COBOL record components resulted in nonunique symbol errors. For example:
DBG> SET MODULE B_COB DBG> EXAMINE D00_DIALLING_NO %DEBUG-I-NOUNIQ, symbol 'D00_DIALLING_NO' is not unique record component A_COB\COMMON_DATA_FORMAT_WKSP.D00_CDF.CDF_WKSP.D00_DIALLING_NO record component B_COB\COMMON_DATA_FORMAT_WKSP.D00_CDF.CDF_WKSP.D00_DIALLING_NO %DEBUG-E-REENTER, reenter the command using a more precise pathname |
This has been corrected.
6.9.21 Register View
V7.3
Previous versions of the debugger had the following problems associated with the Register view:
Some of these problems are internal to the debugger, and some originate in DECwindows Motif. The display problems have been corrected as much as is practical.
New Options on the Radix Submenus
In addition, the Change Radix and Change All Radix submenus (on the
Register menu of the Register view) have additional options. On VAX,
you can now select f_float for register display. On Alpha systems, you
can now select g_float and t_float for register display.
6.9.22 Source View Errors
V7.3
Previous versions of the debugger had problems within the source view of the DECwindows Motif interface, including the following:
These problems have been corrected.
6.9.23 Source View Update
V7.3
In previous versions, the DECwindows Motif interface to the debugger
did not correctly update the source view on a return step command from
a subroutine call when the calling routine was in a different source
module. This problem has been corrected.
6.9.24 SHOW SYMBOL IN Clause
V7.3
The ability of the debugger to set modules dynamically has been
improved.
6.9.25 Corrupted Stack Errors (Alpha Only)
V7.3
On Alpha systems, some recent compilers introduce certain stack errors. If previous versions of the debugger encounter these errors while program execution is suspended at a breakpoint, a STEP or other resume command can result in the following error:
%DEBUG-W-NORESUME, unable to resume execution, stack or PC corrupted. |
This problem has been corrected, and you should upgrade the compiler
that causes the corrupt stack.
6.9.26 Just-in-Time Debugging
V7.3
When attempting just-in-time debugging (for example, when DBG$TRACE is
defined as SYS$SHARE:DEBUG.EXE), previous versions of the debugger
sometimes fail. This has been corrected.
6.9.27 Debugger Does Not Support Previous Version of Client/Server Interface
V7.3
The OpenVMS Version 7.3 debugger does not support previous versions of the client/server interface. You must install the client/server interface found in the kit on the distribution media, as identified in the following table:
CPU | Operating System | Client Kit |
---|---|---|
Intel | Microsoft Windows 95, 98 | [DEBUG_CLIENTS011.KIT]DEBUGX86011.EXE |
Intel | Microsoft Windows NT, 2000 | [DEBUG_CLIENTS011.KIT]DEBUGX86011.EXE |
Alpha | Microsoft Windows NT | [DEBUG_CLIENTS011.KIT]DEBUGALPHA011.EXE |
These client kits are self-extracting .EXE files.
Once the appropriate executable file has been transferred to the PC, you can run the file to install the debug client on the PC. The InstallShield installation procedure guides you through the installation.
By default, the debug client is installed in the
\Program Files\OpenVMS Debugger
folder. You can also click Browse to select an alternate location.
6.10 Debugging Modes---Avoiding CPUSPINWAIT Bugchecks
V7.1
The OpenVMS operating system has a number of special modes of operation designed to help you debug complex hardware and software problems. In general terms, these special modes enable an extra level of tracing, data recording, and consistency checking that is useful in identifying a failing hardware or software component. These modes of operation are controlled by several system parameters: MULTIPROCESSING, POOLCHECK, BUGCHECKFATAL, and SYSTEM_CHECK.
If you are using one of these special modes (for example, to debug a device driver or other complex application), under certain conditions, generally related to high I/O loads, it is possible to incur a CPUSPINWAIT bugcheck. To prevent a CPUSPINWAIT bugcheck, either use the system default settings for these system parameters, or reduce the loading of the system.
If you have reason to change the default settings, you can reduce the
likelihood of encountering a problem by setting the SMP_LNGSPINWAIT
system parameter to a value of 9000000.
6.11 Hypersort (SORT/MERGE/CONVERT)---Alpha Only
The following sections contain release notes pertaining to restrictions and known problems in the use of the High-Performance Sort/Merge utility, Hypersort. These restrictions and known problems supplement the material in the OpenVMS Utility Routines Manual.
Hypersort (HYPERSORT.EXE) can optionally be selected for use by SORT,
MERGE, CONVERT, Compaq COBOL, and Oracle Rdb. Use SORT32 as a
work-around for problems or restrictions in Hypersort, unless the
problem or restriction also exists in SORT32.
6.11.1 Hypersort and /FORMAT=RECORD_SIZE - Restriction
V7.3
Hypersort does not support /FORMAT=RECORD_SIZE for use with SORT or
MERGE.
6.11.2 Hypersort and Input Asterisk (*)---Restriction
V7.3
Hypersort does not support asterisk (*) as an input file specification.
6.11.3 Hypersort and Free Disk Space for Work Files---Restriction
V7.3
Hypersort does not support work-file specifications that result in
insufficient free disk space to complete the sort or merge operation.
6.11.4 Hypersort Work File Directories---Restriction
V7.3
Hypersort work files must be redirected to directories that allow
multiple-file versions that can handle the number of requested work
files. This restriction also exists in SORT32.
6.11.5 Hypersort and VFC Files---Known Problem
V7.3
Hypersort does not correctly calculate the byte offset for keys for VFC
Format files.
6.11.6 Hypersort and /STATISTICS Working-Set Display---Known Problem
V7.3
Hypersort overflows the working-set display in the /STATISTICS output
for any working set that is 1,000,000 pages or larger. This is also a
known problem with SORT32.
6.11.7 Hypersort and INSVIRMEM---Restriction
V7.3
Both SORT32 and Hypersort depend on the proper relationship between working-set size and page-file quota to avoid insufficient virtual memory. In general, page-file quota may need to be three times the working-set size or even larger to avoid insufficient virtual memory.
If insufficient virtual memory is detected, SORT32 signals INSVIRMEM
and attempts to complete the sort. Hypersort terminates in this
situation with INSVIRMEM or possibly ACCVIO.
6.12 Lexical Functions---F$GETSYI Lexical: Item NODE_HWTYPE Is Obsolete
V7.2
The NODE_HWTYPE item is obsolete. Please use the HW_NAME item instead.
The NODE_HWTYPE item has not been removed; therefore, programs using this item will still work. However, Compaq recommends that you migrate such programs to use the HW_NAME item whenever possible to take advantage of new capabilities.
On OpenVMS VAX systems, applications using NODE_HWTYPE receive cryptic,
4-character, system model names for all VAX systems and receive the
string ALPH for all Alpha systems. In contrast, the HW_NAME item
operates on both OpenVMS VAX and OpenVMS Alpha systems, and provides
longer, more descriptive names to be returned. For example, HW_NAME
returns "VAXstation II," whereas NODE_HWTYPE returns "VUV2" for the
same system.
6.13 Librarian Utility---PGFLQUOTA Should Exceed 23000 (Alpha Only)
The OpenVMS Alpha LIBRARIAN sometimes does not inform you of errors during compression, data reduction, or data expansion operations. This problem occurs if the account or process in which the LIBRARIAN is running has a low PGFLQUOTA process quota. Operation failure is not readily apparent because the $PUTMSG system service always returns a status of SS$_NORMAL, even when the system service fails. However, when a failure occurs, the LIBRARIAN returns a status other than Success.
To work around this problem, run the compression, data reduction, or
data expansion operation in an account with a PGFLQUOTA process quota
greater than 23000. In addition, ensure that your command procedures
check the return status from the LIBRARY command.
6.14 Linker Utility---Limit of 25 Elements on Stack
V7.2
Developers who are creating object files should be aware that the
linker's internal stack is guaranteed for only 25 elements. Any
calculations must be done within this constraint.
6.15 LTDRIVER---CANCEL SELECTIVE Cannot Cancel IO$_TTY_PORT Functions
In releases prior to OpenVMS Version 6.1, LTDRIVER did not set the "extended DDT" bit; therefore, the POSIX function CANCEL SELECTIVE did not work with LTDRIVER. This problem has been corrected, but a restriction remains.
Although this fix allows $QIO reads and writes to be selectively
canceled, any $QIO done to the port driver (that is, with the
IO$_TTY_PORT function modifier---like a LAT connect $QIO)
cannot be canceled with CANCEL SELECTIVE.
6.16 MACRO--32 Compiler for OpenVMS Alpha (Alpha Only)
See Chapter 8 for a number of notes that concern the MACRO--32
compiler.
6.17 Mail Utility---Threads Restriction for Callable Mail
V7.1
OpenVMS callable mail routines are not thread-safe. Refer to the Guide to POSIX Threads Library for more information about calling non-thread-safe routines within a threaded application.
Because callable mail context information is maintained on a per-process (rather than a per-thread) basis, multiple threads performing context-based processing must be synchronized so that only one mail context of a given type is active at once. Otherwise, one thread could corrupt another thread's mail operations.
On OpenVMS Alpha systems, there is an additional restriction when kernel threads is enabled in a multithreaded environment. In this environment, callable mail should be used only in the initial thread.
Previous | Next | Contents | Index |
privacy and legal statement | ||
6637PRO_008.HTML |