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:vx_image##39;s shared_ptr 在多线程条件下损坏

Guru**** 2466020 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1470191/tda4vm-vx_image-s-shared_ptr-corruption-at-the-multi-threading-condition

器件型号:TDA4VM

工具与软件:

无论 TI SDK 版本如何、在多线程环境中创建 vx_image 数组作为独立应用程序时是否有任何共享 ptr 损坏的报告?

当初始化过程并行执行时、在某些情况下、App (B) s vx_image 缓冲区的大小影响到另一个缓冲区的共享存储器指针位置。

App (A)使用 nv12图像缓冲区、而另一 App (B)使用 RGBA。

HOST_ptr 或 memsize 始终是正确的、但 SHARED_ptr (非常小的 UV 通道)会间歇性地受到另一个缓冲区大小的影响。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    不可以、由于两个映像是 单独分配的、因此不应存在任何冲突、在这种情况下 SHARED_ptr 应该是正确的。 这两个过程是什么?  它包含哪些节点?

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    独立的两个应用程序和它是完全独立的 excute initopenvx(appCommonInit (), tivxInit (), tivxHostInit ())。 但拔出时间几乎是非常短的,但并不总是采样时间。 如果一个应用正在初始化 VX 相关部分,而另一个应用分配内存相关部分(例如声明新缓冲区),这是否是 shared_ptr 上发生的问题或损坏?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     每个进程都有不同的内存区域,并且 Linux 为进程分配内存,它将具有内部机制来防止其他进程访问内存。 在某些情况下、应用程序无法正确处理存储器。 您能分享更多有关流程的信息吗?

    此致、
    Gokul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在移动到另一个线程时关闭该线程、

    连接螺纹连接以供参考、

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1473924/tda4vm-in-race-condition