There's a timeout race in interp which is exposed when running under load.

Signed-off-by: Ross Burton <ross.bur...@arm.com>
---
 meta/recipes-devtools/tcltk/tcl/interp.patch | 32 ++++++++++++++++++++
 meta/recipes-devtools/tcltk/tcl_8.6.11.bb    |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 meta/recipes-devtools/tcltk/tcl/interp.patch

diff --git a/meta/recipes-devtools/tcltk/tcl/interp.patch 
b/meta/recipes-devtools/tcltk/tcl/interp.patch
new file mode 100644
index 0000000000..95d6318f64
--- /dev/null
+++ b/meta/recipes-devtools/tcltk/tcl/interp.patch
@@ -0,0 +1,32 @@
+The interp-36.7 patch has race conditions and is missing cleanup.  This patch 
by
+a Tcl maintainer should improve matters.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.bur...@arm.com>
+
+diff --git a/tests/interp.test b/tests/interp.test
+index d7424847f..fc90990f3 100644
+--- a/tests/interp.test
++++ b/tests/interp.test
+@@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of 
child [1999035]} -setup {
+         variable result
+         set result [lindex $args 0]
+     }
++    set tout [after 5000 {set result timeout}]
+ } -body {
+     child eval {
+         variable done {}
+         after 0 error foo
+-        after 10 [list ::set [namespace which -variable done] {}]
+-        vwait [namespace which -variable done]
+     }
++    vwait result
+     set result
+ } -cleanup {
++    after cancel $tout
+     variable result {}
+-    unset -nocomplain result
++    unset -nocomplain result tout
+     interp delete child
+ } -result foo
+ 
diff --git a/meta/recipes-devtools/tcltk/tcl_8.6.11.bb 
b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
index 0d7c2e4ac3..57a86e4c64 100644
--- a/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
+++ b/meta/recipes-devtools/tcltk/tcl_8.6.11.bb
@@ -22,6 +22,7 @@ SRC_URI = "${BASE_SRC_URI} \
            file://fix_issue_with_old_distro_glibc.patch \
            file://tcl-remove-hardcoded-install-path.patch \
            file://alter-includedir.patch \
+           file://interp.patch \
            file://run-ptest \
 "
 SRC_URI[sha256sum] = 
"cfb49aab82bd179651e23eeeb69606f51b0ddc575ca55c3d35e2457469024cfa"
-- 
2.25.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#153796): 
https://lists.openembedded.org/g/openembedded-core/message/153796
Mute This Topic: https://lists.openembedded.org/mt/84157597/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to