Problems with collect and tools and their solutions

Collect Version 1.10

64 MB/Sec LSM restriction

In V1.10 and all previous versions, the maximum throughput that can be recorded/displayed for an LSM volume is 64MB/Sec. In V1.11 this restriction will be lifted. If you need this capability before V1.11 is released, get in touch with me.

disappearing disks

The discovery algorithm for disks changed from V1.09 to V1.10, and as a result fewer disks may be discovered than are attached. The difference is that in V1.10 only disks that are active (mounted filesystem, or open file descriptor on device) when collect is started are used. This was changed to avoid some core dumps. In V1.11 the discovery algorithm will be better.

Older Versions

Collect Version 1.09

core dump when reading older binary datafiles

If you get "Floating exception (core dumped)" when trying to read binary datafiles with older datafile versions (<10), re-copy either the setld kit or the source kit and re-install. It is sufficient to copy the source kit and re-build the executable and put it in /usr/opt/COL109/bin.

Problem converting binary data: "not allowed to write to NULL! (process)"

This is fixed in v1.09a.

Version 1.09(a) doesn't find as many disks as v1.08

This is not a bug. v1.09 uses a slightly different method to find disks. It will not find any unused disks. That is, if a disk is present, but is not associated with a mounted filesystem, or does not have any open file descriptors on it (in the case of raw devices), it will not appear.

Collect Version 1.08d

Text Colors

Under certain circumstances, and almost always under CDE, collgui's text color (foreground) is white, which is quite hard to read, especially on a white background. If you have this problem, you can add the following to a .Xdefaults in your home directory:
Collgui*foreground: black
and then you can load this resource into your in-memory copy using:
xrdb -merge $HOME/.Xdefaults

V4.0D disk statistics

The kernel structures under V4.0D (and beyond) have changed, and the cheat offsets are no longer correct. I hope to address this issue using automation, but until then, you must modify the sources and recompile as follows:

  1. cd to somewhere where you've got a few MB free:
    cd /tmp
  2. make a temp directory and go to it:
    mkdir collect
    cd collect
  3. unpack the collect sources, which were automatically installed with your collect setld kit:
    zcat /usr/opt/COL108/src/collect_1.08d.tar.Z | tar xvf -
  4. go into the src directory:
    cd src
  5. edit storage.c with your favorite editor. Around line 203 you will find 4 lines similar to the following:
    #define RC_OFF 552
    #define WC_OFF 556
    #define RB_OFF 560
    #define WB_OFF 564
    which should be changed to:
    #define RC_OFF 556
    #define WC_OFF 560
    #define RB_OFF 564
    #define WB_OFF 568
    now save the changes.

  6. compile the new executable:
    make -f Makefile.simple
  7. install (as root):
    cp collect4 /usr/opt/COL108/bin
    chmod 4755 /usr/opt/COL108/bin/collect4
    chown root /usr/opt/COL108/bin/collect4
  8. make sure your link from /usr/bin/collect points to /usr/opt/COL108/bin/collect4

If you are using some other version of Digital UNIX, you can use the korn shell script findoff.ksh to determine the correct offset of RC_OFF (line 203 in storage.c) and set it appropriately. The following offsets (WC,RB,WB) all keep their offsets relative to RC (4,8, and 12, respectively).