HP3000-L Archives

April 1995, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Guy Smith <[log in to unmask]>
Reply To:
Guy Smith <[log in to unmask]>
Date:
Tue, 11 Apr 1995 17:28:24 EDT
Content-Type:
text/plain
Parts/Attachments:
text/plain (49 lines)
Gail Duro wrote:
 
> I contacted Guy to get more background on the problem. Once I determine
> the cause I will post the information to the list.
 
Not more than five minutes after Gail's call, the PICS engineer called
with the problem ID.  The solution shows that HP is making MPE more
reliable, though it creates some short term compatability problems.
 
To open I'll note that the problem was in our code, and was a "flat forehead"
error.  You know the type.  The moment you discover the error you drive
your forehead into the nearest hard surface in hopes of beating some
sense into yourself.  Some days I believe my job is to make these impressions
on others.
 
Anyway, AIFSysWideGet receives a search_key parm, which as documented is
a variant record or union, depending on the language.  In 4.0, 4.5 and
5.0 PULL, this record was more-or-less ignored during the initial call to
AIFSysWideGet.  Now it is not.  The values are checked and if the variable
is not properly initialized, the routine returns an error.
 
Two programmers built our utility that went south with 5.0 PUSH.  One
created the core software, and the other embellished.  The original
programmer created the variant/union and the other created the routine
with initalized it.
 
The problem was that the second programmer treated it as a record/structure
and not a variant/union.  His subroutine initalized each member of the
variant/union.  Each initialization simply overwrote the previous one.
The last element was a pointer, which was set to NIL.  Now that
AIFSysWideGet was checking this parmameter, it saw the binary zeros and
rejected the call.
 
BTW, we had the second programmer hauled out back and shot.
 
What is encouraging, despite these minor self-induced annoyances, is that
HP was making the routine more reliable.  We saw the same with a change
made to CreateProcess and an undocumented itemnum(13).  In the long run,
this will make MPE more bullet proff and a better buy, so I'm willing
to work through these little disruptions.
 =======================================================================
Guy Smith                                Voice:  804-527-4000 ext 6664
Circuit City Stores, Inc.                  FAX:  804-527-4008
9950 Mayland Drive                      E-Mail:  [log in to unmask]
Richmond, VA 23233-1464         Private E-Mail:  [log in to unmask]
 
The thoughts expressed herein are mine and do not reflect those of my
employer, or anyone with common sense.

ATOM RSS1 RSS2