I reran the error and got a CM debug. Here it is.
*** SCREEN 3000 ERROR MESSAGE TO FOLLOW ***
**** PROGRAM ERROR #18 :PROCESS QUIT .PARAM = 103
Intrinsic layer; a bounds violation occurred.
File System message 18
FREADDIR intrinsic.
SUBSYS_INTRIN_ID message 7
ABORT: OP7101X.OPOBJECT.ACTII
SYS % 24.404 SWITCH'TO'NM'+%4 (CST 10) SUSER1
X=0 P=40404 Status=(MItroc CCG 010) DeltaQ=156414
* 0) SYS % 24.404 SWITCH'TO'NM'+%4 (CST 10) SUSER1
X=2 P=40404 Status=(MItroc CCG 010) DeltaQ=6
1) SYS % 200.25453 ABORT+%1353 (CST 45) KNSEG3
X=2 P=65453 Status=(MItroc CCG 045) DeltaQ=153
2) SYS % 200.24076 QUIT+%4 (CST 45) KNSEG3
X=0 P=64076 Status=(MITroc CCG 045) DeltaQ=7
3) GRP % 135.10732 (CST 436)
X=0 P=10732 Status=(mITroc CCG 054) DeltaQ=151
4) GRP % 135.6635 (CST 436)
X=1 P=6635 Status=(mITroC CCG 054) DeltaQ=130
5) GRP % 171.1772 (CST 444)
X=4116 P=1772 Status=(mITroc CCG 062) DeltaQ=7117
6) GRP % 200.5101 (CST 450)
X=5 P=5101 Status=(mITroc CCG 066) DeltaQ=23764
7) PROG % 14.5252 (CSTX 15)
X=4356 P=5252 Status=(mITroc CCG 015) DeltaQ=40
10) SYS % 166.0 ?TERMINATE (CST 40) CMSWITCH
X=0 P=40000 Status=(MItroc CCG 040) DeltaQ=4
One of the values in the CM seg.offset exceeds 16 bits. (error #1743)
DBDST=%277 DB=%1400 X=%0 STATUS=%140010=(MItroc CCG 010) PIN=%61
SDST=%277 DL=%177650 Q=%40555 S=%40556 CMPC=SYS %24.404
CIR=%041601 MAPFLAG=%1 MAPDST=%300
cm PROG /ACTII/OPOBJECT/OP7101X
parm = #0 info = ""
cm GRP SL.OPOBJECT.ACTII
cm SYS SL.PUB.SYS
nm USER XL.PUB.SYS SID = $1a1
nm SYS NL.PUB.SYS SID = $a
%2 (%61) cmdebug >
Program terminated in an error state. (CIERR 976)
:
Does the CM seg.offset error create the bounds?
Ron Horner
Legacy Systems Supervisor
lia sophia
SHARE THE LOVE OF JEWELRYT
www.liasophia.com
[log in to unmask]
(630) 860-3323
-----Original Message-----
From: Stan Sieler [mailto:[log in to unmask]]
Sent: Friday, February 04, 2005 12:28 PM
To: Ron Horner; [log in to unmask]
Subject: Re: [HP3000-L] Bounds Problem
Re:
> I'm getting this error on a freaddir call.
>
> Intrinsic layer; a bounds violation occurred.
Keven's :SETDUMP will help, if you're aborting.
If you fall into debug, post the results of:
dr
tr,i,d
What language is the code that's calling FREADDIR?
BTW, here's how to set a breakpoint to look at the
parameters:
:cseq FREADDIR
<plug>...you *do* have CSEQ, don't you? :) Every programmer should!
</plug>
Ok, ok...
:cseq freaddir
Procedure FREADDIR (
filenum : int16 ; {R26}
target : anyvar record ; {(skip R25)
R23, R24}
{Address type = LongAddr}
tcount : int16 ; {SP-$0032}
recnum : int32 ) {SP-$0038}
{tcount is > 0 for 16-bit words, < 0 for bytes }
uncheckable_anyvar
The above says "what you called freaddir is actually FREADDIR"
(NM procedure names are case sensitive, BTW).
It also says: the intrinsic has 4 parameters, 3 by-value and
1 by-reference. The reference parameter is an 8-byte long address.
NOTE: the following is for NM programs.
Setting a breakpoint for the CM FREADDIR is done differently!
Since you might have a number of calls to FREADDIR before you
abort, let's write a macro to display the parameters and
automatically continue.
run myprog; debug
macro show_freaddir { /* that's a left brace, not ( or [
wl "FREADDIR (file ", r26:"#",
" to ", r23.r24,
" for ", [s16 sp-$32]:"#",
", rec ", [sp-$38]:"#", ")";
c }
/* NOTE: setting a breakpoint at FREADDIR requires
/* that you, the user, have PM capability
b FREADDIR, , quiet, show_freaddir
c
Example output:
/t t (I'm in QEDIT, texting in a small file)
FREADDIR (file #13 to $84c.418389c8 for #512, rec# 0)
FREADDIR (file #13 to $84c.41a5eb78 for #4096, rec# 1)
'Language' is now DATA
FREADDIR (file #13 to $84c.41a5e2f8 for #4096, rec# 1)
115 lines in file
The above shows that FREADDIR was called three times.
--
Stan Sieler
[log in to unmask]
www.allegro.com/sieler/wanted/index.html
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|