注释
合作者
我检查了那个并且我能够重现该行为。 但我需要使用: 如前所述,每次调用子程序后,文件数都会增加一个。我也用轴检查过,那里没有! gscreen 的行为与 gmoccapy 相同,因此数量增加。 恕我直言,这意味着它与 linuxcnc 的 GladeVCP 部分有关 |
贡献者作者
我发现只有在自动模式页面中没有打开 .ngc 文件时才会发生这种情况。如果您将文件设置为在启动时加载,则不会发生此问题。目前的解决方法是在尝试调用任何 o word 宏之前始终加载 .ngc 文件。 这就是为什么我认为通过 EMC_MDIHistory 小部件调用 o-word 时不会发生这种情况。它确实如此,但在我测试时,我首先在自动模式下运行了一个 .ngc 文件。重新启动系统时,我发现 EMC_MDIHistory 小部件导致打开的文件保留。打开 .ngc 文件后,不会再打开其他文件。打开 .ngc 不会关闭任何打开的文件。 |
合作者
非常奇怪的是:
诺伯特 |
贡献者作者
我在 Axis 中重现了这个问题,但前提是在 INI 中设置了 OPEN_FILE=””。 @dngarrett的修复对我有用。我在2.9pre测试了一下,问题解决了。这是一个快速修复! |
以下是我重现该问题所遵循的步骤:
这是我期望发生的事情:
我希望 o-word.ngc 文件在访问后关闭,就像使用 EMC_MDI_History 小部件时发生的情况一样。
这是发生了什么:
每个 o-word.ngc 调用都会打开文件的一个新实例并保持打开状态。最终达到系统打开文件限制并导致 milltask 发生段错误
在此之前它工作正常:
在 2.8.1 的模拟和硬件上进行了测试。未在其他版本上测试。
有关我的硬件和软件的信息:
lsb_release -a
):Debian Busteruname -a
): Linux VK45 4.19.0-14-rt-amd64使用 Tcl_SetResult 和 Tcl_GetStringResult #1 SMP PREEMPT RT Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linuxscripts/get-version-from-git
):2.8.1段错误信息: 2 月 17 日 23:10:31 VK45
内核:[132086.124829] milltask [10042]:段错误在 0 ip 00007fd2b18886a3 sp 00007fff116632a8 libc-2.28.so[7fd2b1833000+123 Kernel 1:145100] 中的错误 4
: [132086.124836] 代码: 1f 84 00 00 00 00 00 c3 0f 1f 80 00 00 00 00 8b 42 04 83 e1 cf 8d 70 01 89 72 04 89 0f eb 99 0f 1f 84 00 < 08 08 00 > 07 f6 47 74 80 0f 84 b9 00 00 00 89 c1 81 e1 00 80 00 00 0f 85
编辑:修复了尖括号的意外使用。