This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Exception in Stream_control

Other Parts Discussed in Thread: SYSBIOS

When calling the Stream_control second time I get following error dump? Any clue as to how I can debug this exception? I am using BIOS 6.32.02.39 and PSP 2.20.01.01. The first call goes through fine.

A0=0x0 A1=0x1
A2=0xffff011e A3=0x8b10899c
A4=0x0 A5=0x8b0b7900
A6=0x80680009 A7=0x887cc100
A8=0x8b101c84 A9=0x8f000000
A10=0xff9f A11=0x8b104c88
A12=0xffffffff A13=0x8b108a6c
A14=0x8b108a78 A15=0x8b151708
A16=0x1000000 A17=0x0
A18=0x8b104354 A19=0x20
A20=0x0 A21=0x0
A22=0xf5a9b34b A23=0xccdbba6c
A24=0xf959ef64 A25=0xb77f8ff2
A26=0xf75dd3fb A27=0xb7ea6e73
A28=0x18023802 A29=0x20
A30=0x20 A31=0x0
B0=0x1 B1=0x0
B2=0x0 B3=0x8b0b7ae8
B4=0x0 B5=0x0
B6=0x8b1089b4 B7=0x8b1389f0
B8=0x8b108a78 B9=0x0
B10=0x1 B11=0x1
B12=0x8c8007b0 B13=0x1
B14=0x8b1524c0 B15=0x8b108908
B16=0x4 B17=0x8b104610
B18=0xa B19=0x78
B20=0x69 B21=0xf8177fa2
B22=0xf B23=0x0
B24=0xaafeb6f9 B25=0x3912bde6
B26=0xfffffffe B27=0x994a35b5
B28=0x1e9a173f B29=0x1e9a173f
B30=0x8e000780 B31=0x14
NTSR=0x1020f
ITSR=0x20f
IRP=0x8b089964
SSR=0x0
AMR=0x0
RILC=0x0
ILC=0x0
Exception at 0x0
EFR=0x2 NRP=0x0
Internal exception: IERR=0x1
Instruction fetch exception
[t=0x00000029:b6008ce3] [tid=0x8b107ad8] ti.sysbios.family.c64p.Exception: ERROR: line 248: E_exceptionMin: pc = 0x8b089964, sp = 0x8b108908.
ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x8b089964, sp = 0x8b108908.
xdc.runtime.Error.raise: terminating execution

  • NRP = 0x0 - This means the exception occured at address 0x0.  So what says is that somehow your code was trying to execute at address 0x0.

    B3 - This is the return address.  Its very likely that the bad instruction is near this return address.  You need to put B3 in the dissassembly window and then scroll above it to find out where a branch is happing in which B3 was set as the return address.  Most likely the branch goes through a register and the register has 0 in it.  Then you need to figure out how the register got a 0 in it by decoding the assembly instructions.

    Once you figure out where the bad branch occured, you need re-run to try to catch the problem before it occurs by putting breakpoint at the bad instruction and try to decode the assembly instructions to see how it got into the bad state.

    That's pretty much how I debug exceptions.

    Judah