last update 27 aug 98 / greg goebel / public domain / vwb_5x
* This document lists bugs fixed in VEE 5.0.
* If you perform EXECUTE PROGRAM from HP VEE, it drops a little memory each
time a program is executed.
* On current versions of VEE, you can bring out a pin on the Direct I/O
object to allow programmatically setting the address of a instrument.
Unfortunately, every time you do this, VEE allocates a little more memory.
This is a memory "hoard", not a memory "leak". A leak is where a program
allocates memory and then misplaces it; a hoard is where a program continues
to keep allocating memory it doesn't need. A hoard is harder to track down
because, as far as the operating system is concerned, the program is acting
legally.
You can also bring out a pin on Direct I/O to allow you to specify an I/O
configuration name. It has the same problem as the address pin.
* If you bring out the Hostname pin on a Direct I/O object and try to shove
a LAN address into it, you get a Big Red Box.
* In principle, you should be able to configure an ID through the Instrument
Manager and it will be automatically compiled. In practice, unfortunately,
there's a long file names bug in VEE 4.0 that can give an error if you do this.
There's a simple workaround. Just run a DOS window, change directories to
VEE/HPIDS, and execute:
* If a Remote UserFunction has an output which is not pinged, when the call
attempts to return <no data> it will GPF (Segmentation Violation).
* A user notified us that Callable VEE was giving him a Segmentation Error on
the remote host. The remote VEE program was loading a UserLibrary and then
indirectly calling a UserFunction in that UserLibrary. Callable VEE had no
direct access to that UserFunction.
The lab didn't know of this problem and suggested that Callable VEE in itself
wasn't the root of the problem -- it would also likely occur in VEE-to-VEE
RPCs, which were easier to deal with. So I conducted an experiment with
VEE-to-VEE RPCs to see if I could duplicate the problem.
I wrote a VEE library file named "rpc_two.lib" that contained a single
function, "MySquare", that simply multiplied a number by itself.
I wrote another VEE library file named "rpc_main.lib" that contained three
functions:
I left these libraries on my PC (running Win95) and then ran a VEE program on
my HP-UX workstation to remote-load "rpc_main.lib", call "LoadLib", and then
call "Square1". I got the error:
Then I changed the RPC to "Square1" to the control function, "Square2". It
worked fine.
* A customer provided us with the following program that indicated an error:
Note that ITEM 4 is set on the lower ENUM object. Since this value is not in
the list of the ENUM at top, attempting to assign the value of ITEM 4 to a
record based on that ENUM list should generate an error. In fact, it does not,
but the value field of the Record Constant goes nuts (after about a half
dozen executions of the program) and then a Big Red Box flashes up.
The problem is that VEE didn't nail the illegal operation immediately. It
does now.
* If you use PRINT PROGRAM to print a function that's bigger than the screen,
sometimes you get multiple pages that give the entire function in parts,
sometimes you just get one screen.
The problem occurs if a window in the program is maximized. You can
ensure this is not so by bringing up the main program window (without any
other functions in windows) and ensuring that it is not maximized.
* We've had a number of complaints from customers using VEE 4.X that when
they run programs, they have no control over the placement of the pop-up
dialogues when the appear on the screen.
This is a bug, but there is a simple workaround. The trick is that even
though you have a panel view in your VEE development environment, positioning
the pop-ups relative to that panel view does no good.
You have to run your program, get the execution window and then position
the pop ups. This will then lock the pop ups in place.
As an added confusion, Start buttons cause problems in getting things to work
properly; you need to use the Run button instead. The use of Start buttons
is discouraged.
* There is an obscure fact that HPIB cards have an HPIB address, just as
instruments do. The default address for the 8234X cards is 21, but this is
an arbitrary choice; it could be any legal address, and in fact the user can
change this assignment using the HP I/O Libraries Configuration utility.
However, VEE 4.01 has a problem if the card HPIB address is not 21 ...
if you run Instrument Manager and try to do a refresh, it will ignore any
instrument at address 21 and then try to identify the card as an instrument.
It's a cosmetic problem, however; the user can still configure an instrument
at address 21 and get it to work. It just doesn't show up on automatic
searches.
* The line probe feature under VEE 4.01 can demonstrate very odd behavior in
displaying text arrays where the elements only have a few characters, with
the effect that only part of the display can be shown.
* A European user passed on a VEE program that loaded UserLibraries with
Global Variables and resulted in a GPF.
* If you try to do a sort() in VEE on an INTEGER array of zeroes, you get a
Big Red Box error.
* Consider the following program:
* Our person in Denmark reports an obscure bug:
* The UK reported a very odd problem. The following program works fine:
However, if you change the count to go from 9 to 0, step -1, the Alphanumeric
never displays anything.
The propagation of the objects is the same in both circumstances, so this
really seems like a bug.
* A German user reported the following behaviour. Set the Scale control
input pin on an XY Trace object using the following record constant:
Run the program. Now change the settings to:
Run the program again and it will error:
The Log range check is done with the old scale values (-10 ... +10) The same
happens when a program dynamically changes the Mapping of an XY Trace object.
Workaround: Change the record to an array where the first element is:
-- and the second element is :
The first element of the array is apparently used first so that it will set
the scaling to Linear with positive values. Then the second element can set
the scaling to Log.
* A Euro support person reported a fairly ugly bug with VEE and EXECUTE
REWIND. His program looked like this:
This would cause an apparent lockup that actually results in the program
allocating more and more memory until an out-of-memory error occurs. CPU
usage goes to 100% until that happens.
All you have to do to get it to work is change the From File to a To File:
* There seems to be a problem with creating a constant record with the
following parameters being set right off the bat:
It only creates a size 1 or 2 coordinate array. Sometimes it creates a size
10 (with Dim 1 Size set to 10), if I try it enough.
There is a workaround. First, set the following:
Then click on OK. Then set the following:
Then click on OK. This should work OK.
* A Finnish customer wrote the following simple VEE program:
So, you make a selection from the Drop-Down List at top, starting the
program, make a selection from the one at the bottom, then click OK.
VEE menus no longer work and VEE is locked up. The toolbar seems to work OK,
though.
* When:
* It seems that if you set the button configuration in a Message Box and then
change it, the poor little Message Box gets confused.
Create an instance of the default Message Box then under "Buttons", select
"Abort Retry Ignore", and then select "Retry Cancel".
The "Retry" and "Cancel" output pins are now reversed. That is, the
one that says "Retry" fires if the user selects the Cancel button, and
the reverse. Same deal for other button settings. The Message Box works
OK if you only change the button selection once.
* We ran into an odd VEE bug, best illustrated by example with two small
programs:
The single blue line indicates that VEE thinks the value is a scalar when
it's an array ... serious trouble.
Workaround is to take a Concatenator object and pull off the second pin:
* A customer accidentally put double-quotes ("") in the output pin of a
Direct I/O object. It corrupts the program. worse, the customer can still
save the program.
* There was a limitation in setting values in a formula in VEE 4.0. If
there was a record of 4-dim arrays, the following would cause a BRB:
Setting values within a record worked for a 1-dim array, but any higher dims
got the BRB. Values could be set in a 4-dim array if it wasn't a field of a
record.
* As of VEE 4.0, a user can no longer step through sequencer transactions.
The lab guys said they yanked it out for VEE 4.0 (hard to get to work in
compiled mode). We need to update the documentation.
[*] FIXED IN VEE 5.0 / VEE Execute Program Causes Memory Leak
[*] FIXED IN VEE 5.0 / Memory Hoard With Direct I/O Address Pins
[*] FIXED IN VEE 5.0 / Hostname Pin Causes BRB
[*] FIXED IN VEE 5.0 / ID Compiler Won't Work
[*] FIXED IN VEE 5.0 / RPC Problem
[*] FIXED IN VEE 5.0 / VEE RPCS Don't Like Indirect Function Calls
[*] FIXED IN VEE 5.0 / Enum Mismatch Error Not Handled Properly
[*] FIXED IN VEE 5.0 / Print Program Truncations
[*] FIXED IN VEE 5.0 / Problems With Pop-Up Dialogue Placement
[*] FIXED IN VEE 5.0 / Hardcoded VEE HPIB Controller Address
[*] FIXED IN VEE 5.0 / Line Probe Reveals Partial Arrays
[*] FIXED IN VEE 5.0 / Load Library Causes GPF IN VEE
[*] FIXED IN VEE 5.0 / Sort() On Zero Array Leads To BRB Problem
[*] FIXED IN VEE 5.0 / For Count With Zero Value Causes Serious Error
[*] FIXED IN VEE 5.0 / Dropdown List BRB /
[*] FIXED IN VEE 5.0 / Odd For Range Problem
[*] FIXED IN VEE 5.0 / XY Trace Log Mapping Problem
[*] FIXED IN VEE 5.0 / Dataset Operations Cause Hangup
[*] FIXED IN VEE 5.0 / Coordinate Record Allocate Problem
[*] FIXED IN VEE 5.0 / Disastrous (If Obscure) List Object Bug
[*] FIXED IN VEE 5.0 / List Object Panel View Bug
[*] FIXED IN VEE 5.0 / Message Box Pins Get Mixed Up
[*] FIXED IN VEE 5.0 / Odd Array-Recognition Bug
[*] FIXED IN VEE 5.0 / Double Quotes In Pin Names
[*] FIXED IN VEE 5.0 / Setting Values In VEE Formula Causes Brb
[*] FIXED IN VEE 5.0 / Sequencer Single-Step Wrongly Documented
[*] FIXED IN VEE 5.0 / VEE Execute Program Causes Memory Leak
[*] FIXED IN VEE 5.0 / Memory Hoard With Direct I/O Address Pins
[*] FIXED IN VEE 5.0 / Hostname Pin Causes BRB
[*] FIXED IN VEE 5.0 / ID Compiler Won't Work
..\hpidc <driver_name>
[*] FIXED IN VEE 5.0 / RPC Problem
[*] FIXED IN VEE 5.0 / VEE RPCS Don't Like Indirect Function Calls
Error in Service on Remote Host
Remote User Function, Square1, reports error:
Error: 979 Internal Error: Segmentation violation (signal=11)
...
Error number: 865
[*] FIXED IN VEE 5.0 / Enum Mismatch Error Not Handled Properly
+---------------+
| Radio Buttons |
+---------------+
| <*> Item 1 | +--------------+
| < > Item 2 +-->| Build Record +--+
| < > Item 3 | +--------------+ |
+---------------+ |
+------------------+ +--------------+
| | |
+---------------+ | +-----------------+ | +----------+----------+
| Radio Buttons | | | Formula | | | Record Constant |
+---------------+ | +-----+-----------+ | +---------------------+
| < > Item 1 | +-->| rec | rec.a = b +--|-->| Field Name Value |
| < > Item 2 +----->| b | | | | [ A ] [Item 1] |
| < > Item 3 | +-----+--+--------+ | +---------------------+
| <*> ITEM 4 | | |
+---------------+ +-----------+
[*] FIXED IN VEE 5.0 / Print Program Truncations
[*] FIXED IN VEE 5.0 / Problems With Pop-Up Dialogue Placement
[*] FIXED IN VEE 5.0 / Hardcoded VEE HPIB Controller Address
[*] FIXED IN VEE 5.0 / Line Probe Reveals Partial Arrays
[*] FIXED IN VEE 5.0 / Load Library Causes GPF IN VEE
[*] FIXED IN VEE 5.0 / Sort() On Zero Array Leads To BRB Problem
[*] FIXED IN VEE 5.0 / For Count With Zero Value Causes Serious Error
+--------------+
| For Count: 0 +--+ Notice the zero count.
+-------+------+ |
| | +--------------+
| +----+----+ | Build Record |
| | Integer +---->+-----------+ +---+----------+
| +---------+ | Collector +-->| A | Array 1D +-->
| +->+-----------+ +---+----------+
| |
+-----------------+
You get a segmentation violation. Workaround (if you want to call it that)
is to specify a For Count value greater than 0.
[*] FIXED IN VEE 5.0 / Dropdown List BRB /
[*] FIXED IN VEE 5.0 / Odd For Range Problem
+-----------------+
| For Range | +----------+
+-----------------+ | Formula |
| From [ 0 ] | +---+------+
| Thru [ 9 ] +--+-->| A | A==6 +--+
| Step [ 1 ] | | +---+------+ |
+--------+--------+ | |
| | +---+---+
+----------------|-----------+ | Break |
| | +-------+
| |
| +------------+------------+ +-----------------+
| | Formula | | AlphaNumeric |
| +---+---------------------+ +-----------------+
+-->| A | "Finished at: " + A +-->| Finished at: 6 |
+---+---------------------+ +-----------------+
[*] FIXED IN VEE 5.0 / XY Trace Log Mapping Problem
+---------------+
| Record |
+---------------+
|Scale Y |
|Min -10 |
|Max +10 |
|Mapping Linear|
+---------------+
+---------------+
| Record |
+---------------+
|Scale Y |
|Min +1 |
|Max +10 |
|Mapping Log |
+---------------+
Bounds for Log mapping must be > 0
Scale Y
Min +1
Max +10
Mapping Linear
Scale Y
Min +1
Max +10
Mapping Log
[*] FIXED IN VEE 5.0 / Dataset Operations Cause Hangup
+--------------------------+
| To Data Set |
+----------+ +--------------------------+
| Record +------->| To DataSet [ test.txt ] |
| Constant | | [x] Clear File At Prerun |
+----------+ +------------+-------------+
|
+------------+-------------+
| From File |
+--------------------------+
| From File [ test.txt ] |
+--------------------------+
| EXECUTE REWIND |
+------------+-------------+
|
+------------+-------------+
| To Data Set |
+----------+ +--------------------------+
| Record +------->| To DataSet [ test.txt ] |
| Constant | | [x] Clear File At Prerun |
+----------+ +------------+-------------+
|
+-------------+--------------+
| From Data Set |
+----------------------------+
| from DataSet [ test.txt ] |
| Get Records [ All ] |
+----------------------------+
+--------------------------+
| To Data Set |
+----------+ +--------------------------+
| Record +------->| To DataSet [ test.txt ] |
| Constant | | [x] Clear File At Prerun |
+----------+ +------------+-------------+
|
+------------+-------------+
| To File |
+--------------------------+
| From File [ test.txt ] |
+--------------------------+
| EXECUTE REWIND |
+------------+-------------+
|
+------------+-------------+
| To Data Set |
+----------+ +--------------------------+
| Record +------->| To DataSet [ test.txt ] |
| Constant | | [x] Clear File At Prerun |
+----------+ +------------+-------------+
|
+-------------+--------------+
| From Data Set |
+----------------------------+
| from DataSet [ test.txt ] |
| Get Records [ All ] |
+----------------------------+
[*] FIXED IN VEE 5.0 / Coordinate Record Allocate Problem
Type: Coord
Num Dims: 1
Dim 1 Size: 250 (any size greater than 1)
Num Coord Dims: 2
Map1: Linear 0...0
Type: Coord
Num Dims: 0
Num Coord Dims: 2
Type: Coord
Num Dims: 1
Dim 1 Size: 250 (any size greater than 1)
Num Coord Dims: 2
Map1: Linear 0...0
[*] FIXED IN VEE 5.0 / Disastrous (If Obscure) List Object Bug
+----------------+ <-- Set to Auto-execute.
| Drop-Down List |
+----------------+ +----+
| Item 1 +-->| OK +--+
+----------------+ +----+ |
|
+--------+-------+
| Drop-Down List |
+----------------+
| Item 1 |
+----------------+
[*] FIXED IN VEE 5.0 / List Object Panel View Bug
[*] FIXED IN VEE 5.0 / Message Box Pins Get Mixed Up
[*] FIXED IN VEE 5.0 / Odd Array-Recognition Bug
+---------------+
| AlphaNumeric | For an array comparison to
+---------------+ test true, *all* elements
+-->| 0: 1 | must test true. So this
This line shows up | | 1: 0 | program is wrong.
as a *single* blue | +---------------+
line - - - - - - > |
|
+---------------+ | +---------------+ +--------------+
| Formula | | | If/Then/Else | | AlphaNumeric |
+---------------+ | +--------+------+ +--------------+
| [1, 0] AND 1 +--+-->| A == 1 | Then +-->| 1 |
+---------------+ | | Else | +--------------+
+--------+------+
+---------------+
| AlphaNumeric |
+---------------+
This line shows up +-->| 0: 1 | This program works
as a *double* blue | | 1: 0 | correctly.
line - - - - - - > | +---------------+
|
+---------------+ | +---------------+
| Integer | | | If/Then/Else | +--------------+
+---------------+ | +--------+------+ | AlphaNumeric |
| 0000: 1 +--+-->| A == 1 | Then | +--------------+
| 0001: 0 | | | Else +-->| 0 |
+---------------+ +--------+------+ +--------------+
+---------------+ |
| Formula | |
+---------------+ +--------------+ |
| [1, 0] AND 1 +-->| Concatenator +--+-->
+---------------+ +--------------+
[*] FIXED IN VEE 5.0 / Double Quotes In Pin Names
[*] FIXED IN VEE 5.0 / Setting Values In VEE Formula Causes Brb
data.freq[subgroup, type, device, index] = newValue
[*] FIXED IN VEE 5.0 / Sequencer Single-Step Wrongly Documented