HP3000-L Archives

July 2001, Week 5

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:
Erik Vistica <[log in to unmask]>
Reply To:
Erik Vistica <[log in to unmask]>
Date:
Mon, 30 Jul 2001 15:45:52 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (111 lines)
What Stan said. In addition I note the following 'interesting' things
below.

Wes Cole wrote:
>
> Here is some additional information.
>
> C program is launching BM1870 program. I have also added :setdump before
> the run of C program (ZX0700).
>
> Here is the extra information at the end.
> ******************* START ****************************
> :SETDUMP
> :RUN sh.hpbin.sys;info="-L /SPDEV/DHWC/zx0800u"
>
> ..3..1.&a8C.1.&a16C.1.&a24C.1.&a32C.1.&a40C.1.&a48C.1.&a56C.1.&a64C.1.&a72C.
> 1.##
> ######################################################################
>                MPE/iX Shell and Utilities (A.50.02)
>     COPYRIGHT (c) Hewlett-Packard Company 1992, All Rights Reserved.
> ########################################################################
> <zx0700> main() ZX0700.012 Copyrighted (c) CTC 1996
> <zx0701>get_man_config():nman_port: 8000
> loopback addr: 127.0.0.1
> cgi_host addr: 134.39.4.26
> man_queue: 5
> debug_true: 1
> <zx0701>get_man_config():Agent count: 1. agent_arr[i]->port_c   = 8001
>   agent_arr[i]->port     = 8001
>   agent_arr[i]->fail_cnt = 0
>   agent_arr[i]->status   = 0
> <zx0700>MAIL MESSAGE is: 8001,/SPDEV/DHWC/ZX0710S,
> <zx0700> main() tickets_enabled: 1ticket_sweeper
> <zx0700>init_agent
>
> **** INTERNAL TRAP
> Data PAGE Fault
> [VSM] Undecoded status.info = -300
> ABORT: LMBM1870.DHWC.SPDEV
> ZX0732.003 Copyrighted (c) CTC 1997
> <zx0732>main() sweep_cycle: 120
>        PC=14f.00031288 bm1870
> NM* 0) SP=41842000 RP=14f.00030db8 ?bm1870+$8
> Can't unwind.  Error reading a value from virtual memory.  (error #1902)
> Can't get next stack frame.  Can't trace any further.  (error #1914)
>
> R0 =00000000 d5111018 00030dbb 41843f00 R4 =00000001 d3816c00 d510f018
> c0000000
> R8 =d510f018 41843f00 00000000 c0000000 R12=d5111018 d3816c00 00000000
> d3816c00
> R16=00000000 41843f00 000000f8 00000080 R20=00000000 00000001 00000000
> 41842000
> R24=46c7d000 00030db3 0000014f 46c7d000 R28=00000000 00f92d2c 41842000
> 00000003

R27 (DP = Data Pointer) should be less than R30 (SP = Stack Pointer) and
it isn't.

R26, R25, R24, R23 are used to pass parms (and can be used as scratch).
I note that R26 has the Space ID of your code (same as SR4). R25 looks
like a reasonable offset. R24 matchs the current (questionable) DP. R23
matches the current (questionable) SP.

Do you happen to have a routine where you pass these things as parms
(not likely but possible)?

Perhaps this stack trace is fallout from the following scenario: I make
a function call passing the address of a local variable in the caller.
The callee writes beyond the end of the allocated storage for that
variable at that address thus stomping on the frame marker (this is
similar to indexing off the end of an array). When we return from the
routine, depending on the now corrupted values in the frame marker, we
may return somewhere else that doesn't cause us to abort right away. Or,
we return to the right place but SP has been trashed. This kind of thing
would usually cause an Instruction Memory Protection Trap (R2 aka RP =
Return Pointer getting clobbered) but Data Memory Protection Traps and
Data Page Faults are common symptoms of this too.

> IPSW=0004000f=westhlnxbCvmofrQPDI PRIV=3
>  SAR=2  PCQF=14f.3128b  14f.3128f
>
> SR0=0000000a 00000000 00000000 00000000 SR4=0000014f 000003b4 0000000b
> 0000000a
> TR0=00001000 41857518 00923ee0 41844490 TR4=ea9a000a 418430ec 00457094
> 0000000f
> PID1=00000070=00000038(W)               PID2=00000000=00000000(W)
> PID3=00000000=00000000(W)               PID4=00000000=00000000(W)
> PID5=00000000=00000000(W)               PID6=00000000=00000000(W)
> PID7=00000000=00000000(W)               PID8=00000000=00000000(W)
>
> RCTR=00000000 ISR=000003b4 IOR=41841fec IIR=6bc23fd9 IVA=00214000
> ITMR=96a27eb6
> EIEM=ffffffff EIRR=00000000 CCR=c0 SCR=0
> *********************** END *****************************
>
> NM* 0) SP=41842000 RP=14f.00030db8 ?bm1870+$8
>
> Does the +$8 point to the verb or statement causing the problem?
>
> Thanks,
>
> Wes Cole
> Center for Information Services
> [log in to unmask]
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

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

ATOM RSS1 RSS2