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.

System assertion when stop demo code

Hi,

I am working on ti814x evm board and using rdk 3.0.

I meet an system exception problem when I stop demo "decode display" example. Log show below. What reason cause this?

Thanks,

Jacson

 [m3vpss ]  
 [m3vpss ]  43953: Assertion @ Line: 100 in utils/src/utils_tiler_allocator.c: pObj->rawMemHeap == HeapMem_handle(&pObj->rawMemHeapObj) : failed !!!


8606:!!!SLAVE CORE [VPSS-M3] DOWN!!!
SystemLink_copySlaveCoreExceptionContext:146
mmap of [0xbf8e0000:36864]
mmap virt addresss:0x400fd000
munmap of [0x400fd000:36864]
SystemLink_copySlaveCoreExceptionContext:153
SystemLink_handleSlaveCoreException:173


8622:!!!SLAVE CORE DOWN!!!.EXCEPTION INFO DUMP

 !!HW EXCEPTION ACTIVE (0/1): [0]

 !!EXCEPTION CORE NAME      : [VPSS-M3]

 !!EXCEPTION TASK NAME      : [SYSTEM_M3VPSS536870975]

 !!EXCEPTION LOCATION       : [utils/src/utils_tiler_allocator.c:100]

 !!EXCEPTION INFO           : [pObj->rawMemHeap == HeapMem_handle(&pObj->rawMemHeapObj)]

 !!EXCEPTION CCS CRASH DUMP FORMAT FILE STORED @ ./CCS_CRASH_DUMP_VPSS-M3.txt
SystemLink_handleSlaveCoreException:178

  • In /dvr_rdk/mcfw/interfaces/link_api/system_debug.h is

    #define SYSTEM_USE_TILER define enabled ?

    If it is not enabled, comment out call to SystemTiler_enableAllocator & SystemTiler_disbleAllocator function in /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/multich_vdec_vdis.c

    If it is enabled and you are still seeing the issue exception indicates memory corruption issue. Are you always facing the issue or only sometimes ?

     

  • Hi Badri Narayanan,

    The SYSTEM_USE_TILER is enabled define. The system can be stop well after I comment out call to SystemTiler_enableAllocator & SystemTiler_disbleAllocator function.

    I always facing this issue before I comment out function call.

    Thanks,

    Jacson

  • Hi Badri Narayanan,

    The root cause of this issue is 814x don't support tiler enable? I still don't know the root cause.

    Thanks,

    Jacson

  • Can you share multich_vdec_vdis.c in your codebase. Tiler enable is supported in 814x

  • Hi Badri Narayanan,

    This issue can be reproduced at original rdk 3.0 source code, can you not reproduce? This issue happen at 8148 build, not 816x build.

    Thanks,

    Jacson

  • Can you try modifying multich_vdec_vdis.c as below:

    #if (tilerEnable == FALSE)
        {
            /* Disable tiler allocator for this usecase
             * for that tiler memory can be reused for
             * non-tiled allocation
             */
            SystemTiler_enableAllocator();
        }
    #endif

    to

    if (tilerEnable == FALSE)
        {
            /* Disable tiler allocator for this usecase
             * for that tiler memory can be reused for
             * non-tiled allocation
             */
            SystemTiler_enableAllocator();
        }

    This should be done both for enable allocator and disable allocator.

    You will have to declare Bool tilerEnable in  MultiCh_deleteVdecVdis as below:

     

    Void MultiCh_deleteVdecVdis()

    {

       Bool tilerEnable;

    #if defined(TI_814X_BUILD) || defined(TI_8107_BUILD)
        tilerEnable  = FALSE;
    #else
        tilerEnable  = FALSE;
    #endif

    If this change resolve the issue  you are facing,then it is a bug that has been fixed in RDK 3.5 release