[Info-vax] hung program location
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Wed Feb 20 14:48:37 EST 2013
On 2013-02-20 19:05:37 +0000, VAXman- @SendSpamHere.ORG said:
> However, I'm in agreement with Hoff. There's some latent timing issue or
> a misuse of asynchronous features.
IMO, there should be klaxons and flashing warning beacons posted around
any source code that contains unexplained execution-delaying routines.
More than a little code was loaded with that sort of stuff, and it all
worked fine until it didn't, and all sorts of arcane triggers could
push the code over into its Not Working state.
Some of this same sort of source code is also fond of disabling any and
all compiler checks, too.
> One of the things I'd look at are the
> $QIO IOSBs. If these $QIOs are called with the SAME IOSB, there's hell to
> pay! These should all have their own unique IOSB. If no EFN is specified,
> (ie. NOT EFN$C_ENF) then EFN 0 will be used. This is yet another potential
> area to explore. I'd be sure to use unique IOSBs and EFN$C_ENF unless the
> EFN triggers/signals something else significant in the code.
Those are two common triggers. Another variant of the IOSB mess
involves an IOSB that was allocated on the stack within a subroutine,
and that subroutine then returned. That IOSB is now out of scope, and
invalid. You now have a quadword value that's primed and loaded and
aimed and ready to obliterate.... something. Or you have a $synch call
that uses the stale address and checks... something. Or both.
Walk the code. See what it's doing.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list