Kindle Fire SGX HW recovery

This topic contains 7 replies, has 2 voices, and was last updated by  Joe Davis 5 years, 4 months ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #30909

    uyoung.liu
    Member

    does the issue resolved?

    any recent news about the issue?
    I’ve met the same issue, and want some help
    once in freeze, I’ve got the logcat info below:

    logcat log

    01-19 10:36:27.898: I/cat(1575): <6>[69576.446197] PVR_K: HWRecoveryResetSGX: SGX Hardware Recovery triggered

    01-19 10:36:27.898: I/cat(1575): <6>[69576.446258] PVR_K: SGX debug (1.7.17.4958)

    01-19 10:36:27.898: I/cat(1575): <6>[69576.446319] PVR_K: (P0) EUR_CR_CORE_ID:          01140000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446350] PVR_K: (P0) EUR_CR_CORE_REVISION:    00010200

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446380] PVR_K: (P0) EUR_CR_EVENT_STATUS:     20000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446411] PVR_K: (P0) EUR_CR_EVENT_STATUS2:    00000010

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446472] PVR_K: (P0) EUR_CR_BIF_CTRL:         00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446502] PVR_K: (P0) EUR_CR_BIF_INT_STAT:     0000C002

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446533] PVR_K: (P0) EUR_CR_BIF_FAULT:        0D820000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446563] PVR_K: (P0) EUR_CR_BIF_MEM_REQ_STAT: 00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446624] PVR_K: (P0) EUR_CR_CLKGATECTL:       000AAA6A

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446655] PVR_K: (P0) EUR_CR_PDS_PC_BASE:      002031D8

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446685] PVR_K: Flip Command Complete Data 0 for display device 1:

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446746] PVR_K:      SRC 0: (Not in use)

    01-19 10:36:27.906: I/cat(1575): <6>[69576.446777] PVR_K:      SRC 1: (Not in use)

    01-19 10:36:27.906: I/cat(1575): <6>[69576.451416] PVR_K: SGX Host control:

    01-19 10:36:27.906: I/cat(1575): <6>[69576.451477] PVR_K:      (HC-0) 0x00000000 0x00000000 0x00000000 0x00000001

    01-19 10:36:27.906: I/cat(1575): <6>[69576.451538] PVR_K:      (HC-10) 0x0000004C 0x0000000A 0x0004B000 0x00000003

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452697] PVR_K:      (HC-20) 0x00000000 0x00000001 0x00000000 0x00027477

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452728] PVR_K:      (HC-30) 0x02FDCF4E 0x05DDD21C 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452789] PVR_K:      (HC-40) 0x00000000 0x00000000 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452819] PVR_K: SGX TA/3D control:

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452850] PVR_K:      (T3C-0) 0x0F003000 0x0F003120 0x0F002000 0x0F05C900

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452911] PVR_K:      (T3C-10) 0x00000001 0x00000002 0x00000001 0x0F00AA60

    01-19 10:36:27.906: I/cat(1575): <6>[69576.452941] PVR_K:      (T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453002] PVR_K:      (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453033] PVR_K:      (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453094] PVR_K:      (T3C-50) 0x0F045C40 0x00000000 0x00000000 0x0F045C40

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453125] PVR_K:      (T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453155] PVR_K:      (T3C-70) 0x0F045C40 0x00000000 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453216] PVR_K:      (T3C-80) 0x00000000 0x0F045EF8 0x0F000000 0xBFD24000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453277] PVR_K:      (T3C-90) 0x0F059200 0x0F045EF8 0x0F096000 0x0F045C40

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453308] PVR_K:      (T3C-A0) 0x00000000 0x0F01F420 0x00000000 0x0F045CA0

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453369] PVR_K:      (T3C-B0) 0x00120400 0x0010037B 0x00000000 0x00000000

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453399] PVR_K:      (T3C-C0) 0x00000002 0x00000000 0x0002D016 0x0002D016

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453460] PVR_K:      (T3C-D0) 0x0F004000 0x0F00A420 0x0F00B000 0x0F01FC20

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453491] PVR_K:      (T3C-E0) 0x0F01FC20 0x00000000 0x00005491 0x000006E5

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453552] PVR_K:      (T3C-F0) 0x00000000 0x00000000 0x00000000 0xA6D3F7B5

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453582] PVR_K:      (T3C-100) 0x00000005 0xE6038B8F 0x535F5245 0x31544154

    01-19 10:36:27.906: I/cat(1575): <6>[69576.453643] PVR_K: SGX Kernel CCB WO:0xD2 RO:0x88




    #35964

    Joe Davis
    Member

    Hi uyoung.liu,

    Can you share a minimal reproduction that reproduces the crash with is for further investigation?

    Regards,
    Joe

    #35965

    uyoung.liu
    Member

    Hi Joe,
    Thanks for help.
    We’ve spent two weeks+ on this issue, but still can’t fix it.
    The driver is /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403
    The Device is KindleFire(6.3.1, Android 2.3), we also have another Android Phone with the the same driver has the same issue.
    here is the device detail:
    Kindle Fire:
    Version 1.7.17.4403 (release) omap_sgx_android
    System Version String: SGX revision = 1.2.0
    LibFile:
    libEGL_POWERVR_SGX540_120.so
    libEGL_POWERVR_SGX540_120.so.1.1.17.4403
    libGLESv1_CM_POWERVR_SGX540_120.so
    libGLESv1_CM_POWERVR_SGX540_120.so.1.1.17.4403
    libGLESv2_POWERVR_SGX540_120.so
    libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403

    below is another two pvr device which works fine:
    Fujitsu ArrowsXLTE:
    Version 1.7.17.4958 (release) omap_sgx_android
    System Version String: SGX revision = 1.2.0
    LibFile:
    libEGL_POWERVR_SGX540_120.so
    libEGL_POWERVR_SGX540_120.so.1.1.17.4958
    libGLESv1_CM_POWERVR_SGX540_120.so
    libGLESv1_CM_POWERVR_SGX540_120.so.1.1.17.4958
    libGLESv2_POWERVR_SGX540_120.so
    libGLESv2_POWERVR_SGX540_120.so.1.1.17.4958

    Galaxy Player4.2:
    Version 1.7.17.4403 (release) omap_sgx_android
    System Version String: SGX revision = 1.2.5
    LibFile:
    libEGL_POWERVR_SGX530_125.so
    libGLESv1_CM_POWERVR_SGX530_125.so
    libGLESv2_POWERVR_SGX530_125.so

    it’s very hard to locate the reason cause the freeze, because:
    1. we can’t get any useful error msg(glGeError, logcat, also try PVRTrace, but it won’t work on KindleFire)
    2.the program freeze randomly in glDraw Function, it doesn’t freeze in specific draw call.

    I will try to provide an apk file if you want.

    Thanks

    #35966

    Joe Davis
    Member

    Hi,

    I’ve created a new topic for this conversation. For the benefit of anyone else reading, this spawned from a similar topic here.

    That’s interesting that the Kindle Fire has the bug, but the Galaxy Player 4.2 doesn’t even though they have come from the same reference driver. It could, of course, be an SGX 540 specific problem that newer drivers have fixed. I’ll discuss the issue with our driver team to see if they know what the cause of the problem may be.

    PVRTrace recording will work on any rooted Android device.If it’s failing to record, then your pvrtrace.cfg file may be set incorrectly or the libraries may be installed in an incorrect directory.

    An .apk would be great. Please send this to devtech@imgtec.com.

    Regards,
    Joe

    #35967

    Joe Davis
    Member

    Hi,

    I’ve just spotted that the driver version in the Kindle Fire crash log is different from the driver version number that you’ve written in your last post. Were both driver version strings taken from the same Kindle Fire? Were any system updates applied to the Kindle Fire between the crash and the second driver version query you did?

    Regards,
    Joe

    #35968

    uyoung.liu
    Member

    Hi Joe,

    Thanks for help

    Sorry, I didn’t say it clearly.
    the log above comes from Fujitsu ArrowsXLTE(1.7.17.4958),
    1.7.17.4958 works fine for most of the time.
    but it still die(freeze) once, and this is the log when it die.
    Kindle Fire(1.7.17.4403) die(freez) very often. but no error message at all.

    I’ve just replace the Kindle Fire’s GL driver(1.7.17.4403) with the driver from ArrowsXLTE(1.7.17.4958),
    and the program works fine.
    so I think the issue(glDraw freeze) should be fixed in 1.7.17.4958, or may be not totally fixed since I got the log above.

    the problem is We don’t know when KindleFire will update it’s GL driver.

    would you please check the changes between 1.7.17.4403 and 1.7.17.4958?
    if there are not too much change, it should be easy to know the reason for the glDraw freezing issue.

    Thanks a lot.

    PS: Replace GL driver means:
    rm /system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
    ln -s /system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so.1.1.17.4958 /system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
    rm /system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
    ln -s /system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so.1.1.17.4958 /system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
    rm /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
    ln -s /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4958 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
    rm /system/vendor/lib/libIMGegl.so
    ln -s /system/vendor/lib/libIMGegl.so.1.1.17.4958 /system/vendor/lib/libIMGegl.so
    rm /system/vendor/lib/libglslcompiler.so
    ln -s /system/vendor/lib/libglslcompiler.so.1.1.17.4958 /system/vendor/lib/libglslcompiler.so
    rm /system/vendor/lib/libpvr2d.so
    ln -s /system/vendor/lib/libpvr2d.so.1.1.17.4958 /system/vendor/lib/libpvr2d.so
    rm /system/vendor/lib/libpvrANDROID_WSEGL.so
    ln -s /system/vendor/lib/libpvrANDROID_WSEGL.so.1.1.17.4958 /system/vendor/lib/libpvrANDROID_WSEGL.so
    rm /system/vendor/lib/libusc.so
    ln -s /system/vendor/lib/libusc.so.1.1.17.4958 /system/vendor/lib/libusc.so

    uyoung.liu

    #35969

    uyoung.liu
    Member

    Hi Joe,

    Thanks for help.

    There is another bug for 1.7.17.4403(Kindle Fire), 1.7.17.4958(ArrowsXLTE) works fine.
    while I tried to use glProgramBinaryOES
    the program will crash, here is the code and logcat:



    C++ Code:
         NNM_TRACE(“myglProgramBinaryOES0 ShaderName: %s (%d)n”, szShaderName, pProgram);
         myglProgramBinaryOES(pProgram, *((GLenum*)_am_std_shader_buf), (_am_std_shader_buf+sizeof(GLenum)), fsize-sizeof(GLenum));
         NNM_GL_CHECKERROR(pShaderManager);
         glGetProgramiv(pProgram, GL_LINK_STATUS, &Linked);
         NNM_TRACE(“myglProgramBinaryOES1 ShaderName: %s (%d)n”, szShaderName, Linked);

    07-03 10:31:31.054: E/foxLog(3517): myglGetProgramBinaryOES abe01f24, myglProgramBinaryOES: abe01f40
    07-03 10:31:31.054: E/foxLog(3517): myglProgramBinaryOES0 ShaderName: B000400020801B6D (70001)
    07-03 10:31:31.054: E/foxLog(3517): myglProgramBinaryOES1 ShaderName: B000400020801B6D (1)
    07-03 10:31:31.156: I/DEBUG(1301): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    07-03 10:31:31.156: I/DEBUG(1301): Build fingerprint: ‘generic/blaze/blaze:2.3.4/GINGERBREAD/6.3.1_user_4107720:user/release-keys’
    07-03 10:31:31.156: I/DEBUG(1301): pid: 3517, tid: 3529 >>> com.sega.sonic4ep2 <<<
    07-03 10:31:31.156: I/DEBUG(1301): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000084
    07-03 10:31:31.156: I/DEBUG(1301): r0 ffffffff r1 00000000 r2 00000000 r3 00000000
    07-03 10:31:31.156: I/DEBUG(1301): r4 00000000 r5 0024ab48 r6 00000000 r7 002a1278
    07-03 10:31:31.156: I/DEBUG(1301): r8 00000000 r9 00000000 10 00000000 fp 00000000
    07-03 10:31:31.156: I/DEBUG(1301): ip 00000000 sp 46c3a5c0 lr 8262bf84 pc 82632fa8 cpsr 60000110
    07-03 10:31:31.156: I/DEBUG(1301): d0 53746867694c5f6f d1 6e696e6968732e75
    07-03 10:31:31.156: I/DEBUG(1301): d2 bf88182000000072 d3 3feec709dc3a0363
    07-03 10:31:31.156: I/DEBUG(1301): d4 3df0100000000000 d5 bfd4eb207661b06e
    07-03 10:31:31.156: I/DEBUG(1301): d6 3ff0000000000000 d7 0000000043000000
    07-03 10:31:31.156: I/DEBUG(1301): d8 0000000000000000 d9 0000000000000000
    07-03 10:31:31.156: I/DEBUG(1301): d10 0000000000000000 d11 0000000000000000
    07-03 10:31:31.156: I/DEBUG(1301): d12 0000000000000000 d13 0000000000000000
    07-03 10:31:31.156: I/DEBUG(1301): d14 0000000000000000 d15 0000000000000000
    07-03 10:31:31.156: I/DEBUG(1301): d16 3ff0000000000000 d17 3ff0000000000000
    07-03 10:31:31.156: I/DEBUG(1301): d18 3ff0000000000000 d19 bfa659f1991804da
    07-03 10:31:31.156: I/DEBUG(1301): d20 4000000000000000 d21 3f114bb9d8dce7e0
    07-03 10:31:31.156: I/DEBUG(1301): d22 bebbac1745c2173a d23 bfd3e3cf7aaa5000
    07-03 10:31:31.156: I/DEBUG(1301): d24 3e66376972bea4d0 d25 bff0000000000000
    07-03 10:31:31.156: I/DEBUG(1301): d26 3fefc00000000000 d27 bfa659f1991804d9
    07-03 10:31:31.156: I/DEBUG(1301): d28 c0029d640ecc360e d29 bfd3e3cfd82f05e6
    07-03 10:31:31.156: I/DEBUG(1301): d30 bc636298ebda066f d31 be77612d79800000
    07-03 10:31:31.156: I/DEBUG(1301): scr 6000001a
    07-03 10:31:31.218: I/DEBUG(1301):          #00 pc 00032fa8 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403
    07-03 10:31:31.218: I/DEBUG(1301):          #01 lr 8262bf84 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403
    07-03 10:31:31.218: I/DEBUG(1301): code around pc:
    07-03 10:31:31.218: I/DEBUG(1301): 82632f88 e78e1107 e594e080 e08ee086 e08ee003
    07-03 10:31:31.218: I/DEBUG(1301): 82632f98 e1ce10b4 1affffd6 e28cc001 e2833078
    07-03 10:31:31.218: I/DEBUG(1301): 82632fa8 e5942084 e15c0002 3affffcd e1a00005
    07-03 10:31:31.218: I/DEBUG(1301): 82632fb8 e1a01004 eb001551 e3500000 0a00003a
    07-03 10:31:31.218: I/DEBUG(1301): 82632fc8 e1a00005 e1a01004 eb0013a6 e3500000
    07-03 10:31:31.218: I/DEBUG(1301): code around lr:
    07-03 10:31:31.218: I/DEBUG(1301): 8262bf64 e595040c eb001bbf e59731ac e35a0000
    07-03 10:31:31.218: I/DEBUG(1301): 8262bf74 e595040c 15931078 05931074 eb001bd1
    07-03 10:31:31.218: I/DEBUG(1301): 8262bf84 e3500000 e1a06000 1a000006 e1a00005
    07-03 10:31:31.218: I/DEBUG(1301): 8262bf94 e3001505 ebffa8e5 e1a00004 ebff5ba7
    07-03 10:31:31.218: I/DEBUG(1301): 8262bfa4 e3a09007 ea000190 e1d031bc e3530000
    07-03 10:31:31.218: I/DEBUG(1301): stack:
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a580 00000020
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a584 002a1e50
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a588 00000060
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a58c 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a590 00247134
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a594 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a598 00000190
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a59c 002a1938
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5a0 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5a4 002a1278
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5a8 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5ac 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5b0 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5b4 afd144e3 /system/lib/libc.so
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5b8 df002777
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5bc e3a070ad
    07-03 10:31:31.218: I/DEBUG(1301): #00 46c3a5c0 002a7738
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5c4 002a1938
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5c8 00245cf0
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5cc 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5d0 002a1278
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5d4 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5d8 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5dc 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5e0 00000000
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5e4 8262bf84 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5e8 002a16f0
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5ec 002a1278
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5f0 4777b280
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5f4 8262cfd0 /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5f8 46c3a61c
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a5fc 816c28b8
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a600 46c3a610
    07-03 10:31:31.218: I/DEBUG(1301):     46c3a604 00000000


    maybe 1.7.17.4403(Kindle Fire) just can’t use glProgramBinaryOES?

    Thanks
    uyoung.liu

    #35970

    Joe Davis
    Member

    Hi,

    I’ve spoken to our driver team, but they aren’t sure what the cause of the problem is. Have you been able to resolve the issue yet? Can you provide us with a minimal reproduction for this problem?

    I’ve ran our OGLES2ShaderBinary training course on our Kindle Fire, and it has been able to retrieve and then reload the shader binary successfully. Can you compare your code against our OGLES2ShaderBinary code? This should help you isolate the cause of the problem.

    Thanks,
    Joe

Viewing 8 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic.