We are experiencing strange graphics error on our device with AM335x and Android 4.4.4.
The problems begin some time after booting, sometimes very fast, sometimes after more time.
The effects are black areas on the screen or missing textures(?), see screenshots.
After these effecs occurred, the device becomes more and more unresponsive and sometimes locks up.
In two cases of lockups we were able to capture kernel logs, both show (different) errors from the
SGX kernel driver. The problem is (supposedly) limited to newer versions of our software,
but there are no differences between in the obviuosly relevant parts of the software (kernel,
OpenGL driver, Android framework).
The effects seem to be coupled to previous usage of OpenGL, they first appear (at least visually)
after using an app which makes use of OpenGL.
Has anyone seen problems of this kind? Or any hints where to look further?
[ 5410.569506] Unhandled fault: external abort on non-linefetch (0x1028) at 0xe2000c04 [ 5410.577571] Internal error: : 1028 [#1] PREEMPT ARM [ 5410.582698] Modules linked in: cft3500_tdm_binder(PO) auer_conference(PO) auertoene(O) auertdm(PO) aueransage_de) [ 5410.605089] CPU: 0 PID: 1512 Comm: droid.deskclock Tainted: P W O 3.16.7+ #1 [ 5410.613322] task: de7e1980 ti: de7ec000 task.ti: de7ec000 [ 5410.619106] PC is at OSReadHWReg+0x18/0x24 [pvrsrvkm] [ 5410.624498] LR is at SGXDumpDebugInfo+0x40/0x288 [pvrsrvkm] [ 5410.630354] pc : [<bf00187c>] lr : [<bf019e7c>] psr: 60000013 [ 5410.630354] sp : de7eddc8 ip : de7eddd8 fp : de7eddd4 [ 5410.642415] r10: 00000000 r9 : de7ec000 r8 : e0fe2000 [ 5410.647904] r7 : 00000000 r6 : df69e000 r5 : 00000000 r4 : 00000000 [ 5410.654757] r3 : 60000013 r2 : 00000001 r1 : e2000c04 r0 : e2000000 [ 5410.661618] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 5410.669115] Control: 10c5387d Table: 9e7f4019 DAC: 00000015 [ 5410.675152] Process droid.deskclock (pid: 1512, stack limit = 0xde7ec240) [ 5410.682281] Stack: (0xde7eddc8 to 0xde7ee000) [ 5410.686861] ddc0: de7eddfc de7eddd8 bf019e7c bf001870 00000000 e1155120 [ 5410.695459] dde0: df69e000 00000000 e1155120 00000000 de7ede4c de7ede00 bf01b970 bf019e48 [ 5410.704056] de00: 000003e8 00000001 00000000 bf00c8b0 00000000 00000001 00000001 0f126ce0 [ 5410.712652] de20: 00000000 00000000 00000000 00000000 e0fe2000 e0fe1000 bf0286a8 e0fe1000 [ 5410.721250] de40: de7ede64 de7ede50 bf01c0d0 bf01b874 de7ede84 0f126ce0 de7ede84 de7ede68 [ 5410.729849] de60: bf017b40 bf01c0ac 0000000c df76ee00 de7edebc d81ffac0 de7edeac de7ede88 [ 5410.738445] de80: bf0169ac bf017afc 00000000 d81ffac0 c01c6769 ceabcf00 000005e8 0000002d [ 5410.747043] dea0: de7edef4 de7edeb0 bf004318 bf016930 de7edf34 d81ffac0 00000000 00000069 [ 5410.755640] dec0: 0000001c bed062bc 0000000c bed062b4 00000008 0000000c df25dca0 ceabcf00 [ 5410.764235] dee0: bed06284 c01c6769 de7edf7c de7edef8 c012c414 bf004234 dd0b5738 00000000 [ 5410.772830] df00: dd0b5738 541c0000 de4cc484 dd0b5d68 de7edf34 de7edf20 c01072bc c013725c [ 5410.781430] df20: ceabcf18 ceabcf00 de7edf54 de7edf38 c013725c c007c2ec ddb076c0 00004000 [ 5410.790028] df40: 531af410 bed06284 de7edf6c de7edf58 c0137734 c01371d0 ceabcf01 ceabcf00 [ 5410.798624] df60: bed06284 c01c6769 0000002d de7ec000 de7edfa4 de7edf80 c012c9c8 c012c398 [ 5410.807223] df80: bed06278 00000065 531af410 bed062b4 00000036 c000f624 00000000 de7edfa8 [ 5410.815824] dfa0: c000f400 c012c98c 00000065 531af410 0000002d c01c6769 bed06284 bed06278 [ 5410.824422] dfc0: 00000065 531af410 bed062b4 00000036 531af410 00000000 00000005 531af014 [ 5410.833016] dfe0: 00000008 bed06268 40156173 4014a474 20000010 0000002d 00000000 00000000 [ 5410.841726] [<bf00187c>] (OSReadHWReg [pvrsrvkm]) from [<bf019e7c>] (SGXDumpDebugInfo+0x40/0x288 [pvrsrvkm]) [ 5410.852189] [<bf019e7c>] (SGXDumpDebugInfo [pvrsrvkm]) from [<bf01b970>] (SGXCleanupRequest+0x108/0x110 [pvrsrvk) [ 5410.863279] [<bf01b970>] (SGXCleanupRequest [pvrsrvkm]) from [<bf01c0d0>] (SGXFlushHWRenderTargetKM+0x30/0x38 [p) [ 5410.874915] [<bf01c0d0>] (SGXFlushHWRenderTargetKM [pvrsrvkm]) from [<bf017b40>] (SGXFlushHWRenderTargetBW+0x50/) [ 5410.887190] [<bf017b40>] (SGXFlushHWRenderTargetBW [pvrsrvkm]) from [<bf0169ac>] (BridgedDispatchKM+0x88/0x15c [) [ 5410.898894] [<bf0169ac>] (BridgedDispatchKM [pvrsrvkm]) from [<bf004318>] (PVRSRV_BridgeDispatchKM+0xf0/0x33c [p) [ 5410.910468] [<bf004318>] (PVRSRV_BridgeDispatchKM [pvrsrvkm]) from [<c012c414>] (do_vfs_ioctl+0x88/0x5f4) [ 5410.920531] [<c012c414>] (do_vfs_ioctl) from [<c012c9c8>] (SyS_ioctl+0x48/0x64) [ 5410.928229] [<c012c9c8>] (SyS_ioctl) from [<c000f400>] (ret_fast_syscall+0x0/0x30) [ 5410.936195] Code: e24cb004 e52de004 e8bd4000 e0801001 (e5910000) [ 5410.942601] ---[ end trace 2e8c249e939c8559 ]--- [ 5410.947456] Kernel panic - not syncing: Fatal exception [ 5410.952948] drm_kms_helper: panic occurred, switching back to text console [ 5410.960204] ---[ end Kernel panic - not syncing: Fatal exception
<6>[13316.461648] PVR_K: HWRecoveryResetSGX: SGX Hardware Recovery triggered <6>[13316.461697] PVR_K: SGX debug (SGX_DDK_Android sgxddk MAIN@956079) <6>[13316.461719] PVR_K: (P0) EUR_CR_CORE_ID: 01120000 <6>[13316.461736] PVR_K: (P0) EUR_CR_CORE_REVISION: 00010205 <6>[13316.461752] PVR_K: (P0) EUR_CR_EVENT_STATUS: 20000000 <6>[13316.461768] PVR_K: (P0) EUR_CR_EVENT_STATUS2: 00000008 <6>[13316.461785] PVR_K: (P0) EUR_CR_BIF_CTRL: 00000000 <6>[13316.461801] PVR_K: (P0) EUR_CR_BIF_INT_STAT: 00004002 <6>[13316.461817] PVR_K: (P0) EUR_CR_BIF_FAULT: 00307000 <6>[13316.461832] PVR_K: (P0) EUR_CR_BIF_MEM_REQ_STAT: 00000002 <6>[13316.461849] PVR_K: (P0) EUR_CR_CLKGATECTL: 00222220 <6>[13316.461865] PVR_K: (P0) EUR_CR_PDS_PC_BASE: 0000525C <6>[13316.461886] PVR_K: Found MMU context for page fault 0x00307000 <6>[13316.461902] PVR_K: GPU memory context is for PID=1174 (.android.dialer) <6>[13316.461922] PVR_K: PDE valid: PTE = 0x00000000 (PhysAddr = 0x00000000, Invalid) <6>[13316.461943] PVR_K: Flip Command Complete Data 0 for display device 1: <6>[13316.461960] PVR_K: SRC 0: (Not in use) <6>[13316.461975] PVR_K: SRC 1: (Not in use) <6>[13316.461990] PVR_K: Flip Command Complete Data 1 for display device 1: <6>[13316.462005] PVR_K: SRC 0: (Not in use) <6>[13316.462019] PVR_K: SRC 1: (Not in use) <6>[13316.462058] PVR_K: Host Ctl flags= 00000006 <6>[13316.462073] PVR_K: SGX Host control: <6>[13316.462091] PVR_K: (HC-0) 0x00000001 0x00000000 0x00000000 0x00000001 <6>[13316.462109] PVR_K: (HC-10) 0x00000000 0x00000001 0x0000000A 0x00030D40 <6>[13316.462128] PVR_K: (HC-20) 0x00000003 0x00000000 0x00000003 0x00000000 <6>[13316.462147] PVR_K: (HC-30) 0x00026866 0x001088CC 0x07D3C160 0x00000000 <6>[13316.462166] PVR_K: (HC-40) 0x00000000 0x00000000 0x81019B44 0xB1088681 <6>[13316.462180] PVR_K: SGX TA/3D control: <6>[13316.462199] PVR_K: (T3C-0) 0x0F003000 0x0F003120 0x0F002000 0x00000000 <6>[13316.462218] PVR_K: (T3C-10) 0x0F150DC0 0x00000001 0x00000002 0x00000001 <6>[13316.462236] PVR_K: (T3C-20) 0x0F00AEA0 0x00000000 0x00000000 0x00000000 <6>[13316.462254] PVR_K: (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.462273] PVR_K: (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.462291] PVR_K: (T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.462309] PVR_K: (T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.462327] PVR_K: (T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.462346] PVR_K: (T3C-80) 0x00000000 0x0F15F5F8 0x00000000 0x0F000000 <6>[13316.462365] PVR_K: (T3C-90) 0x9F739000 0x0F13FF80 0x00000000 0x0F119840 <6>[13316.462384] PVR_K: (T3C-A0) 0x0F0BE900 0x0F15F5F8 0x0F119840 0x00000000 <6>[13316.462402] PVR_K: (T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.462421] PVR_K: (T3C-C0) 0x00000000 0x00000000 0x00000001 0x00000001 <6>[13316.462439] PVR_K: (T3C-D0) 0x0F000000 0x8000B000 0x8004B000 0x0F004000 <6>[13316.462458] PVR_K: (T3C-E0) 0x0F00A420 0x0F00A740 0x0F13DCA0 0x0F13DCA0 <6>[13316.462478] PVR_K: (T3C-F0) 0x00000000 0x00000496 0x00000496 0x00000000 <6>[13316.462496] PVR_K: (T3C-100) 0x00000003 0x00000000 0x00000000 0x00000001 <6>[13316.462515] PVR_K: (T3C-110) 0x00000000 0x81019B49 0x86FFB0B0 0x00000000 <6>[13316.462531] PVR_K: SGX Kernel CCB WO:0xCF RO:0xCA <6>[13316.881574] PVR_K: HWRecoveryResetSGX: SGX Hardware Recovery triggered <6>[13316.881622] PVR_K: SGX debug (SGX_DDK_Android sgxddk MAIN@956079) <6>[13316.881642] PVR_K: (P0) EUR_CR_CORE_ID: 01120000 <6>[13316.881659] PVR_K: (P0) EUR_CR_CORE_REVISION: 00010205 <6>[13316.881675] PVR_K: (P0) EUR_CR_EVENT_STATUS: 20000000 <6>[13316.881692] PVR_K: (P0) EUR_CR_EVENT_STATUS2: 00000008 <6>[13316.881708] PVR_K: (P0) EUR_CR_BIF_CTRL: 00000000 <6>[13316.881724] PVR_K: (P0) EUR_CR_BIF_INT_STAT: 00004002 <6>[13316.881740] PVR_K: (P0) EUR_CR_BIF_FAULT: 00307000 <6>[13316.881756] PVR_K: (P0) EUR_CR_BIF_MEM_REQ_STAT: 00000002 <6>[13316.881772] PVR_K: (P0) EUR_CR_CLKGATECTL: 00222220 <6>[13316.881788] PVR_K: (P0) EUR_CR_PDS_PC_BASE: 000058D4 <6>[13316.881809] PVR_K: Found MMU context for page fault 0x00307000 <6>[13316.881827] PVR_K: GPU memory context is for PID=1174 (.android.dialer) <6>[13316.881846] PVR_K: PDE valid: PTE = 0x00000000 (PhysAddr = 0x00000000, Invalid) <6>[13316.881866] PVR_K: Flip Command Complete Data 0 for display device 1: <6>[13316.881883] PVR_K: SRC 0: (Not in use) <6>[13316.881898] PVR_K: SRC 1: (Not in use) <6>[13316.881914] PVR_K: Flip Command Complete Data 1 for display device 1: <6>[13316.881928] PVR_K: SRC 0: (Not in use) <6>[13316.881942] PVR_K: SRC 1: (Not in use) <6>[13316.881957] PVR_K: Host Ctl flags= 00000006 <6>[13316.881971] PVR_K: SGX Host control: <6>[13316.881989] PVR_K: (HC-0) 0x00000001 0x00000000 0x00000000 0x00000001 <6>[13316.882008] PVR_K: (HC-10) 0x00000000 0x00000002 0x0000000A 0x00030D40 <6>[13316.882050] PVR_K: (HC-20) 0x00000003 0x00000000 0x00000003 0x00000000 <6>[13316.882071] PVR_K: (HC-30) 0x0002686A 0x001088EA 0x07DA2A00 0x00000000 <6>[13316.882090] PVR_K: (HC-40) 0x00000000 0x00000000 0x81019B44 0xB1088681 <6>[13316.882104] PVR_K: SGX TA/3D control: <6>[13316.882123] PVR_K: (T3C-0) 0x0F003000 0x0F003120 0x0F002000 0x00000000 <6>[13316.882142] PVR_K: (T3C-10) 0x00000000 0x00000001 0x00000002 0x00000001 <6>[13316.882161] PVR_K: (T3C-20) 0x0F00AEA0 0x00000000 0x00000000 0x00000000 <6>[13316.882179] PVR_K: (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.882197] PVR_K: (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.882215] PVR_K: (T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.882234] PVR_K: (T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.882252] PVR_K: (T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.882271] PVR_K: (T3C-80) 0x00000000 0x0F15F638 0x00000000 0x0F000000 <6>[13316.882290] PVR_K: (T3C-90) 0x9F739000 0x0F142440 0x00000000 0x0F119840 <6>[13316.882309] PVR_K: (T3C-A0) 0x0F0BE900 0x0F15F638 0x0F119840 0x00000000 <6>[13316.882327] PVR_K: (T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13316.882345] PVR_K: (T3C-C0) 0x00000000 0x00000000 0x00000004 0x00000004 <6>[13316.882365] PVR_K: (T3C-D0) 0x0F000000 0x8000B000 0x8004B000 0x0F004000 <6>[13316.882384] PVR_K: (T3C-E0) 0x0F00A420 0x0F00A740 0x0F13DCA0 0x0F13DCA0 <6>[13316.882403] PVR_K: (T3C-F0) 0x00000000 0x00000496 0x00000496 0x00000000 <6>[13316.882421] PVR_K: (T3C-100) 0x00000003 0x00000000 0x00000000 0x00000001 <6>[13316.882441] PVR_K: (T3C-110) 0x00000000 0x81019B49 0x86FFB0B0 0x00000000 <6>[13316.882457] PVR_K: SGX Kernel CCB WO:0xE5 RO:0xE0 <6>[13375.421545] PVR_K: HWRecoveryResetSGX: SGX Hardware Recovery triggered <6>[13375.421594] PVR_K: SGX debug (SGX_DDK_Android sgxddk MAIN@956079) <6>[13375.421615] PVR_K: (P0) EUR_CR_CORE_ID: 01120000 <6>[13375.421633] PVR_K: (P0) EUR_CR_CORE_REVISION: 00010205 <6>[13375.421649] PVR_K: (P0) EUR_CR_EVENT_STATUS: 20000000 <6>[13375.421665] PVR_K: (P0) EUR_CR_EVENT_STATUS2: 00000008 <6>[13375.421681] PVR_K: (P0) EUR_CR_BIF_CTRL: 00000000 <6>[13375.421697] PVR_K: (P0) EUR_CR_BIF_INT_STAT: 00004002 <6>[13375.421713] PVR_K: (P0) EUR_CR_BIF_FAULT: 00307000 <6>[13375.421729] PVR_K: (P0) EUR_CR_BIF_MEM_REQ_STAT: 00000002 <6>[13375.421745] PVR_K: (P0) EUR_CR_CLKGATECTL: 00222220 <6>[13375.421761] PVR_K: (P0) EUR_CR_PDS_PC_BASE: 00005C7C <6>[13375.421781] PVR_K: Found MMU context for page fault 0x00307000 <6>[13375.421798] PVR_K: GPU memory context is for PID=1174 (.android.dialer) <6>[13375.421817] PVR_K: PDE valid: PTE = 0x00000000 (PhysAddr = 0x00000000, Invalid) <6>[13375.421837] PVR_K: Flip Command Complete Data 0 for display device 1: <6>[13375.421854] PVR_K: SRC 0: (Not in use) <6>[13375.421869] PVR_K: SRC 1: (Not in use) <6>[13375.421884] PVR_K: Flip Command Complete Data 1 for display device 1: <6>[13375.421899] PVR_K: SRC 0: (Not in use) <6>[13375.421913] PVR_K: SRC 1: (Not in use) <6>[13375.421928] PVR_K: Host Ctl flags= 00000006 <6>[13375.421942] PVR_K: SGX Host control: <6>[13375.421960] PVR_K: (HC-0) 0x00000001 0x00000000 0x00000000 0x00000001 <6>[13375.421979] PVR_K: (HC-10) 0x00000000 0x00000003 0x0000000A 0x00030D40 <6>[13375.421997] PVR_K: (HC-20) 0x00000003 0x00000000 0x00000003 0x00000000 <6>[13375.422016] PVR_K: (HC-30) 0x000268B1 0x00108AFB 0x0B5769E0 0x00000000 <6>[13375.422066] PVR_K: (HC-40) 0x00000000 0x00000000 0x81019B44 0xB1088681 <6>[13375.422082] PVR_K: SGX TA/3D control: <6>[13375.422101] PVR_K: (T3C-0) 0x0F003000 0x0F003120 0x0F002000 0x00000000 <6>[13375.422120] PVR_K: (T3C-10) 0x0F171FC0 0x00000001 0x00000002 0x00000001 <6>[13375.422138] PVR_K: (T3C-20) 0x0F0E16A0 0x00000000 0x00000000 0x00000000 <6>[13375.422157] PVR_K: (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13375.422175] PVR_K: (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13375.422193] PVR_K: (T3C-50) 0x00000000 0x0F0BE900 0x00000000 0x00000000 <6>[13375.422212] PVR_K: (T3C-60) 0x0F00AEA0 0x00000000 0x00000000 0x00000000 <6>[13375.422230] PVR_K: (T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13375.422248] PVR_K: (T3C-80) 0x00000000 0x0F15F5F8 0x00000000 0x0F000000 <6>[13375.422267] PVR_K: (T3C-90) 0x9F739000 0x0F1443C0 0x00000000 0x0F119840 <6>[13375.422286] PVR_K: (T3C-A0) 0x0F0BE900 0x0F15F5F8 0x0F119840 0x00000000 <6>[13375.422305] PVR_K: (T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000 <6>[13375.422322] PVR_K: (T3C-C0) 0x00000000 0x00000000 0x00000009 0x00000009 <6>[13375.422342] PVR_K: (T3C-D0) 0x0F000000 0x8000B000 0x8004B000 0x0F004000 <6>[13375.422361] PVR_K: (T3C-E0) 0x0F00A420 0x0F00A740 0x0F13DCA0 0x0F13DCA0 <6>[13375.422379] PVR_K: (T3C-F0) 0x00000000 0x00000496 0x00000496 0x00000000 <6>[13375.422398] PVR_K: (T3C-100) 0x00000003 0x00000001 0x00000000 0x00000000 <6>[13375.422417] PVR_K: (T3C-110) 0x00000000 0x81019B49 0x86FFB0B0 0x00000000 <6>[13375.422433] PVR_K: SGX Kernel CCB WO:0x6D RO:0x61

