From fe6457980c96c235318aa0c3f6296ffc99e4cd40 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 29 Nov 2024 22:02:32 +0100 Subject: [PATCH 1/2] Skip sapi_windows_set_ctrl_handler.phpt under ASan For some reason, terminating the child process by sending CTRL+C won't work under ASan instrumentation. Since termination via CTRL+BREAK works, there is apparently nothing fundamentally wrong, so we just skip the test. --- sapi/cli/tests/sapi_windows_set_ctrl_handler.phpt | 1 + 1 file changed, 1 insertion(+) diff --git a/sapi/cli/tests/sapi_windows_set_ctrl_handler.phpt b/sapi/cli/tests/sapi_windows_set_ctrl_handler.phpt index 3d93a82733464..0faafc7908dc7 100644 --- a/sapi/cli/tests/sapi_windows_set_ctrl_handler.phpt +++ b/sapi/cli/tests/sapi_windows_set_ctrl_handler.phpt @@ -7,6 +7,7 @@ include "skipif.inc"; if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') die("skip this test is for Windows platforms only"); +if (getenv('SKIP_ASAN')) die('skip child process cannot be stopped under ASan'); ?> --FILE-- Date: Sat, 30 Nov 2024 10:46:35 +0100 Subject: [PATCH 2/2] xfail STATUS_BAD_FUNCTION_TABLE tests These look related to #15709, but apparently only fail with ASan instrumentation. Let's xfail these for now. --- Zend/tests/gh12073.phpt | 8 ++++++++ ext/standard/tests/gh14643_longname.phpt | 11 +++++++++++ tests/basic/timeout_variation_0.phpt | 8 ++++++++ tests/basic/timeout_variation_7.phpt | 8 ++++++++ tests/func/005a.phpt | 8 ++++++++ 5 files changed, 43 insertions(+) diff --git a/Zend/tests/gh12073.phpt b/Zend/tests/gh12073.phpt index ef115685ce7d4..efcbd9db3f1e2 100644 --- a/Zend/tests/gh12073.phpt +++ b/Zend/tests/gh12073.phpt @@ -5,6 +5,14 @@ GH-12073: Freeing of non-ZMM pointer of incompletely allocated closure if (getenv("USE_ZEND_ALLOC") === "0" && getenv("USE_TRACKED_ALLOC") !== "1") { die("skip Zend MM disabled"); } +$tracing = extension_loaded("Zend OPcache") + && ($conf = opcache_get_configuration()["directives"]) + && array_key_exists("opcache.jit", $conf) + && $conf["opcache.jit"] === "tracing"; +if (PHP_OS_FAMILY === "Windows" && PHP_INT_SIZE == 8 && $tracing && getenv('SKIP_ASAN')) { + $url = "https://github.com/php/php-src/issues/15709"; + die("xfail Test fails on Windows x64 (VS17) and tracing JIT with ASan; see $url"); +} ?> --FILE-- --FILE-- --FILE-- --FILE-- --FILE--