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.

vxCreateContext() ERROR

Other Parts Discussed in Thread: TDA4VM

hi experts,

      warning and error below will appear when  I do intializationi with context = vxCreateContext() 

1820.390744 s: VX_ZONE_WARNING:[ownAllocObject:765] May need to increase the value of TIVX_ERROR_MAX_OBJECTS in tiovx/include/TI/tivx_config.h
1820.390756 s: VX_ZONE_ERROR:[ownCreateReference:342] Failed to allocate reference object

     i  don't  understand why my program can run successfully with these error information.  graph created with context can work with  a result which  i expected.  

     hope your suggestion, thanks.

                                       

  • Hi,

    Please address the below queries for better clarity on the issue.

    1. May I know which device are you using? Is it TDA4VM?

    2. Could you also please specify the SDK version?

    3. Are you running any standard vision_apps demo? Are you seeing this issue while the demo on the EVM?

        If not, could you brief me how your graph is?

    4. Could you share me the full logs of the application you are running?

    Regards,
    Nikhil

  • Hi Regards,

    the platform i used is TDA4VM.  I use some APIs supplied by other vendors instead of standard tiovx API, so I can't show it , if I use standard tiovx API, all will be ok.  below are logs.  I can't  understand ,if the context created failed, why the graph bind with this context can run successfully.


    Regards,
    FengWei

  • Hi,

    I see in the current code implementation that this gets called from the function ownCreateConstErrors() which is called in vxCreateContext().

    Here the return status for this function is not being checked currently. Let me check internally if this implementation was intended.

    Meanwhile, in the function definition of ownCreateConstErrors() the for loop goes from VX_STATUS_MIN = -25 to VX_SUCCESS = 0.
    The macro definition is found in enum vx_status_e present at ${PSDKRA}/tiovx/include/VX/vx_types.h

    Could you check if there are additional members added by your supplier in this enum, which is resulting in crossing the max value set for TIVX_ERROR_MAX_OBJECTS as 30? (${PSDKRA}/tiovx/include/TI/tivx_config.h)

    Regards,
    Nikhil

  • hi Nikhil,

    I have checked the file , it seems no modification compared with TI base code

    1. ${PSDKRA}/tiovx/include/TI/tivx_config.h

    #define TIVX_ERROR_MAX_OBJECTS                      (30u)

    2. ${PSDKRA}/tiovx/include/VX/vx_types.h

    Regards,
    FengWei

  • Hi,

    In this case, could you check by putting logs in the for-loop of the function ownCreateConstErrors() and check why this is throwing an error.

    You could also check if ownCreateReference() to VX_TYPE_ERROR is done anywhere else in your framework apart from here?

    Regards,
    Nikhil

  • hi Nikhil,

     I found that the inUse[ ] array belong to "g_tivx_objects.error"  has been already filled 30 element,  so when I vxCreateContext ,  error take place.

    I want to know can I  increase TIVX_ERROR_MAX_OBJECTS  to 40  and what's problem with my modify?

  • Hi 

    Yes, any of the config values in tivx_config.h are intended to be modified, as customers use cases can require a larger amount of each of the statically allocated structures.
    Hence you could proceed with increasing it to 40

    Regards,
    Nikhil