Debugging Kernel Crash

We have a custom board based on the MPC8313RDB. We have this running in Uboot and have tested all the hardware is accessable in Uboot and that all RAM locations can be read to and written from. QNX boots but crashes (inconsistent timing) and produces one of the 3 kernel dumps shown below. Also I have noticed that pidin -fM indicates a page fault (again shown below). Our new board has additonal RAM on a second chip select but I know QNX is seeing this correctly at boot time.

We beleieve we have everything configured correctly on the board but are still experiencing this hanging issue. Given my explanation and the Kernel dumps below can anyone give any further guidance as to where to go from here?

Any help is gratefully appreciated.

Thanks.

pidin -fM (Page Fault)

Process 8199 (pidin) terminated SIGSEGV code=1 fltno=11 ip=fe3657fc(libc.so.3@strlen+0x0) mapaddr=000657fc. ref=00000000
Memory fault

Dump 1 (Bus Error/Memory Access (e.g. alignment))

Shutdown[0,0] S/C/F=10/1/5 C/D=0021b214/00290dd4 state(f0)= now lock exit specret
QNX Version 6.5.0 Release 2010/07/09-14:35:30EDT
[0]PID-TID=1-4 P/T FL=00019001/04020000 “proc/boot/procnto-600”
[0]ASPACE PID=3719171 PF=00000020 “proc/boot/ksh”
ppcbe context[0ffe7de8]:
0000: 00000000 0ffb6d70 00295d14 0ffed814 0ffb6d88 00000000 00000000 00000000
0020: 00000000 00000001 00000000 0028f6dc 24000044 00297348 00000000 00000000
0040: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0060: 0028fcc8 0ffb6fc0 0ffa6a08 0038c003 0028fccc 0ffed814 0ffed814 0028e1e8
0080: 0000b888 00232120 00009932 00231f84 44000044 00000000 00000000 00000000
00a0: 00000000
instruction[00231f84]:
7c 00 49 2d 40 a2 ff f4 4c 00 01 2c 2f 8b 00 00 40 bc 00 10 7c 00 04 ac 38 6d
stack[0ffb6d70]:
0000: 0ffb6db0 0000004e 00000000 00000000 0ffb6db0 00000000 00000001 0038c003
0020: 00000000 00000000 00000000 00000000 00000000 0ffed814 0ffed7cc 00000000
0040: 0ffb6de0 00232120 00000001 0ffed210 0038c003 0ffa6a00 0ffa6a08 0ffa4000
0060: 00000041 0fffb7b8 0fffb85c 0ffb6e10 0ffb6f00 0022b688 0ffed2a4 0ffb6e30ø

Dump 2 (Unexpected exception vector usage)

Unexpected exception vector usage (0x0)
Check startup code for missing interrupt callout definitions
Shutdown[0,0] S/C/F=255/255/255 C/D=0021c214/00291dd4 state(c0)= now lock
QNX Version 6.5.0 Release 2010/07/09-14:35:30EDT
[0]PID-TID=1-9? P/T FL=00019001/04020000 “proc/boot/procnto-600”
[0]ASPACE PID=401415 PF=00008012
ppcbe context[0fff7f30]:
0000: 00000000 0fff7fe0 00296d14 0ffe6010 00000000 ffffffff 04020000 00000000
0020: 00000000 0fff30c8 3ab73152 00000003 00000005 00298348 00000000 00000000
0040: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0ffe93b0
0060: 0fff7fd0 00257d98 0ffe96b4 0ffe93b0 0fff7ff0 00267118 00001032 00009032
0080: 00256acc 00000004 00009932 00278af4 24000042 20000000 0ffe96b4 0ffe93b0
00a0: 0fff7ff0
instruction[00278af4]:
7c 03 03 78 4e 80 00 20 7c 03 03 78 4b ff fe ec 7c a5 00 d0 38 00 00 18 44 00
stack[0fff7fe0]:
0000: 0fffe5e8 00000000 0ffe96a8 0ffe93b0 0ffee010 0028a610 800b010b 00000900
0020: 0fff8018 00000000 00000000 00000000 00000000 00000000 0fff8030 00000000
0040: 00000000 00000000 00000000 00000000 0fff8048 00000000 00000000 00000000
0060: 00000000 00000000 0fff8060 00000000 00000000 00000000 00000000 00000000ø

Dump 3 (Segmentation Violation/Recoverable Page Fault)

Shutdown[0,0] S/C/F=11/1/11 C/D=0021c214/00291dd4 state(c0)= now lock
QNX Version 6.5.0 Release 2010/07/09-14:35:30EDT
[0]PID-TID=212999-1? P/T FL=00000020/00000000 “proc/boot/ksh”
ppcbe context[0fff7ea0]:
0000: 0025ca08 0fff7f50 00296d14 0ffbdbe8 00000000 00000000 00000002 00000003
0020: 00291fe4 0fff4000 0ffbdce4 00000100 44000042 00298348 00000000 00000000
0040: 00000000 00000000 00000000 00000000 4803fea0 00000001 4803feb4 00291dd0
0060: 00008000 00000000 00000000 0ffee2a4 fe380ca4 0003fd8b 3fd8bca4 0ffe18a0
0080: 00000000 0025ca08 400b9032 0025ca14 44000044 20000000 00000100 0ffe18a0
00a0: 0fff7f50
instruction[0025ca14]:
7c 69 e9 2e 57 de fe 3a 7f c3 f0 6e 93 df 00 00 93 e3 00 00 38 60 00 00 48 00
stack[0fff7f50]:
0000: 0fff7f70 0025ca08 00000000 00000000 0fff7f90 0ffec3b0 0ffee2a4 0ffe18a0
0020: 0fff7fa0 0025cae8 3fd8bca4 0ffee2a4 0fff7fe0 0024c798 00000000 00000000
0040: 0ffec3b0 4803fa88 00000000 fe380ca4 0fff7ff0 0026c1ec 00000005 0ffe93b0
0060: 0fff7fc0 00000000 00000000 0ffeb010 0fff7fd0 00257cd8 00000000 0ffeb010ø

The startup code has a section in which it tells the OS how many RAM it has got (add_ram() or so). You could try hard-coding a smaller amount of RAM, and see if this changes anything. If it does, something needs to be done about the memory mapping.

Sorry for late reply but basically I replied twice and neither post got approved until I contacted one of the mods today.

We have resolved the repeatable crashing issue, turned out to be the DDR configuration was not quite correct. Ran with no issues on UBoot. I did try hard coding a smaller amount of RAM.

I do still see the issue with pidin -fM and have since noticed this happens on the MPC8313RDB as well. I’m not even sure if these parameter are valid, I was only using it as I seen someone mention it on here. Does anyone know if this is actually and issue or not?

pidin -fM (Page Fault)

Process 8199 (pidin) terminated SIGSEGV code=1 fltno=11 ip=fe3657fc(libc.so.3@strlen+0x0) mapaddr=000657fc. ref=00000000
Memory fault