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.

TDA4VM:

Part Number: TDA4VM

Hi Team,

We are running single cam (vx_app_single_cam.out) application from the /opt/vision_apps/ location in the TDA4 and it is working as expected. We tried to execute the application multiple times, it working fine for first 100 times. In 101 attempt it is not working..

We followed the below process 

1. Power ON the board.

2. cd /opt/vision_apps/

3. Disabled the interactive menu and modified the num_frames_to_run flag to 100 in app_single_cam.cfg file

4. source ./vision_apps_init.sh

5. ./vx_app_single_cam.out --cfg app_single_cam.cfg  ( it will run for 100 frames then exit )

6. Repeat step 5 for 100 times.

In 101 execution we got the below error and the application freezed.

1058.388672 s: VX_ZONE_ERROR:[ownContextSendCmd:815] Command ack message returned failure cmd_status: -1
1058.388710 s: VX_ZONE_ERROR:[ownContextSendCmd:851] tivxEventWait() failed.
1058.388718 s: VX_ZONE_ERROR:[ownNodeKernelInit:538] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_110
1058.388724 s: VX_ZONE_ERROR:[ownNodeKernelInit:539] Please be sure the target callbacks have been registered for this core
1058.388730 s: VX_ZONE_ERROR:[ownNodeKernelInit:540] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
1058.388812 s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 4, kernel com.ti.hwa.display ... failed !!!
1058.388824 s: VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
1058.388830 s: VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed

We are using the below sdk

RTOS: ti-processor-sdk-rtos-j721e-evm-08_01_00_13

Can anyone tell why we are getting this error when we are trying it for multiple times (100+)?

Regards

Kranthi P

  • Hi,

    Could you share the full logs of the goodcase and the bad case?
    i.e. 100th(Good case just before the bad case) and 101st (Bad case) iteration to be specific.

    Are the remote logs enabled? If not, could you run "source ./vision_apps_init.sh" before running your application

    Are there any changes made to the single cam demo or in the SDK? Or are you seeing this issue in the SDK provided by TI?

    Is it feasible from your end to test the same scenario on the latest SDK (i.e. SDK 8.4)?

    Regards,
    Nikhil

  • Hi Nikhil,

    Thank you for the quick response. I have attached the good case and bad case logs. And also attached the change made on single cam demo application for sensor and camera selection when interactive flag is disabled in cfg file.

    Thank you

    Regards

    Kranthi P

    ###############
    Test Number 100
    ###############
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
      1052.785321 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
      1052.785385 s:  VX_ZONE_INIT:Enabled
      1052.785392 s:  VX_ZONE_ERROR:Enabled
      1052.785397 s:  VX_ZONE_WARNING:Enabled
      1052.785890 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
      1052.787106 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    sensor_selection = [0]
    ldc_enable = [0]
    num_frames_to_run = [100]
    is_interactive = [0]
    IttCtrl_registerHandler: command echo registered at location 0 
    IttCtrl_registerHandler: command iss_read_2a_params registered at location 1 
    IttCtrl_registerHandler: command iss_write_2a_params registered at location 2 
    IttCtrl_registerHandler: command iss_raw_save registered at location 3 
    IttCtrl_registerHandler: command iss_yuv_save registered at location 4 
    IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5 
    IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6 
    IttCtrl_registerHandler: command dev_ctrl registered at location 7 
    IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8 
     NETWORK: Opened at IP Addr = 192.168.0.16, socket port=5000!!!
      1052.788109 s:  VX_ZONE_ERROR:[tivxAddKernelVpacCeViss:565] tivxAddKernelTarget  VPAC_CE_VISS   ready
      1052.788126 s:  VX_ZONE_ERROR:[tivxAddKernelVpacCeRc:246] tivxAddKernelTarget  VPAC_CE_RC   ready
      1052.788186 s: ISS: Enumerating sensors ... !!!
      1052.788568 s: ISS: Enumerating sensors ... found 0 : IMX390-GMSL_LUCID
    Sensor selected : IMX390-GMSL_LUCID
    Querying IMX390-GMSL_LUCID 
      1052.788588 s: ISS: Querying sensor [IMX390-GMSL_LUCID] ... !!!
      1052.788879 s: ISS: Querying sensor [IMX390-GMSL_LUCID] ... Done !!!
      1052.788888 s: ISS: Initializing sensor [IMX390-GMSL_LUCID], doing IM_SENSOR_CMD_PWRON ... !!!
      1053.033369 s: ISS: Initializing sensor [IMX390-GMSL_LUCID], doing IM_SENSOR_CMD_CONFIG ... !!!
      1053.654198 s: ISS: Initializing sensor [IMX390-GMSL_LUCID] ... Done !!!
    Test data path is NULL. Defaulting to current folder 
    read_test_image_raw : Unable to open file .//img_test.raw
    app_create_viss : sensor_dcc_id = 390 
    Scaler is enabled
      1053.682502 s: ISS: Starting sensor [IMX390-GMSL_LUCID] ... !!!
      1053.729373 s: ISS: Starting sensor [IMX390-GMSL_LUCID] ... Done !!!
    get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/IMX390-GMSL_LUCID/wdr 
      1057.255411 s: ISS: Stopping sensor [IMX390-GMSL_LUCID] ... !!!
      1057.431388 s: ISS: Stopping sensor [IMX390-GMSL_LUCID] ... Done !!!
      1057.440108 s: ISS: De-initializing sensor [IMX390-GMSL_LUCID] ... !!!
      1057.440468 s: ISS: De-initializing sensor [IMX390-GMSL_LUCID] ... Done !!!
      1057.440483 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:100] De-Initialization Done for HOST !!!
      1057.444827 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    MEM: Alloc's: 23 alloc's of 49593502 bytes 
    MEM: Free's : 23 free's  of 49593502 bytes 
    MEM: Open's : 0 allocs  of 0 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    

    ###############
    Test Number 101	
    ###############
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=4) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
      1057.498168 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
      1057.498259 s:  VX_ZONE_INIT:Enabled
      1057.498267 s:  VX_ZONE_ERROR:Enabled
      1057.498272 s:  VX_ZONE_WARNING:Enabled
      1057.498761 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
      1057.498888 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    sensor_selection = [0]
    ldc_enable = [0]
    num_frames_to_run = [100]
    is_interactive = [0]
    IttCtrl_registerHandler: command echo registered at location 0 
    IttCtrl_registerHandler: command iss_read_2a_params registered at location 1 
    IttCtrl_registerHandler: command iss_write_2a_params registered at location 2 
    IttCtrl_registerHandler: command iss_raw_save registered at location 3 
    IttCtrl_registerHandler: command iss_yuv_save registered at location 4 
    IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5 
    IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6 
    IttCtrl_registerHandler: command dev_ctrl registered at location 7 
    IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8 
     NETWORK: Opened at IP Addr = 192.168.0.16, socket port=5000!!!
      1057.499864 s:  VX_ZONE_ERROR:[tivxAddKernelVpacCeViss:565] tivxAddKernelTarget  VPAC_CE_VISS   ready
      1057.499883 s:  VX_ZONE_ERROR:[tivxAddKernelVpacCeRc:246] tivxAddKernelTarget  VPAC_CE_RC   ready
      1057.499950 s: ISS: Enumerating sensors ... !!!
      1057.500332 s: ISS: Enumerating sensors ... found 0 : IMX390-GMSL_LUCID
    Sensor selected : IMX390-GMSL_LUCID
    Querying IMX390-GMSL_LUCID 
      1057.500353 s: ISS: Querying sensor [IMX390-GMSL_LUCID] ... !!!
      1057.500656 s: ISS: Querying sensor [IMX390-GMSL_LUCID] ... Done !!!
      1057.500664 s: ISS: Initializing sensor [IMX390-GMSL_LUCID], doing IM_SENSOR_CMD_PWRON ... !!!
      1057.744372 s: ISS: Initializing sensor [IMX390-GMSL_LUCID], doing IM_SENSOR_CMD_CONFIG ... !!!
      1058.365192 s: ISS: Initializing sensor [IMX390-GMSL_LUCID] ... Done !!!
    Test data path is NULL. Defaulting to current folder 
    read_test_image_raw : Unable to open file .//img_test.raw
    app_create_viss : sensor_dcc_id = 390 
      1058.388672 s:  VX_ZONE_ERROR:[ownContextSendCmd:815] Command ack message returned failure cmd_status: -1
      1058.388710 s:  VX_ZONE_ERROR:[ownContextSendCmd:851] tivxEventWait() failed.
      1058.388718 s:  VX_ZONE_ERROR:[ownNodeKernelInit:538] Target kernel, TIVX_CMD_NODE_CREATE failed for node node_110
      1058.388724 s:  VX_ZONE_ERROR:[ownNodeKernelInit:539] Please be sure the target callbacks have been registered for this core
      1058.388730 s:  VX_ZONE_ERROR:[ownNodeKernelInit:540] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
      1058.388812 s:  VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 4, kernel com.ti.hwa.display ... failed !!!
      1058.388824 s:  VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
      1058.388830 s:  VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
    Scaler is enabled
      1058.392491 s: ISS: Starting sensor [IMX390-GMSL_LUCID] ... !!!
      1058.439376 s: ISS: Starting sensor [IMX390-GMSL_LUCID] ... Done !!!
    get_dcc_dir_size : Could not open directory or directory is empty /opt/vision_apps/dcc/IMX390-GMSL_LUCID/wdr 
    
    	
    

    diff --git a/apps/basic_demos/app_single_cam/app_single_cam_main.c b/apps/basic_demos/app_single_cam/app_single_cam_main.c
    index 2804f50..4a503de 100755
    --- a/apps/basic_demos/app_single_cam/app_single_cam_main.c
    +++ b/apps/basic_demos/app_single_cam/app_single_cam_main.c
    @@ -236,6 +236,10 @@ vx_status app_init(AppObj *obj)
         else
         {
             selectedSensor = obj->sensor_sel;
    +        obj->sensor_name = sensor_list[selectedSensor];
    +        printf("Sensor selected : %s\n", obj->sensor_name);
    +
    +        obj->selectedCam = 0;
             if(selectedSensor > (num_sensors_found-1))
             {
                 printf("Invalid sensor selection %d \n", selectedSensor);
    

  • And there is no changes in the default 8.1 sdk

  • Hello Kranthi,

    This issue is a bug in the SDK 8.1, where the semaphore counters were not being reset after the end of the application.

    The issue has been fixed in the further releases and below is the fix for the same.

    Please remove the function call CsirxDrv_modInstObjInit() in the function CsirxDrv_create() located in the file ${PSDKRA}/pdk_jacinto_08_01_00_36/packages/ti/drv/csirx/src/csirx_drv.c as shown below

    .

    .
    if ((retVal == FVID2_SOK) && (instObj->inUse == CSIRX_DRV_USAGE_STATUS_NOT_USED))
    {

    //delete this

    // retVal = CsirxDrv_modInstObjInit(instObj, instId);


    /* Copy createParams to instance object */
    Fvid2Utils_memcpy(&instObj->createParams,
    createParams,
    .
    .
    .

    Please let me know if this resolves the issue.
    The fix has been included in SDK 8.2

    Regards,
    Nikhil

  • Confirmed on today's call that this validated and working.