Compaq Alpha Tru64 UNIX Problems

The following are known problems with this platform:

Anonymous unions Using GNU

The GNU compiler does not output debugging information for members of anonymous unions that are enclosed in other aggregates when using the ECOFF format on the Compaq Alpha. As a result, if you are debugging in such an environment, you will not see these kind of members while looking at a data structure that contains them. Furthermore, the debugging information for the offsets of aggregate members that follow the anonymous union is output incorrectly, so these members are displayed with incorrect values.

Compiling with -C to Detect Subscripts

Compiling with-C to detect subscript out of range errors at run-time may cause TotalView to jump to a dimension statement while stepping.

On occasion, you will see a box appearing around the line number of a dimension statement when you are stepping through a routine. Due to a compiler bug in Compaq Fortran, several assembler instructions generated for certain bounds checks are associated with the line number of the array dimension statement rather than with the line number where the subscript is checked. When you single step a bounds-checked line and if that line contains the lowest instruction addresses associated with a dimension statement, TotalView will stop at the dimension statement. TotalView steps over other bounds-checked lines properly.

Planting Too Many Action Points Causes Problems

On a V4.0 or later Compaq UNIX system, using one or more TotalView commands that plant a lot of breakpoints results in an error message being displayed when you run, continue, step, or otherwise cause your program to continue or start execution.

Compaq is aware of the problem, but a fix is not yet available.

You can temporarily workaround this problem by using dbx to increase the vt_maxentries variable to something like 20,000. For example:

dbx -k /vmunix
assign vm_tune.vt_mapentries=20000
quit

You can also alter vt_mapentries using the sysconfigdb program. Consult the man page for more information.

Setting a Breakpoint In a Large Shared-Memory Target Causes a SEGV

If setting a breakpoint causes the operating system to allocate shared page tables, reading information from these pages can lead to the program getting a SEGV and TotalView exiting with a resources lost message. You can avoid this problem by setting the value of ssm-threshold to 0. For example:

#sysconfig -r ipc ssm-threshold=0
ssm-threshold: reconfigured
#sysconfig -q ipc ssm-threshold
ipc:
ssm-threshold = 0

Setting this value to 0 can degrade performance.

This problem has been reported, but a fix is not yet available.

Thread Debugging Problems On All Versions of Compaq Tru64 UNIX

Because of a bug in the Alpha thread debugging support on Compaq Tru64 UNIX, the low-level thread hold operation can allow a held thread to run. TotalView uses the low-level thread hold operation to prevent a thread from running when single-stepping another thread.

For example, assume your program has two threads, thread A and thread B. Assume that thread A is stopped at a breakpoint, and thread B is stopped elsewhere but not at a breakpoint. To continue the process (that is, both threads), TotalView must step thread A off the breakpoint. To do this, TotalView holds thread B. Then it unplants the breakpoint where thread A is stopped, sets a temporary breakpoint at the next instruction, and continues the process. Because of the hold thread bug, both thread A and thread B may run even though thread B is held. This means that thread B may miss the real breakpoint and hit the temporary breakpoint instead.

The following behaviors can indicate the presence of this bug:

  • Threads miss breakpoints.
  • Threads do not evaluate interpreted breakpoints.
  • You see undeserved process stops, that is, the process may stop unexpectedly after evaluating an interpreted breakpoint.
  • During single-stepping operations, threads other than the thread being stepped run.

TotalView Segmentation Fault at Start-up on a Node Within a Cluster After Executing for Several Days

TotalView gets a segmentation fault at start-up on a node within a cluster after executing for several days. This problem occurs over time on new nodes until no node is capable of running TotalView.

Compaq has determined that this is an NFS problem. You can fix this problem by applying the patch found at the following location:

    http://ftp1.support.compaq.com/public/osf/v5.0a/

(pr 2153)

Using include and #include

If you compile Fortran 90 files with include or #include statements on the Compaq Alpha platform using the Compaq Fortran V5.0 compiler (or earlier), TotalView may show line numbers following the include statement at incorrect lines. This problem is fixed by the Fortran V5.1 compiler.

 
 
 
 
support@etnus.com
Copyright © 2001, Etnus, LLC. All rights reserved.
Version 5.0.0-1