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: csitx node block sometimes

Part Number: TDA4VM

Hi TI experts,

    Currently I use the SDK7.3 for srv. We found sometimes the srv app will hangup and no csitx display output. And the app can't exit. It will hangup on vxReleaseGraph(&obj->graph) function.

I enable  the event logging. I found the csitx node is abnormal. Could you give me some suggestion?

########start strean on fxn regAddr:0x40b reg_val:0x42 reg_addr_type:1
########stop stream on fxn
2174.631624 s: ISS: Starting sensor [MAX96701-OX01F1_TN] ... done !!!
Sensor start status = 0
2175.132007 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 0
2175.132014 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=1
=========iteration:0
#### appEglWindowSetupRenderTex: 534 fboId 6 texId 39

Load testure file ./svres/CAR_IP42/dds/Door_FL_OFF.dds return 0x6da32be0
Load testure file ./svres/CAR_IP42/dds/Door_FR_OFF.dds return 0x6da32be0
Load testure file ./svres/CAR_IP42/dds/Door_BL_OFF.dds return 0x6da32be0
Load testure file ./svres/CAR_IP42/dds/Trunk_OFF.dds return 0x6da32be0
Load testure file ./svres/CAR_IP42/dds/Door_BR_OFF.dds return 0x6da32be0 2175.207779 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 0
2175.207787 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=2
2175.208098 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 0
2175.208102 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=3
2175.222058 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 1
2175.222064 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=1
#### appEglWindowSetupRenderTex: 534 fboId 7 texId 50
2175.258768 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 1
2175.258775 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=2
2175.265475 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 1
2175.265482 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=3
2175.312057 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 2
2175.312064 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=1
#### appEglWindowSetupRenderTex: 534 fboId 8 texId 55
2175.340517 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 2
2175.340524 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=2
2175.348937 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 2
2175.348943 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=3
2175.402093 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 3
2175.402109 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=1
2175.410518 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 3
2175.410525 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=2
2175.432416 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:597] pipeline_id 3
2175.432423 s: VX_ZONE_WARNING:[ownCheckGraphCompleted:619] graph->num_leaf_nodes=4, graph_obj_desc->complete_leaf_nodes=3
2176.410558 s: VX_ZONE_ERROR:[tivxEventWait:224] Event timed-out.
=========graph timeout!!! iteration:5
2177.410638 s: VX_ZONE_ERROR:[tivxEventWait:224] Event timed-out.
2177.410646 s: VX_ZONE_ERROR:[vxWaitGraph:903] tivxEventWait() failed.
releasing srv_applib done
releasing param_obj done
releasing srv_views_array done
releasing in_config done
releasing capture_stats_obj done
releasing in_calmat_object done
releasing in_offset_object done
releasing in_lens_param_object done
releasing out_gpulut_array done
releasing srv_node done
releasing graph done
LDC delete done!
Capture delete done!
releasing csitx_node done
releasing display_param_obj done
releasing switch_ch_obj done
releasing captureObj.raw_image_arr[0] done
releasing captureObj.raw_image_arr[1] done
releasing captureObj.raw_image_arr[2] done
releasing captureObj.raw_image_arr[3] done
releasing output_image[0] done
releasing output_image[1] done
releasing output_image[2] done
releasing output_image[3] done
releasing csitx_config
2177.410973 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:260] func ownReleaseReferenceInt line 260
2177.410977 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:275] func ownReleaseReferenceInt line 275
2177.410981 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:284] func ownReleaseReferenceInt line 284
2177.410985 s: VX_ZONE_WARNING:[ownDestructGraph:43] func ownDestructGraph line 43
2177.410988 s: VX_ZONE_WARNING:[ownDestructGraph:55] func ownDestructGraph line 55
2177.410991 s: VX_ZONE_WARNING:[ownDestructGraph:88] func ownDestructGraph line 88
2177.410994 s: VX_ZONE_WARNING:[ownDestructGraph:97] func ownDestructGraph line 97
2177.410997 s: VX_ZONE_WARNING:[ownDestructGraph:111] func ownDestructGraph line 111
2177.411000 s: VX_ZONE_WARNING:[vxRemoveNode:1640] ownRemoveNodeInt.
2177.411003 s: VX_ZONE_WARNING:[vxRemoveNode:1641] ownRemoveNodeInt. node name :node_162
2177.411005 s: VX_ZONE_WARNING:[ownRemoveNodeInt:201] ownGraphRemoveNode.
2177.411010 s: VX_ZONE_WARNING:[ownGraphRemoveNode:306] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 306
2177.411013 s: VX_ZONE_WARNING:[ownGraphRemoveNode:319] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 319
2177.411016 s: VX_ZONE_WARNING:[ownGraphRemoveNode:329] func ownGraphRemoveNode line 329
2177.411176 s: VX_ZONE_WARNING:[ownGraphRemoveNode:332] func ownGraphRemoveNode line 332
2177.411180 s: VX_ZONE_WARNING:[ownGraphRemoveNode:341] func ownGraphRemoveNode line 341
2177.411182 s: VX_ZONE_WARNING:[ownGraphRemoveNode:352] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 352
2177.411185 s: VX_ZONE_WARNING:[vxRemoveNode:1640] ownRemoveNodeInt.
2177.411187 s: VX_ZONE_WARNING:[vxRemoveNode:1641] ownRemoveNodeInt. node name :node_163
2177.411190 s: VX_ZONE_WARNING:[ownRemoveNodeInt:201] ownGraphRemoveNode.
2177.411192 s: VX_ZONE_WARNING:[ownGraphRemoveNode:306] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 306
2177.411235 s: VX_ZONE_WARNING:[ownGraphRemoveNode:319] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 319
2177.411238 s: VX_ZONE_WARNING:[ownGraphRemoveNode:329] func ownGraphRemoveNode line 329
2177.411402 s: VX_ZONE_WARNING:[ownGraphRemoveNode:332] func ownGraphRemoveNode line 332
2177.411405 s: VX_ZONE_WARNING:[ownGraphRemoveNode:341] func ownGraphRemoveNode line 341
2177.411408 s: VX_ZONE_WARNING:[ownGraphRemoveNode:352] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 352
2177.411411 s: VX_ZONE_WARNING:[ownDestructGraph:128] func ownDestructGraph line 128
2177.411424 s: VX_ZONE_WARNING:[ownDestructGraph:133] func ownDestructGraph line 133
2177.411427 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:297] func ownReleaseReferenceInt line 297
2177.411430 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:309] func ownReleaseReferenceInt line 309
2177.411432 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:314] func ownReleaseReferenceInt line 314
2177.411435 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:318] func ownReleaseReferenceInt line 318
releasing graph_gpu_lut done
2177.411438 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:260] func ownReleaseReferenceInt line 260
2177.411441 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:275] func ownReleaseReferenceInt line 275
2177.411444 s: VX_ZONE_ERROR:[ownReleaseReferenceInt:284] func ownReleaseReferenceInt line 284
2177.411447 s: VX_ZONE_WARNING:[ownDestructGraph:43] func ownDestructGraph line 43
2177.411458 s: VX_ZONE_WARNING:[ownDestructGraph:55] func ownDestructGraph line 55
2177.411657 s: VX_ZONE_WARNING:[ownDestructGraph:88] func ownDestructGraph line 88
2177.411660 s: VX_ZONE_WARNING:[ownDestructGraph:97] func ownDestructGraph line 97
2177.411663 s: VX_ZONE_WARNING:[ownDestructGraph:111] func ownDestructGraph line 111
2177.411666 s: VX_ZONE_WARNING:[vxRemoveNode:1640] ownRemoveNodeInt.
2177.411668 s: VX_ZONE_WARNING:[vxRemoveNode:1641] ownRemoveNodeInt. node name :capture_node
2177.411670 s: VX_ZONE_WARNING:[ownRemoveNodeInt:201] ownGraphRemoveNode.
2177.411673 s: VX_ZONE_WARNING:[ownGraphRemoveNode:306] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 306
2177.411676 s: VX_ZONE_WARNING:[ownGraphRemoveNode:319] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 319
2177.411679 s: VX_ZONE_WARNING:[ownGraphRemoveNode:329] func ownGraphRemoveNode line 329
2177.417168 s: VX_ZONE_WARNING:[ownGraphRemoveNode:332] func ownGraphRemoveNode line 332
2177.417173 s: VX_ZONE_WARNING:[ownGraphRemoveNode:341] func ownGraphRemoveNode line 341
2177.417177 s: VX_ZONE_WARNING:[ownGraphRemoveNode:352] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 352
2177.417181 s: VX_ZONE_WARNING:[vxRemoveNode:1640] ownRemoveNodeInt.
2177.417183 s: VX_ZONE_WARNING:[vxRemoveNode:1641] ownRemoveNodeInt. node name :capture_write_node
2177.417186 s: VX_ZONE_WARNING:[ownRemoveNodeInt:201] ownGraphRemoveNode.
2177.417189 s: VX_ZONE_WARNING:[ownGraphRemoveNode:306] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 306
2177.417191 s: VX_ZONE_WARNING:[ownGraphRemoveNode:319] file:/home/igs/wangyun/git_workspace/ip42/as28_tda4_m3_linux/ti-processor-sdk-rtos-j721e-evm-07_03_00_07/tiovx/source/framework/vx_graph.c func ownGraphRemoveNode line 319
2177.417194 s: VX_ZONE_WARNING:[ownGraphRemoveNode:

 

BR

Yun

  • Hi Yun,

    One question, you mention that graph is stuck in vxReleaseGraph and it seems it is due to CSITX node. But this API is typically called during closing of graph and existing from the application, so does it mean normally CSITX node runs fine? Do you get correct output from CSITX node when graph is running? 

    Regards,

    Brijesh

  • Hi Brijesh,

           I set the graph timeout to 1s and print the frame counter when happened  the graph timeout. From the log, the timeout happened on the frame 5.

    Then the graph will exit. And I call the tivxLogRtTraceExportToFile before delete graph. So I think the gtkwave can show the stuck node.

    if(status != VX_SUCCESS)
    {
    APP_PRINTF("=========graph timeout!!! iteration:%d\n",iteration);
    reinit_flag = 0;
    vx_reference refs[1];
    refs[0] = (vx_reference)obj->captureObj.raw_image_arr[0];
    printf("*****send TIVX_CAPTURE_PRINT_STATISTICS to capture node******\n");
    status = tivxNodeSendCommand(obj->captureObj.node,0u,TIVX_CAPTURE_PRINT_STATISTICS, refs, 1);

    }
    ....
    tivxLogRtTraceExportToFile("/log/avm/avm_trace.bin");
    tivxLogRtTraceDisable (obj->graph);
    app_delete_graph(obj);

    BR Yun

  • Hi ,

    But timeout is for which module? Is capture not returning frames even within 1s timeout? Also do you mean you are able to capture 4 frames and then it times out on the fifth frame? 

    From the above description, it seems the issue is in the CSIRX not in CSITX. CSITX just got stuck because the graph might be existed in between.. Are you calling vxWaitGraph before closing/releasing the graph?

    Regards,

    Brijesh

  • Hi Brijesh,

    The timeout is for CSIRX capture node on the fifth frame. And I'm calling vxWaitGraph before closing/releasing the graph. 

  • Hi @yun wang,

    But is capture working fine? From the above description, it looks like capture is getting stuck. So can you please first check if capture is working? 

    Regards,

    Brijesh

  • Hi Brijesh,

    How to check the capture is working or not?  Even if the capture is getting stuck, why the CSITX node will be stuck when I call the release process?

  • Hi yun wang,

    If you have connected CSIRX output to CSITX, then if CSIRX is not working, there will not be any output even on CSITX.. So can you please first get CSIRX working? 

    Which sensor and SERDES are you trying to enable in CSIRX? Have you referred below link to add new sensor in the vision apps imaging component?

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/psdk_rtos/docs/user_guide/developer_notes_image_sensor.html

    Regards,

    Brijesh

  • Hi Brijesh,

         I connect camera to  CSIRX. And I can save the capture node first four frames. The images is correct. Also I can see the image output when I connect the output to display. So I'm sure the CSIRX is working.

    BR

    Yun

  • Hi Yun,

    ok, does it block only during graph release time? Because the first post mentions that it is blocked in vxReleaseGraph.

    Also can you please share your data path? Is CSIRX path connected to some other nodes? Just want to check if blocking is coming due to some other node in the path.

    Regards,

    Brijesh

  • Hi Brijesh,

    I attach the picture.Please help check.

    BR

    Yun

  • Hi Yun,

    Can you also help with the first question? ie does this issue come only when releasing the graph? 

    If not, then can you please check all the nodes in the graph to see which is getting blocked? You have

    capture -> LDC -> GPU -> Display

                                           ->FmtConv -> CSITX 

    nodes. if one of them is stuck, then CSITX will also be stuck.. So print the stats when this issue comes and see which node is getting stuck.

    Regards,

    Brijesh