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.

Video capture driver stops on dvsdk_1_10_00_26_DM648



Hi

I'm stumped at trying to figure out why the video driver stops sending me video frames and ends up in UTL_halt, SYS_EXITFXN[:S]. Its very random how long it will run for. I have checked the following:

1) Execution graph -> shows assertion occured while in "Other threads" (about 2 msec into Other threads)

2) Call stack just says Util halt()

3) I have setup the cap and dis vport callback interrupts to capture all errors. (like FIFO underrun, overrun, etc defined in vport.h)

4) I have added traces to print the memory pointers sent to FVID_queue and FVID_dequeue. The trace shows that the buffer pointers are not getting contaminated when they are queued.

5) The kernel object viewer says me stacks are far from the high water mark.  (How do you check the heap??????)

6) I've been able to run a simple loopback video and its runs forever so the HW is OK.

Are there any ways to trap the assertion or find out which of the "Other tasks" I need to look in to find the problem.

Is there a way I can monitor the number of vport buffers available?

Any other ideas?

Thx

  • Another couple data points:

    Execution Graph details:

    TSK: blocked TSK_proc (0x00a2e680) on <unknown handle> SEM
    11257   TSK: running dynamic TSK (0x00a2e6e0)
    11258   SWI: end   KNL_swi (TSK scheduler) (0xa2ed04) state = done
    11259   CLK: current time = 1725 (0x000006bd)
    11260   PRD: tick count = 1725 (0x000006bd)
    11261   SWI: post  KNL_swi (TSK scheduler) (0xa2ed04)
    11262   SWI: begin KNL_swi (TSK scheduler) (0xa2ed04)
    11263   SWI: end   KNL_swi (TSK scheduler) (0xa2ed04) state = done
    11264   SEM: post <unknown handle> (0xe0557fdc) count = 0
    11265   SWI: post  KNL_swi (TSK scheduler) (0xa2ed04)
    11266   SWI: begin KNL_swi (TSK scheduler) (0xa2ed04)
    11267   TSK: ready TSK_Annotate (0x00a2e500)
    11268   TSK: running TSK_Annotate (0x00a2e500)
    11269   SWI: end   KNL_swi (TSK scheduler) (0xa2ed04) state = done
    11270   SEM: post <unknown handle> (0xe0557ffc) count = 4
    11271   SYS abort called with message '*** TSK lock NOT CALLED IN TSK CONTEXT'

    I removed all of my code that processes the video. Now it takes frames from the decoder and then outputs them to the encoder. The crashes did not occur. I then added a wait() routine and increased it until the code crashed (around 5 msec). 

    That would tell me that one of the vport drivers doesn't like being run with preemtive tasking.

    Are there any specialists out there who can tell me what this log means?[:|]

    Cheers

     

     

  • and......I am using

    DSP/BIOS 5.33.06, and

    Code Gen Tool 6.0.8 (used for above execution graph details), and also tried CGT 6.1.12. But it gave me similar  results for execution graph details.

    56505   TSK: blocked TSK_proc (0x00a2ea88) on <unknown handle> SEM
    56506   TSK: running dynamic TSK (0x00a2eae8)
    56507   SWI: end   KNL_swi (TSK scheduler) (0xa2f110) state = done
    56508   CLK: current time = 8914 (0x000022d2)
    56509   PRD: tick count = 8914 (0x000022d2)
    56510   SWI: post  KNL_swi (TSK scheduler) (0xa2f110)
    56511   SWI: begin KNL_swi (TSK scheduler) (0xa2f110)
    56512   SWI: end   KNL_swi (TSK scheduler) (0xa2f110) state = done
    56513   SEM: post <unknown handle> (0xe0557fdc) count = 0
    56514   SWI: post  KNL_swi (TSK scheduler) (0xa2f110)
    56515   SWI: begin KNL_swi (TSK scheduler) (0xa2f110)
    56516   TSK: ready TSK_Annotate (0x00a2e908)
    56517   TSK: running TSK_Annotate (0x00a2e908)
    56518   SWI: end   KNL_swi (TSK scheduler) (0xa2f110) state = done
    56519   SEM: post <unknown handle> (0xe0557ffc) count = 4
    56520   SYS abort called with message '*** TSK lock NOT CALLED IN TSK CONTEXT'