TDA4VEN-Q1: The problem of vxVerifyGraph freezing

Part Number: TDA4VEN-Q1

Hello 
I'm running into an issue. I'm running two apps. One app loads an offline UYVY format image (1920x1536), then uses a scaler node to resize it (576x384), followed by preprocessing (UYVY to RGB tensor), and then sends it to the TIDL node for inference, finally doing post-processing. This app runs continuously without issues.  

The second app gets its image data from cameras, with the same resolution and format as the first. If I try to execute the whole process, it freezes at the `vxVerifyGraph` function. If I comment out the TIDL node and post-processing node, it runs fine. We've confirmed that the freeze is caused by the TIDL node, but I don't know why. Could you help me analyze it? For example, could it be due to shared memory or insufficient C7X memory?

image.pngimage.png

  • Hi Zhang,

    Could you share your application logs, 

    Is your memory map changed ?

    Also enable remote core logs and then run the application.

    Run "source ./vision_apps_init.sh" to enable remote core logs.

    After enabling the remote core logs, send the remote core init logs and run the application and share the logs.

    Regards,
    Gokul

  • Hi

    I changed the shared memory size to 512M, below is the app's log

    root@spartan_a:/data/app_online# ./test_algo.out right
    APP: Init ... !!!
       110.464260 s: MEM: Init ... !!!
       110.464370 s: MEM: Initialized DMA HEAP (fd=5) !!!
       110.464576 s: MEM: Init ... Done !!!
       110.464597 s: IPC: Init ... !!!
       110.477285 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       110.488650 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       110.488959 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
       110.489048 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
       110.489087 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
       110.490295 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-0
       110.490664 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-1
       110.491046 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-2
       110.491446 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:169] Added target MPU-3
       110.491511 s:  VX_ZONE_INFO: [tivxInitLocal:202] Initialization Done !!!
       110.491536 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
    set the default view as stitched !
    gst cmdline of channel 0: appsrc format=GST_FORMAT_TIME is-live=true do-timestamp=true block=false name=vxsrc ! capsfilter name=filter caps=video/x-raw,width=(int)1280,height=(int)720,framerate=(fraction)30/1,format=(string)UYVY,interlace-mode=(string)progressive,colorimetry=(string)bt601 ! queue name=qe ! v4l2h264enc name=ence extra-controls=enc,prepend_sps_and_pps_to_idr=1,video_bitrate_mode=0,video_gop_size=5,frame_level_rate_control_enable=1,video_bitrate=10000000 ! rtph264pay name=paye ! udpsink name=sink host=172.168.100.214 port=5557
    view_display_front.c[195](info): Query successed and primary is alive
    dirt_algo.c[151](info): TIDL Init Done!
    
    dirt_algo.c[157](info): Pre Proc Update Done!
    
    dirt_algo.c[179](info): Pre Proc Init Done!
    
    dirt_algo.c[184](info): Post Proc Update Done!
    
    dirt_algo.c[189](info): Post Proc Init Done!
    
    dirt_algo.c[219](info): 1111111111111111111111
    
    dirt_algo.c[232](info): 4444444444444444444444444
    
       113.218299 s:  VX_ZONE_ERROR: [ownContextSendCmd:1001] Command ack message returned failure cmd_status: -1
       113.218355 s:  VX_ZONE_ERROR: [ownNodeKernelInit:704] Target kernel, TIVX_CMD_NODE_CREATE failed for node tidl_node
       113.218376 s:  VX_ZONE_ERROR: [ownNodeKernelInit:705] Please be sure the target callbacks have been registered for this core
       113.218389 s:  VX_ZONE_ERROR: [ownNodeKernelInit:706] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
       113.218411 s:  VX_ZONE_ERROR: [ownGraphNodeKernelInit:793] kernel init for node 2, kernel com.ti.tidl:1:1 ... failed !!!
       113.218469 s:  VX_ZONE_ERROR: [ graph_286 ] Node kernel init failed
       113.218484 s:  VX_ZONE_ERROR: [ graph_286 ] Graph verify failed
    dirt_algo.c[244](error): failed to vxVerifyGraph!
    dirt_algo.c[247](info): 5555555555555555555555555
    
       113.219327 s:  VX_ZONE_ERROR: [tivxNodeSendCommandTimed:346] vxVerifyGraph should be called before tivxNodeSendCommand can be called on a node in the same graph
    dirt_algo.c[252](info): dirt_algo: initialized
    dirt_algo.c[271](info): dirt_algo: registered mailbox at index 0
    dirt_algo.c[271](info): dirt_algo: registered mailbox at index 1
    Starting pipeline run (blocking)...
    Starting pipeline run (blocking)...
    Segmentation fault (core dumped)
    ,I used the offline app to load the UYVY image, and then using the same TIDL node, there was no error.

  • Hi Zhang,

    Could you share the remote core logs.

    Also enable remote core logs and then run the application.

    Run "source ./vision_apps_init.sh" to enable remote core logs.

    After enabling the remote core logs, send the remote core init logs and run the application and share the logs.

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/11_01_00_04/exports/docs/vision_apps/docs/user_guide/group_apps_utilities_app_remote_log.html

    Regards,
    Gokul