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.

m3Video Unhandled Exception problem, how can i trace and fixed the issues?

Other Parts Discussed in Thread: SYSBIOS, TPS40400

My Environment:

hardware: our custom DM8168  borad 

software:  DVRRDK_03.50.00.05 ,  our APP base on MCFW;  

Our APP is receive network realtime H.264 and AAC stream then input to MCFW to decode and display through HDMI port;  (H.264 decoded by MCFW m3video, AAC decode by faad decoder )

but below m3video exception may be occur sometimes then MCFW is abnormal.:

------------------------------------------------------------------------------------------------------

[m3video] Unhandled Exception:
[m3video] Exception occurred in ThreadType_Task
[m3video] handle: 0x3cf21ff8.
[m3video] stack base: 0x3d955440.
[m3video] stack size: 0x8000.
[m3video] R0 = 0xe014f8df R8 = 0x3d51f038
[m3video] R1 = 0x3d95d394 R9 = 0xffffffff
[m3video] R2 = 0xe014f8df R10 = 0x3d51f004
[m3video] R3 = 0x00000000 R11 = 0x00000000
[m3video] R4 = 0x9cca2a54 R12 = 0x0032c0c1
[m3video] R5 = 0x00000001 SP(R13) = 0x3d95d390
[m3video] R6 = 0x3d95d3d4 LR(R14) = 0x9cc24a3d
[m3video] R7 = 0x3d51f000 PC(R15) = 0x9cc24a40
[m3video] PSR = 0x21000000
[m3video] ICSR = 0x00400803
[m3video] MMFSR = 0x00
[m3video] BFSR = 0x82
[m3video] UFSR = 0x0000
[m3video] HFSR = 0x40000000
[m3video] DFSR = 0x00000000
[m3video] MMAR = 0xe014f8eb
[m3video] BFAR = 0xe014f8eb
[m3video] AFSR = 0x00000000
[m3video] Terminating Execution...

------------------------------------------------------------------------------------------------------

or 

[m3video] Unhandled Exception:
[m3video] Exception occurred in ThreadType_HWI
[m3video] handle: 0x9cca0638.
[m3video] stack base: 0x3d9921d0.
[m3video] stack size: 0x4000.
[m3video] R0 = 0x9cbf57d0 R8 = 0x9cbf5448
[m3video] R1 = 0x0110564f R9 = 0x0000000f
[m3video] R2 = 0x00000001 R10 = 0x00000000
[m3video] R3 = 0x9cca0164 R11 = 0x9cbf544c
[m3video] R4 = 0x9cca0638 R12 = 0x3d98e918
[m3video] R5 = 0x9cbf5110 SP(R13) = 0x3d9960f8
[m3video] R6 = 0x00000001 LR(R14) = 0x9cc2ba9b
[m3video] R7 = 0x9cbf5450 PC(R15) = 0x9cc20fc2
[m3video] PSR = 0x6100000f
[m3video] ICSR = 0x00400003
[m3video] MMFSR = 0x00
[m3video] BFSR = 0x82
[m3video] UFSR = 0x0000
[m3video] HFSR = 0x40000000
[m3video] DFSR = 0x00000000
[m3video] MMAR = 0x0110564f
[m3video] BFAR = 0x0110564f
[m3video] AFSR = 0x00000000
[m3video] Terminating Execution...

------------------------------------------------------------------------------------------------------

Any experts can help me to fix this issue,  How can i  trace and fix it?

  • Pls do the following to get more debug info:

    1.Modify

    /dvr_rdk/mcfw/src_bios6/utils/src/utils_execp_trace.c

    static
    Void utils_exception_send_notify_to_host()
    {
        UInt32 curProcId = System_getSelfProcId();

        /* System_ipcSendNotify(SYSTEM_HOST_LINK_ID_EXCEPTION_NOTIFY_BASE + curProcId); */ 
    }

    to

    static
    Void utils_exception_send_notify_to_host()
    {
        UInt32 curProcId = System_getSelfProcId();

        System_ipcSendNotify(SYSTEM_HOST_LINK_ID_EXCEPTION_NOTIFY_BASE + curProcId);
    }

     

    and rebuild dvr_rdk using make dvr_rdk.

    2. Regsiter for event handler in your application .

    Refer /dvr_rdk/demos/mcfw_api_demos/mcfw_demo/demo.c

      Vsys_registerEventHandler(Demo_eventHandler, NULL);

      Also copy the implementation of Demo_eventHandler in the same file into your application mainly the function

      Demo_printSlaveCoreExceptionContext()

    3. After doing 1 & 2 when exception occurs you should see a CRASH_INFO_M3_VIDEO.txt file getting generated.

       Attach that file along with all files under /dvr_rdk/build/dvr_rdk/bin/ti816x-evm and share it for further analysis

  • Hi  :

        Thanks for your reply,  I will trace the problem according to your suggestion.

  • Hi  :

         I save the log about the problem, but this time is m3vpss  Unhandled Exception; I will re-running my APP again.

    below is log and dump files.

    743311:!!!SLAVE CORE [VPSS-M3] DOWN!!!
    SystemLink_copySlaveCoreExceptionContext:120
    mmap of [0xbe9e0000:36864]
    mmap virt addresss:0x4002f000
    munmap of [0x4002f000:36864]
    SystemLink_copySlaveCoreExceptionContext:127
    SystemLink_handleSlaveCoreException:149
    [---WARNING---][main.c][Demo_eventHandler][70]App Receive eventId: 4
    
    
    743319:!!!SLAVE CORE DOWN!!!.EXCEPTION INFO DUMP
    
     !!HW EXCEPTION ACTIVE (0/1): [1]
    
     !!EXCEPTION CORE NAME      : [VPSS-M3]
    
     !!EXCEPTION TASK NAME      : [SWMS0]
    
     !!EXCEPTION LOCATION       : []
    
     !!EXCEPTION INFO           : [H/W EXCEPTION]
     [m3vpss ] Unhandled Exception:
     [m3vpss ] Exception occurred in ThreadType_Task
     [m3vpss ] handle: 0x3ec92e60.
     [m3vpss ] stack base: 0x3ec21740.
     [m3vpss ] stack size: 0x8000.
     [m3vpss ] R0 = 0xc9f3b6e0  R8  = 0x9da2aa44
     [m3vpss ] R1 = 0x00000002  R9  = 0x00000000
     [m3vpss ] R2 = 0x679654cc  R10 = 0x9dbf7cf4
     [m3vpss ] R3 = 0x00000001  R11 = 0xffffffff
     [m3vpss ] R4 = 0x9dbf7cf4  R12 = 0x9da0e1e9
     [m3vpss ] R5 = 0x9dbf430c  SP(R13) = 0x3ed7c820
     [m3vpss ] R6 = 0x3ec92e60  LR(R14) = 0x9da18927
     [m3vpss ] R7 = 0x9dbf7cf4  PC(R15) = 0x9d9fff98
     [m3vpss ] PSR = 0x31000200
     [m3vpss ] ICSR = 0x0440f803
     [m3vpss ] MMFSR = 0x00
     [m3vpss ] BFSR = 0x82
     [m3vpss ] UFSR = 0x0000
     [m3vpss ] HFSR = 0x40000000
     [m3vpss ] DFSR = 0x00000000
     [m3vpss ] MMAR = 0x679654d8
     [m3vpss ] BFAR = 0x679654d8
     [m3vpss ] AFSR = 0x00000000
     [m3vpss ] Terminating Execution...
    
     !!EXCEPTION CCS CRASH DUMP FORMAT FILE STORED @ ./CCS_CRASH_DUMP_VPSS-M3.txt
    SystemLink_handleSlaveCoreException:154

    6330.CCS_CRASH_DUMP_VPSS-M3.txt

         thanks for your help.

  • Pls zip all files under  /dvr_rdk/build/dvr_rdk/bin/ti816x-evm folder and attach to this post. Rename to .txt extension to allow it to attach the file

  • HI  Badri Narayanan:

         attach file is my  DVRRDK_03.50.00.05\dvr_rdk\bin\ti816x.

    6683.ti816x.part01.rar

    7725.ti816x.part02.rar

  • HI  Badri Narayanan:

         attach files is log and dump file of VIDEO-M3 crash.

         thanks for help.

    36433032:!!!SLAVE CORE [VIDEO-M3] DOWN!!!
    SystemLink_copySlaveCoreExceptionContext:120
     [m3video] Unhandled Exception:
     [m3video] Exception occurred in ThreadType_Task
     [m3video] handle: 0x3cf21ff8.
     [m3video] stack base: 0x3d955440.
     [m3video] stack size: 0x8000.
     [m3video] R0 = 0x68004808  R8  = 0x3d5c34ec
     [m3video] R1 = 0x00000000  R9  = 0x00000002
     [m3video] R2 = 0x9cca27cc  R10 = 0x3d51f004
     [m3video] R3 = 0x00000000  R11 = 0x00000001
     [m3video] R4 = 0x68004808  R12 = 0x9cc27a1d
     [m3video] R5 = 0x00000010  SP(R13) = 0x3d95d300
     [m3video] R6 = 0x00000000  LR(R14) = 0x9cc27a8b
     [m3video] R7 = 0x00000000  PC(R15) = 0x9cc284be
     [m3video] PSR = 0x21000000
     [m3video] ICSR = 0x0440f803
     [m3video] MMFSR = 0x00
     [m3video] BFSR = 0x82
     [m3video] UFSR = 0x0000
     [m3video] HFSR = 0x40000000
     [m3video] DFSR = 0x00000000
     [m3video] MMAR = 0x68004848
     [m3video] BFAR = 0x68004848
     [m3video] AFSR = 0x00000000
     [m3video] Terminating Execution...
    mmap of [0xbe9c0000:36864]
    mmap virt addresss:0x4005d000
    munmap of [0x4005d000:36864]
    SystemLink_copySlaveCoreExceptionContext:127
    SystemLink_handleSlaveCoreException:149
    [---WARNING---][main.c][Demo_eventHandler][70]App Receive eventId: 4
    
    
    36433038:!!!SLAVE CORE DOWN!!!.EXCEPTION INFO DUMP
    
     !!HW EXCEPTION ACTIVE (0/1): [1]
    
     !!EXCEPTION CORE NAME      : [VIDEO-M3]
    
     !!EXCEPTION TASK NAME      : [DEC0   ]
    
     !!EXCEPTION LOCATION       : []
    
     !!EXCEPTION INFO           : [H/W EXCEPTION]
    
     !!EXCEPTION CCS CRASH DUMP FORMAT FILE STORED @ ./CCS_CRASH_DUMP_VIDEO-M3.txt
    SystemLink_handleSlaveCoreException:154

    0638.CCS_CRASH_DUMP_VIDEO-M3.txt

  • The crash is happening in both cases in the sysbios functions and there are no s/w issues in the portion of the code where the processor crashed.. The issue looks to be a board issue. The most common board issue seen on 816x are:

    1. Power Supply Issue due to wrong AVS configuration/Power supply glitch to DM816x core on 1V AVS line

    2. DDR issue due to byte wise s/w leveling not done / DDR layout issue / Power supply glitch in DDR constant voltage line.

     

    This issue looks more likely to be AVS issue  as I don't see any memory corruption in the crash logs but I cant be sure. Pls confirm you did not see any decode errors reported before the crash occurred.

    Debugging your board issues will take time and is difficult to support this debug on the forum .It would help if you contact your FAE for further assistance.

    Based on past debug here are somethings you can try at your end.

    1. Confirm the PMIC you are using on your board that controls the supply to 1V AVS line.

    2. Check the configuration of the PMIC regulator is correct in the kernel. The UDDVR uses tps40400 regulator and if you are using the same you should have identical configuration. If you are using a different PMIC you have to configure it correctly to set OC fault limit,nominal voltage etc.

    3. If you have confirmed all PMIC configuration is correct, next try disabling AVS for debug purpose and set the PMIC to output constant 1.05V

    4. Measure the current ripple on the DM816x on your board with constant voltage and confirm it is within spec of +- 5%.

    5. If it still fails modify your board to supply voltage directly from a _very_ _high_ _quality_ external power supply and check the system stability . The external power supply should be a   linear power supply.

     

    For debugging DDR configuration issues

    1. Ensure byte wise s/w leveling is done correctly.

    2. Ensure you are using uboot from the RDK 3.5 release.

    3. Try supplying the DDR 1V constant from a high quality external power supply and check the stability.

    4. Try reducing the DDR frequency and check if it improves stability.

    5. If 1-4 doesn't help you will have to have your board layout reviewed for compliance with 8168 layout guidelines.

     

     

     

  • Hi  Badri Narayanan:

    1)  I will re-check is it there any  "decode errors" before crash occurred.

    2)  I will let my hardware engineer check our custom board cfg according to your suggestions.

    thank you very much for your quick reply.