Re: Fortran Guru requested

From: Paddy O'Brien (paddy.o'brien@tg.nsw.gov.au)
Date: 04/02/03


From: Paddy O'Brien <paddy.o'brien@tg.nsw.gov.au>
Date: Wed, 02 Apr 2003 18:42:54 +1000


John Laird wrote:
> On Mon, 31 Mar 2003 12:14:37 -0800, Ken Fairfield <MyFull-Name@intel.com>
> wrote:
>
>
>>However, the address of %x30 looks to me like the TAG variable is
>>being passed by address, that is %x30 is 48 decimal, which is "0" ASCII.
>>I'd suspect the calling routine, SPECIAL_GRAPHIC in this case, is calling
>>sleep with a Hollerith argument or a numeric variable that's been initialized
>>with character data (non-standard, common place old usage).
>
>
> There are no obvious signs of any argument mismatches of this type, but I do
> think you are on the right track. If we assume a string of 5 characters
> whose last byte was '0' would likely be implicitly padded out with nulls (so
> the next data item was suitably aligned), then such a string, somehow
> wrongly passed by reference rather than by descriptor, would when
> interpreted as a descriptor have a completely junk first longword (class,
> type, length, but likely never examined unless the argument is declared
> character*(*)), but a second longword of '00000030'x. As soon as this is
> de-referenced as what should be the address of the actual character data,
> there is the accvio already seen.
>
> In 20 odd years of VMS Fortran programming, I have never yet seen a compiler
> (or linker, as it is involved too) screw up like this, using a by-reference
> call when by-descriptor was needed. I am also about 99.9% sure the default
> for the compiler is by-descriptor, so I would point the finger of suspicion
> at the linker if wires have crossed in this example.
>
> Until someone has duplicated the same crash, we are to some extent whistling
> in the dark. The posted source file has already been seen to be not the one
> that was crashing. One option might be for the OP to mail someone the
> object module from his compiler and test a different linker (or vice versa).
>
Happily, it seems that we have not screwed up, nor has the compiler or
linker.

Didier posted a source which was not that of the executable. So none of
us "gurus" are able to see the problem.

Regards, Paddy

***********************************************************************

"This electronic message and any attachments may contain privileged
and confidential information intended only for the use of the
addressees named above. If you are not the intended recipient of
this email, please delete the message and any attachment and advise
the sender. You are hereby notified that any use, dissemination,
distribution, reproduction of this email is prohibited.

If you have received the email in error, please notify TransGrid
immediately. Any views expressed in this email are those of the
individual sender except where the sender expressly and with
authority states them to be the views of TransGrid. TransGrid uses
virus scanning software but excludes any liability for viruses
contained in any attachment.

Please note the email address for TransGrid personnel is now
firstname.lastname@transgrid.com.au"

***********************************************************************