HP3000-L Archives

June 2002, Week 1

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:
Tom Emerson <[log in to unmask]>
Reply To:
Tom Emerson <[log in to unmask]>
Date:
Wed, 5 Jun 2002 16:10:58 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (41 lines)
> -----Original Message-----
> From: Harrington, Don
>
> Getting error 8224 (which I presume is from Omnidex, as T-I
> says 'No call information available').  Any ideas as to what this
> means?

8224 is one of those "magic" numbers that should immediately alert you to
the fact that "something VERY bad" has happened in your program, and it
entirely UNLIKELY that it has ANYTHING to do with IMAGE or OMNIDEX...

You see, 8224 is the decimal equivalent of the 16-bit value of two ASCII
"spaces" -- the implication being that your status/buffer/whatever area has
been OVERWRITTEN by an errant call -- usually when the dataset has been
expanded [additional fields added] and your program uses "@;" as the "list"
[retrieve all items indiscriminately] and has NOT been re-compiled since the
actual structural change was made...

In the "word to the wise" category, define your status array PRIOR to your
actual dataset buffers [and if possible, define your buffers to be "the last
thing" in your memory/stack space]  (Of course, this is dependant upon the
compiler honoring your request for particular data/buffer placement, but
most do anyway...)  By placing the status structure "ahead" of the dataset
buffer location, you are less likely to overwrite it with a pure DBxxx call;
likewise, if the dataset buffer(s) are the last thing in memory, any
structural change to the database SHOULD cause an abort with a "bounds
violation" [a.k.a. VSM error 37, I think, or maybe it's 39?] or else [if
properly trapped when calling IMAGE intrinsics] the appropriate IMAGE error

per http://docs.hp.com/cgi-bin/doc3k/B3039190010.17091/40, under the DBGET
section, this would be a return status of 50:
    "|Illegal buffer address.
     | Buffer is too small (will only be
     | returned if buffer is too small
     | and the data transfer would write
     | over stack markers in the user's
     | stack). "

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2