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.

[参考译文] OMAP-L138:Jenkins 的间歇性编译失败

Guru**** 2428040 points
Other Parts Discussed in Thread: OMAP-L138

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1543806/omap-l138-intermittent-compilation-failures-with-jenkins

器件型号:OMAP-L138


工具/软件:

我们已经建立了一个连续集成 (CI) 环境、使用多个虚拟机作为 Jenkins 构建代理。

我们开发了多个用于在 OMAP-L138 器件的 ARM 内核和 C674x DSP 内核上执行的软件应用程序。

工具链:

  • Code Composer Studio 版本 12.2.0 (CCSv12.2.0)  
  • C6000 代码生成工具版本 8.3.12 (C6000 CGTv8.3.12)
  • ARM 代码生成工具版本 20.2.7.LTS (ARM CGTv20.2.7.LTS)

我们使用 Jenkins CI 环境来构建这些应用程序以及其他应用程序。

当我们使用 CI 环境启动分布式构建时、我们偶尔会看到类似以下内容的错误:

 ****为项目应用程序构建配置发行版****

...

生成文件:“path/file.cpp"</s>“

调用:C6000 编译器

“CGTPATH/cl6x"</s>“  

编译失败

path/subdir_rules.mk:x:目标“path/file.obj"的“的配方失败

gmake[1]:***[path/file.obj]错误 1

...  

使用 ARM 编译器的 ARM 核心应用程序没有问题。

DSP 内核编译可以在问题编译代理上运行的 CCSv12.2.0 中正常工作。

是否有任何 Code Composer Studio 设置或 C6000 Code Generation Tools 设置可以帮助提高 Jenkins Build Agent 虚拟机的成功率?

我们是否可以增加超时值?

是否有方法允许 CCS 使用更多资源(存储器,CPU 内核等)?

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

    顺便说一下、我们的所有 CCS 工程都使用以下 CCS 编译设置进行配置:

    • 使用标准编译参数
    • 启用并行编译
    • 使用最佳作业 (8)
      • 此特定虚拟机配置了 8 个虚拟处理器

    通过这些设置、我可以看到、在 CCS 构建一个 DSP 核心工程的同时、所有八个 CPU 的 CPU 活动在几分钟内接近 100%。

    如果我禁用并行编译、我会看到所有八个 CPU 的 CPU 活动保持在大约 60%以下、而 CCS 则构建一个 DSP 核心工程。 毫无疑问、完成此任务需要更多的时间。 (我没有为这两种情况安排时间。)

    我将禁用每个项目的并行编译、提交和推送更改、并查看使用我们的 CI 环境的自动化 Jenkins 构建会发生什么情况。  

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

    Patrick、

    禁用并行编译是否解决了问题?

    Michael

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

    编号 它没有完全解决问题。 我仍然看到故障、但没有看到启用并行编译后出现的故障。

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

    感谢您的检查。 工程部门正在调查。

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

    我想我找到了一条线索。

    在一个有问题的 Jenkins Build Agent 虚拟机上、我们将其称为 VM_A、我观察到以下内容:

    • 项目中 cpp 文件的随机“编译失败“错误
    • Windows 管理事件日志中针对 opt6x.exe 的应用程序错误
      • 这给我的印象是 opt6x.exe 正在崩溃的一些随机文件

    在另一个可靠的 Jenkins Build Agent 虚拟机上、我们将其称为 VM_B、我观察到以下内容:

    • 无随机“编译失败“错误
    • Windows 管理事件日志中没有针对 opt6x.exe 的应用程序错误

    我在 TMS320C6000 优化 C/C++编译器 v8.3.x 用户指南 (sprui04f) 中未找到任何“opt6x"内容“内容

    “opt6x"的“的选项是否在某处列出? 是否有详细输出的选项? opt6x 能告诉我为什么它不快乐吗?

    我假设 cl6x 生成了 opt6x 进程。 对吗?

    如果我不能想到更好的想法、我可以在不久的将来尝试在 VM_A 上重新安装 Code Composer Studio v12.2.0。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 TMS320C6000 优化 C/C++编译器 v8.3.x 用户指南 (sprui04f)
    中没有找到“opt6x"的“的任何内容

    opt6x 是 C6000 优化器。 上述文档第 5 章提供了相关信息。

    [报价 userid=“86222" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1543806/omap-l138-intermittent-compilation-failures-with-jenkins/5947923

    “opt6x"的“的选项是否在某处列出? 是否有详细输出的选项? opt6x 能告诉我为什么它不快乐吗?

    我假设 cl6x 生成了 opt6x 进程。 对吗?

    [/报价]

    我相信 cl6x 将运行 opt6x。 我会提请编译器专家注意这一主题  

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否在某处列出了“opt6x"的“的选项?

    编号  没有公共接口。  因为运行它的唯一方法是从 cl6x。

    几年前、  报告了类似的问题 EXT_EP-10596。  这个问题从未得到解决。  它是针对不再受支持的旧版本报告的。  当客户升级到较新版本时、问题消失。  在这种情况下、不使用 opt6x、因此不可能出现问题。  问题出在不同的编译器传递(名为 cg6x3)上。   

    是否有详细输出的选项?

    我向您发送了一个 E2E 朋友的申请。  请接受。  这将使我们能够使用论坛内置的消息传递功能。  这就是我将告诉你如何运行一个实验,可能告诉我们更多.

    谢谢。此致、

    -乔治

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

    您好、George。 感谢您的回答。

    我在查找您的朋友请求时遇到问题。 我应该在哪里查找?

    我正在对多个 Jenkins Build Agent 虚拟机的错误行为进行故障排除。 他们一直在服务、所以我必须解决其他人发起的工作。 我们在以下实验方面进展缓慢:

    1. 卸载并重新安装 CCSv12.2.0
      1. 初步观察:这似乎对一种药物有所不同。 测试正在进行中。
    2. 将其中一个错误的构建代理虚拟机替换为没有错误的代理克隆
      1. 尚未报告结果
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此线程已更改为私人消息。  现在、我将关闭它。  找到原因后、将在此处发布摘要。

    谢谢。此致、

    -乔治